diff --git a/src/test_utils.rs b/src/test_utils.rs index 28c4082c9..098c294e0 100644 --- a/src/test_utils.rs +++ b/src/test_utils.rs @@ -272,6 +272,7 @@ impl TestContextManager { /// Executes SecureJoin initiated by `joiner` /// scanning `qr` generated by one of the `inviters` devices. + /// `inviters` devices must have the same primary address. /// All of the `inviters` devices will get the messages and send replies. /// /// The [`ChatId`] of the created chat is returned, for a SetupContact QR this is the 1:1 @@ -283,8 +284,10 @@ impl TestContextManager { qr: &str, ) -> ChatId { assert!(joiner.pop_sent_msg_opt(Duration::ZERO).await.is_none()); + let inviter_addr = inviters[0].get_primary_self_addr().await.unwrap(); for inviter in inviters { assert!(inviter.pop_sent_msg_opt(Duration::ZERO).await.is_none()); + assert_eq!(inviter.get_primary_self_addr().await.unwrap(), inviter_addr); } let chat_id = join_securejoin(&joiner.ctx, qr).await.unwrap(); @@ -300,6 +303,14 @@ impl TestContextManager { } for inviter in inviters { if let Some(sent) = inviter.pop_sent_msg_ex(rev_order, Duration::ZERO).await { + if sent.recipients.split(' ').any(|addr| addr == inviter_addr) { + for observer in inviters { + // `imap::prefetch_should_download()` returns false on the sender side. + if observer.get_id() != inviter.get_id() { + observer.recv_msg_opt(&sent).await; + } + } + } joiner.recv_msg_opt(&sent).await; something_sent = true; } diff --git a/test-data/golden/test_sync_broadcast_alice1 b/test-data/golden/test_sync_broadcast_alice1 index 7d450fb71..23c767db5 100644 --- a/test-data/golden/test_sync_broadcast_alice1 +++ b/test-data/golden/test_sync_broadcast_alice1 @@ -2,6 +2,6 @@ OutBroadcast#Chat#1001: Channel [0 member(s)] -------------------------------------------------------------------------------- Msg#1001: info (Contact#Contact#Info): Messages are end-to-end encrypted. [NOTICED][INFO] Msg#1006🔒: Me (Contact#Contact#Self): Member bob@example.net added. [INFO] √ -Msg#1008🔒: Me (Contact#Contact#Self): hi √ -Msg#1009🔒: Me (Contact#Contact#Self): You removed member bob@example.net. [INFO] √ +Msg#1009🔒: Me (Contact#Contact#Self): hi √ +Msg#1010🔒: Me (Contact#Contact#Self): You removed member bob@example.net. [INFO] √ -------------------------------------------------------------------------------- diff --git a/test-data/golden/test_sync_broadcast_alice2 b/test-data/golden/test_sync_broadcast_alice2 index 6672cd38d..277f0f8e6 100644 --- a/test-data/golden/test_sync_broadcast_alice2 +++ b/test-data/golden/test_sync_broadcast_alice2 @@ -2,6 +2,6 @@ OutBroadcast#Chat#1001: Channel [0 member(s)] -------------------------------------------------------------------------------- Msg#1002: info (Contact#Contact#Info): Messages are end-to-end encrypted. [NOTICED][INFO] Msg#1006🔒: Me (Contact#Contact#Self): Member bob@example.net added. [INFO] √ -Msg#1008🔒: Me (Contact#Contact#Self): hi √ -Msg#1009🔒: Me (Contact#Contact#Self): You removed member bob@example.net. [INFO] √ +Msg#1009🔒: Me (Contact#Contact#Self): hi √ +Msg#1010🔒: Me (Contact#Contact#Self): You removed member bob@example.net. [INFO] √ --------------------------------------------------------------------------------