@@ -21,6 +21,29 @@ class DeviceStoreTestCase(HomeserverTestCase):
21
21
def prepare (self , reactor , clock , hs ):
22
22
self .store = hs .get_datastores ().main
23
23
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
+
24
47
def test_store_new_device (self ):
25
48
self .get_success (
26
49
self .store .store_device ("user_id" , "device_id" , "display_name" )
@@ -95,11 +118,7 @@ def test_get_device_updates_by_remote(self):
95
118
device_ids = ["device_id1" , "device_id2" ]
96
119
97
120
# 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" )
103
122
104
123
# Get all device updates ever meant for this remote
105
124
now_stream_id , device_updates = self .get_success (
@@ -123,11 +142,7 @@ def test_get_device_updates_by_remote_can_limit_properly(self):
123
142
"device_id4" ,
124
143
"device_id5" ,
125
144
]
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" )
131
146
132
147
# Get device updates meant for this remote
133
148
next_stream_id , device_updates = self .get_success (
@@ -147,11 +162,7 @@ def test_get_device_updates_by_remote_can_limit_properly(self):
147
162
148
163
# Add some more device updates to ensure it still resumes properly
149
164
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" )
155
166
156
167
# Get the next batch of device updates
157
168
next_stream_id , device_updates = self .get_success (
@@ -224,11 +235,7 @@ def test_get_device_updates_by_remote_cross_signing_key_updates(
224
235
"fakeSelfSigning" ,
225
236
]
226
237
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" )
232
239
233
240
# Get device updates meant for this remote
234
241
next_stream_id , device_updates = self .get_success (
0 commit comments