2424)
2525from synapse .logging .context import make_deferred_yieldable
2626from synapse .server import HomeServer
27+ from synapse .types import DeviceLists
2728from synapse .util import Clock
2829
2930from tests import unittest
@@ -63,13 +64,15 @@ def test_single_service_up_txn_sent(self):
6364 # actual call
6465 self .successResultOf (defer .ensureDeferred (self .txnctrl .send (service , events )))
6566
67+ # txn made and saved
6668 self .store .create_appservice_txn .assert_called_once_with (
6769 service = service ,
6870 events = events ,
6971 ephemeral = [],
7072 to_device_messages = [], # txn made and saved
7173 one_time_key_counts = {},
7274 unused_fallback_keys = {},
75+ device_list_summary = DeviceLists (),
7376 )
7477 self .assertEqual (0 , len (self .txnctrl .recoverers )) # no recoverer made
7578 txn .complete .assert_called_once_with (self .store ) # txn completed
@@ -89,13 +92,15 @@ def test_single_service_down(self):
8992 # actual call
9093 self .successResultOf (defer .ensureDeferred (self .txnctrl .send (service , events )))
9194
95+ # txn made and saved
9296 self .store .create_appservice_txn .assert_called_once_with (
9397 service = service ,
9498 events = events ,
9599 ephemeral = [],
96100 to_device_messages = [], # txn made and saved
97101 one_time_key_counts = {},
98102 unused_fallback_keys = {},
103+ device_list_summary = DeviceLists (),
99104 )
100105 self .assertEqual (0 , txn .send .call_count ) # txn not sent though
101106 self .assertEqual (0 , txn .complete .call_count ) # or completed
@@ -124,6 +129,7 @@ def test_single_service_up_txn_not_sent(self):
124129 to_device_messages = [],
125130 one_time_key_counts = {},
126131 unused_fallback_keys = {},
132+ device_list_summary = DeviceLists (),
127133 )
128134 self .assertEqual (1 , self .recoverer_fn .call_count ) # recoverer made
129135 self .assertEqual (1 , self .recoverer .recover .call_count ) # and invoked
@@ -225,7 +231,9 @@ def test_send_single_event_no_queue(self):
225231 service = Mock (id = 4 )
226232 event = Mock ()
227233 self .scheduler .enqueue_for_appservice (service , events = [event ])
228- self .txn_ctrl .send .assert_called_once_with (service , [event ], [], [], None , None )
234+ self .txn_ctrl .send .assert_called_once_with (
235+ service , [event ], [], [], None , None , DeviceLists ()
236+ )
229237
230238 def test_send_single_event_with_queue (self ):
231239 d = defer .Deferred ()
@@ -240,12 +248,12 @@ def test_send_single_event_with_queue(self):
240248 # (call enqueue_for_appservice multiple times deliberately)
241249 self .scheduler .enqueue_for_appservice (service , events = [event2 ])
242250 self .scheduler .enqueue_for_appservice (service , events = [event3 ])
243- self .txn_ctrl .send .assert_called_with (service , [event ], [], [], None , None )
251+ self .txn_ctrl .send .assert_called_with (service , [event ], [], [], None , None , DeviceLists () )
244252 self .assertEqual (1 , self .txn_ctrl .send .call_count )
245253 # Resolve the send event: expect the queued events to be sent
246254 d .callback (service )
247255 self .txn_ctrl .send .assert_called_with (
248- service , [event2 , event3 ], [], [], None , None
256+ service , [event2 , event3 ], [], [], None , None , DeviceLists ()
249257 )
250258 self .assertEqual (2 , self .txn_ctrl .send .call_count )
251259
@@ -272,15 +280,21 @@ def do_send(*args, **kwargs):
272280 # send events for different ASes and make sure they are sent
273281 self .scheduler .enqueue_for_appservice (srv1 , events = [srv_1_event ])
274282 self .scheduler .enqueue_for_appservice (srv1 , events = [srv_1_event2 ])
275- self .txn_ctrl .send .assert_called_with (srv1 , [srv_1_event ], [], [], None , None )
283+ self .txn_ctrl .send .assert_called_with (
284+ srv1 , [srv_1_event ], [], [], None , None , DeviceLists ()
285+ )
276286 self .scheduler .enqueue_for_appservice (srv2 , events = [srv_2_event ])
277287 self .scheduler .enqueue_for_appservice (srv2 , events = [srv_2_event2 ])
278- self .txn_ctrl .send .assert_called_with (srv2 , [srv_2_event ], [], [], None , None )
288+ self .txn_ctrl .send .assert_called_with (
289+ srv2 , [srv_2_event ], [], [], None , None , DeviceLists ()
290+ )
279291
280292 # make sure callbacks for a service only send queued events for THAT
281293 # service
282294 srv_2_defer .callback (srv2 )
283- self .txn_ctrl .send .assert_called_with (srv2 , [srv_2_event2 ], [], [], None , None )
295+ self .txn_ctrl .send .assert_called_with (
296+ srv2 , [srv_2_event2 ], [], [], None , None , DeviceLists ()
297+ )
284298 self .assertEqual (3 , self .txn_ctrl .send .call_count )
285299
286300 def test_send_large_txns (self ):
@@ -300,17 +314,17 @@ def do_send(*args, **kwargs):
300314
301315 # Expect the first event to be sent immediately.
302316 self .txn_ctrl .send .assert_called_with (
303- service , [event_list [0 ]], [], [], None , None
317+ service , [event_list [0 ]], [], [], None , None , DeviceLists ()
304318 )
305319 srv_1_defer .callback (service )
306320 # Then send the next 100 events
307321 self .txn_ctrl .send .assert_called_with (
308- service , event_list [1 :101 ], [], [], None , None
322+ service , event_list [1 :101 ], [], [], None , None , DeviceLists ()
309323 )
310324 srv_2_defer .callback (service )
311325 # Then the final 99 events
312326 self .txn_ctrl .send .assert_called_with (
313- service , event_list [101 :], [], [], None , None
327+ service , event_list [101 :], [], [], None , None , DeviceLists ()
314328 )
315329 self .assertEqual (3 , self .txn_ctrl .send .call_count )
316330
@@ -320,7 +334,7 @@ def test_send_single_ephemeral_no_queue(self):
320334 event_list = [Mock (name = "event" )]
321335 self .scheduler .enqueue_for_appservice (service , ephemeral = event_list )
322336 self .txn_ctrl .send .assert_called_once_with (
323- service , [], event_list , [], None , None
337+ service , [], event_list , [], None , None , DeviceLists ()
324338 )
325339
326340 def test_send_multiple_ephemeral_no_queue (self ):
@@ -329,7 +343,7 @@ def test_send_multiple_ephemeral_no_queue(self):
329343 event_list = [Mock (name = "event1" ), Mock (name = "event2" ), Mock (name = "event3" )]
330344 self .scheduler .enqueue_for_appservice (service , ephemeral = event_list )
331345 self .txn_ctrl .send .assert_called_once_with (
332- service , [], event_list , [], None , None
346+ service , [], event_list , [], None , None , DeviceLists ()
333347 )
334348
335349 def test_send_single_ephemeral_with_queue (self ):
@@ -345,13 +359,15 @@ def test_send_single_ephemeral_with_queue(self):
345359 # Send more events: expect send() to NOT be called multiple times.
346360 self .scheduler .enqueue_for_appservice (service , ephemeral = event_list_2 )
347361 self .scheduler .enqueue_for_appservice (service , ephemeral = event_list_3 )
348- self .txn_ctrl .send .assert_called_with (service , [], event_list_1 , [], None , None )
362+ self .txn_ctrl .send .assert_called_with (
363+ service , [], event_list_1 , [], None , None , DeviceLists ()
364+ )
349365 self .assertEqual (1 , self .txn_ctrl .send .call_count )
350366 # Resolve txn_ctrl.send
351367 d .callback (service )
352368 # Expect the queued events to be sent
353369 self .txn_ctrl .send .assert_called_with (
354- service , [], event_list_2 + event_list_3 , [], None , None
370+ service , [], event_list_2 + event_list_3 , [], None , None , DeviceLists ()
355371 )
356372 self .assertEqual (2 , self .txn_ctrl .send .call_count )
357373
@@ -365,8 +381,10 @@ def test_send_large_txns_ephemeral(self):
365381 event_list = first_chunk + second_chunk
366382 self .scheduler .enqueue_for_appservice (service , ephemeral = event_list )
367383 self .txn_ctrl .send .assert_called_once_with (
368- service , [], first_chunk , [], None , None
384+ service , [], first_chunk , [], None , None , DeviceLists ()
369385 )
370386 d .callback (service )
371- self .txn_ctrl .send .assert_called_with (service , [], second_chunk , [], None , None )
387+ self .txn_ctrl .send .assert_called_with (
388+ service , [], second_chunk , [], None , None , DeviceLists ()
389+ )
372390 self .assertEqual (2 , self .txn_ctrl .send .call_count )
0 commit comments