@@ -21,6 +21,29 @@ class DeviceStoreTestCase(HomeserverTestCase):
2121 def prepare (self , reactor , clock , hs ):
2222 self .store = hs .get_datastores ().main
2323
24+ def add_device_change (self , user_id , device_ids , host ):
25+ """Add a device list change for the given device to
26+ `device_lists_outbound_pokes` table.
27+ """
28+
29+ for device_id in device_ids :
30+ stream_id = self .get_success (
31+ self .store .add_device_change_to_streams (
32+ "user_id" , [device_id ], ["!some:room" ]
33+ )
34+ )
35+
36+ self .get_success (
37+ self .store .add_device_list_outbound_pokes (
38+ user_id = user_id ,
39+ device_id = device_id ,
40+ room_id = "!some:room" ,
41+ stream_id = stream_id ,
42+ hosts = [host ],
43+ context = {},
44+ )
45+ )
46+
2447 def test_store_new_device (self ):
2548 self .get_success (
2649 self .store .store_device ("user_id" , "device_id" , "display_name" )
@@ -95,11 +118,7 @@ def test_get_device_updates_by_remote(self):
95118 device_ids = ["device_id1" , "device_id2" ]
96119
97120 # Add two device updates with sequential `stream_id`s
98- self .get_success (
99- self .store .add_device_change_to_streams (
100- "user_id" , device_ids , ["somehost" ], ["!some:room" ]
101- )
102- )
121+ self .add_device_change ("user_id" , device_ids , "somehost" )
103122
104123 # Get all device updates ever meant for this remote
105124 now_stream_id , device_updates = self .get_success (
@@ -123,11 +142,7 @@ def test_get_device_updates_by_remote_can_limit_properly(self):
123142 "device_id4" ,
124143 "device_id5" ,
125144 ]
126- self .get_success (
127- self .store .add_device_change_to_streams (
128- "user_id" , device_ids , ["somehost" ], ["!some:room" ]
129- )
130- )
145+ self .add_device_change ("user_id" , device_ids , "somehost" )
131146
132147 # Get device updates meant for this remote
133148 next_stream_id , device_updates = self .get_success (
@@ -147,11 +162,7 @@ def test_get_device_updates_by_remote_can_limit_properly(self):
147162
148163 # Add some more device updates to ensure it still resumes properly
149164 device_ids = ["device_id6" , "device_id7" ]
150- self .get_success (
151- self .store .add_device_change_to_streams (
152- "user_id" , device_ids , ["somehost" ], ["!some:room" ]
153- )
154- )
165+ self .add_device_change ("user_id" , device_ids , "somehost" )
155166
156167 # Get the next batch of device updates
157168 next_stream_id , device_updates = self .get_success (
@@ -224,11 +235,7 @@ def test_get_device_updates_by_remote_cross_signing_key_updates(
224235 "fakeSelfSigning" ,
225236 ]
226237
227- self .get_success (
228- self .store .add_device_change_to_streams (
229- "@user_id:test" , device_ids , ["somehost" ], ["!some:room" ]
230- )
231- )
238+ self .add_device_change ("@user_id:test" , device_ids , "somehost" )
232239
233240 # Get device updates meant for this remote
234241 next_stream_id , device_updates = self .get_success (
0 commit comments