diff --git a/src/chat/chat_tests.rs b/src/chat/chat_tests.rs index 5befc53cf..1be8cb46d 100644 --- a/src/chat/chat_tests.rs +++ b/src/chat/chat_tests.rs @@ -2731,27 +2731,24 @@ async fn test_broadcast_members_cant_see_each_other() -> Result<()> { join_securejoin(charlie, &qr).await.unwrap(); let request = charlie.pop_sent_msg().await; - assert_eq!(request.recipients, "alice@example.org charlie@example.net"); + assert_eq!(request.recipients, "alice@example.org"); alice.recv_msg_trash(&request).await; } - tcm.section("Alice sends auth-required"); + tcm.section("Alice sends vc-pubkey"); { - let auth_required = alice.pop_sent_msg().await; - assert_eq!( - auth_required.recipients, - "charlie@example.net alice@example.org" - ); - let parsed = charlie.parse_msg(&auth_required).await; + let vc_pubkey = alice.pop_sent_msg().await; + assert_eq!(vc_pubkey.recipients, "charlie@example.net"); + let parsed = charlie.parse_msg(&vc_pubkey).await; assert!(parsed.get_header(HeaderDef::AutocryptGossip).is_some()); assert!(parsed.decoded_data_contains("charlie@example.net")); assert_eq!(parsed.decoded_data_contains("bob@example.net"), false); - let parsed_by_bob = bob.parse_msg(&auth_required).await; + let parsed_by_bob = bob.parse_msg(&vc_pubkey).await; assert!(parsed_by_bob.decrypting_failed); - charlie.recv_msg_trash(&auth_required).await; + charlie.recv_msg_trash(&vc_pubkey).await; } tcm.section("Charlie sends request-with-auth"); @@ -2992,9 +2989,8 @@ async fn test_broadcast_recipients_sync1() -> Result<()> { alice1.recv_msg_trash(&request).await; alice2.recv_msg_trash(&request).await; - let auth_required = alice1.pop_sent_msg().await; - charlie.recv_msg_trash(&auth_required).await; - alice2.recv_msg_trash(&auth_required).await; + let vc_pubkey = alice1.pop_sent_msg().await; + charlie.recv_msg_trash(&vc_pubkey).await; let request_with_auth = charlie.pop_sent_msg().await; alice1.recv_msg_trash(&request_with_auth).await; @@ -3470,16 +3466,13 @@ async fn test_leave_broadcast_multidevice() -> Result<()> { join_securejoin(bob0, &qr).await.unwrap(); let request = bob0.pop_sent_msg().await; - assert_eq!(request.recipients, "alice@example.org bob@example.net"); + assert_eq!(request.recipients, "alice@example.org"); alice.recv_msg_trash(&request).await; - let auth_required = alice.pop_sent_msg().await; - assert_eq!( - auth_required.recipients, - "bob@example.net alice@example.org" - ); + let vc_pubkey = alice.pop_sent_msg().await; + assert_eq!(vc_pubkey.recipients, "bob@example.net"); - bob0.recv_msg_trash(&auth_required).await; + bob0.recv_msg_trash(&vc_pubkey).await; let request_with_auth = bob0.pop_sent_msg().await; assert_eq!( request_with_auth.recipients, @@ -3495,7 +3488,7 @@ async fn test_leave_broadcast_multidevice() -> Result<()> { assert_eq!(rcvd.param.get_cmd(), SystemMessage::MemberAddedToGroup); tcm.section("Bob's second device also receives these messages"); - bob1.recv_msg_trash(&auth_required).await; + bob1.recv_msg_trash(&vc_pubkey).await; bob1.recv_msg_trash(&request_with_auth).await; bob1.recv_msg(&member_added).await; diff --git a/src/securejoin/securejoin_tests.rs b/src/securejoin/securejoin_tests.rs index 6c309089e..18e2403bc 100644 --- a/src/securejoin/securejoin_tests.rs +++ b/src/securejoin/securejoin_tests.rs @@ -27,7 +27,7 @@ enum SetupContactCase { } #[tokio::test(flavor = "multi_thread", worker_threads = 2)] -async fn test_setup_contact() { +async fn test_setup_contact_basic() { test_setup_contact_ex(SetupContactCase::Normal).await } @@ -118,12 +118,15 @@ async fn test_setup_contact_ex(case: SetupContactCase) { assert!(!sent.payload.contains("Bob Examplenet")); assert_eq!(sent.recipient(), EmailAddress::new(alice_addr).unwrap()); let msg = alice.parse_msg(&sent).await; - assert!(!msg.was_encrypted()); - assert_eq!(msg.get_header(HeaderDef::SecureJoin).unwrap(), "vc-request"); - assert!(msg.get_header(HeaderDef::SecureJoinInvitenumber).is_some()); + assert!(msg.signature.is_none()); + assert_eq!( + msg.get_header(HeaderDef::SecureJoin).unwrap(), + "vc-request-pubkey" + ); + assert!(msg.get_header(HeaderDef::SecureJoinAuth).is_some()); assert!(!msg.header_exists(HeaderDef::AutoSubmitted)); - tcm.section("Step 3: Alice receives vc-request, sends vc-auth-required"); + tcm.section("Step 3: Alice receives vc-request-pubkey, sends vc-pubkey"); alice.recv_msg_trash(&sent).await; assert_eq!( Chatlist::try_load(&alice, 0, None, None) @@ -138,10 +141,7 @@ async fn test_setup_contact_ex(case: SetupContactCase) { assert!(!sent.payload.contains("Alice Exampleorg")); let msg = bob.parse_msg(&sent).await; assert!(msg.was_encrypted()); - assert_eq!( - msg.get_header(HeaderDef::SecureJoin).unwrap(), - "vc-auth-required" - ); + assert_eq!(msg.get_header(HeaderDef::SecureJoin).unwrap(), "vc-pubkey"); let bob_chat = bob.get_chat(&alice).await; assert_eq!(bob_chat.can_send(&bob).await.unwrap(), true); @@ -421,11 +421,12 @@ async fn test_setup_contact_concurrent_calls() -> Result<()> { assert!(!alice_id.is_special()); assert_eq!(chat.typ, Chattype::Single); assert_ne!(claire_id, alice_id); - assert!( + assert_eq!( bob.pop_sent_msg() .await .payload() - .contains("alice@example.org") + .contains("alice@example.org"), + false // Alice's address must not be sent in cleartext ); Ok(()) @@ -456,8 +457,11 @@ async fn test_secure_join() -> Result<()> { EmailAddress::new("alice@example.org").unwrap() ); let msg = alice.parse_msg(&sent).await; - assert!(!msg.was_encrypted()); - assert_eq!(msg.get_header(HeaderDef::SecureJoin).unwrap(), "vg-request"); + assert!(msg.signature.is_none()); + assert_eq!( + msg.get_header(HeaderDef::SecureJoin).unwrap(), + "vg-request-pubkey" + ); assert!(msg.get_header(HeaderDef::SecureJoinInvitenumber).is_some()); assert!(!msg.header_exists(HeaderDef::AutoSubmitted));