Skip to content

Commit e67e684

Browse files
committed
test: wait for joiner success in test_verified_group_[member_added]_recovery
If we wait for inviter success, vg-member-added message may be still in flight and reach ac2 after device resetup. Making ac2 wait for joining the group ensures that old device receives vg-member-added message and new device will not receive it and fail to decrypt. Other instances of wait_for_securejoin_inviter_success() in the same tests are also replaced for reliability.
1 parent 6cfe3e6 commit e67e684

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

deltachat-rpc-client/tests/test_securejoin.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -175,24 +175,24 @@ def test_verified_group_recovery(acfactory) -> None:
175175
logging.info("ac2 joins verified group")
176176
qr_code, _svg = chat.get_qr_code()
177177
ac2.secure_join(qr_code)
178-
ac1.wait_for_securejoin_inviter_success()
178+
ac2.wait_for_securejoin_joiner_success()
179179

180180
# ac1 has ac2 directly verified.
181181
ac1_contact_ac2 = ac1.get_contact_by_addr(ac2.get_config("addr"))
182182
assert ac1_contact_ac2.get_snapshot().verifier_id == SpecialContactId.SELF
183183

184184
logging.info("ac3 joins verified group")
185185
ac3_chat = ac3.secure_join(qr_code)
186-
ac1.wait_for_securejoin_inviter_success()
186+
ac3.wait_for_securejoin_joiner_success()
187+
ac3.wait_for_incoming_msg_event() # Member added
187188

188189
logging.info("ac2 logs in on a new device")
189190
ac2 = acfactory.resetup_account(ac2)
190191

191192
logging.info("ac2 reverifies with ac3")
192193
qr_code, _svg = ac3.get_qr_code()
193194
ac2.secure_join(qr_code)
194-
195-
ac3.wait_for_securejoin_inviter_success()
195+
ac2.wait_for_securejoin_joiner_success()
196196

197197
logging.info("ac3 sends a message to the group")
198198
assert len(ac3_chat.get_contacts()) == 3
@@ -239,24 +239,24 @@ def test_verified_group_member_added_recovery(acfactory) -> None:
239239
logging.info("ac2 joins verified group")
240240
qr_code, _svg = chat.get_qr_code()
241241
ac2.secure_join(qr_code)
242-
ac1.wait_for_securejoin_inviter_success()
242+
ac2.wait_for_securejoin_joiner_success()
243243

244244
# ac1 has ac2 directly verified.
245245
ac1_contact_ac2 = ac1.get_contact_by_addr(ac2.get_config("addr"))
246246
assert ac1_contact_ac2.get_snapshot().verifier_id == SpecialContactId.SELF
247247

248248
logging.info("ac3 joins verified group")
249249
ac3_chat = ac3.secure_join(qr_code)
250-
ac1.wait_for_securejoin_inviter_success()
250+
ac3.wait_for_securejoin_joiner_success()
251+
ac3.wait_for_incoming_msg_event() # Member added
251252

252253
logging.info("ac2 logs in on a new device")
253254
ac2 = acfactory.resetup_account(ac2)
254255

255256
logging.info("ac2 reverifies with ac3")
256257
qr_code, _svg = ac3.get_qr_code()
257258
ac2.secure_join(qr_code)
258-
259-
ac3.wait_for_securejoin_inviter_success()
259+
ac2.wait_for_securejoin_joiner_success()
260260

261261
logging.info("ac3 sends a message to the group")
262262
assert len(ac3_chat.get_contacts()) == 3

0 commit comments

Comments
 (0)