mirror of
https://github.com/chatmail/core.git
synced 2026-05-08 17:36:29 +03:00
Adapt some tests
This commit is contained in:
@@ -2731,27 +2731,24 @@ async fn test_broadcast_members_cant_see_each_other() -> Result<()> {
|
|||||||
join_securejoin(charlie, &qr).await.unwrap();
|
join_securejoin(charlie, &qr).await.unwrap();
|
||||||
|
|
||||||
let request = charlie.pop_sent_msg().await;
|
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;
|
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;
|
let vc_pubkey = alice.pop_sent_msg().await;
|
||||||
assert_eq!(
|
assert_eq!(vc_pubkey.recipients, "charlie@example.net");
|
||||||
auth_required.recipients,
|
let parsed = charlie.parse_msg(&vc_pubkey).await;
|
||||||
"charlie@example.net alice@example.org"
|
|
||||||
);
|
|
||||||
let parsed = charlie.parse_msg(&auth_required).await;
|
|
||||||
assert!(parsed.get_header(HeaderDef::AutocryptGossip).is_some());
|
assert!(parsed.get_header(HeaderDef::AutocryptGossip).is_some());
|
||||||
assert!(parsed.decoded_data_contains("charlie@example.net"));
|
assert!(parsed.decoded_data_contains("charlie@example.net"));
|
||||||
assert_eq!(parsed.decoded_data_contains("bob@example.net"), false);
|
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);
|
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");
|
tcm.section("Charlie sends request-with-auth");
|
||||||
@@ -2992,9 +2989,8 @@ async fn test_broadcast_recipients_sync1() -> Result<()> {
|
|||||||
alice1.recv_msg_trash(&request).await;
|
alice1.recv_msg_trash(&request).await;
|
||||||
alice2.recv_msg_trash(&request).await;
|
alice2.recv_msg_trash(&request).await;
|
||||||
|
|
||||||
let auth_required = alice1.pop_sent_msg().await;
|
let vc_pubkey = alice1.pop_sent_msg().await;
|
||||||
charlie.recv_msg_trash(&auth_required).await;
|
charlie.recv_msg_trash(&vc_pubkey).await;
|
||||||
alice2.recv_msg_trash(&auth_required).await;
|
|
||||||
|
|
||||||
let request_with_auth = charlie.pop_sent_msg().await;
|
let request_with_auth = charlie.pop_sent_msg().await;
|
||||||
alice1.recv_msg_trash(&request_with_auth).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();
|
join_securejoin(bob0, &qr).await.unwrap();
|
||||||
|
|
||||||
let request = bob0.pop_sent_msg().await;
|
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;
|
alice.recv_msg_trash(&request).await;
|
||||||
let auth_required = alice.pop_sent_msg().await;
|
let vc_pubkey = alice.pop_sent_msg().await;
|
||||||
assert_eq!(
|
assert_eq!(vc_pubkey.recipients, "bob@example.net");
|
||||||
auth_required.recipients,
|
|
||||||
"bob@example.net alice@example.org"
|
|
||||||
);
|
|
||||||
|
|
||||||
bob0.recv_msg_trash(&auth_required).await;
|
bob0.recv_msg_trash(&vc_pubkey).await;
|
||||||
let request_with_auth = bob0.pop_sent_msg().await;
|
let request_with_auth = bob0.pop_sent_msg().await;
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
request_with_auth.recipients,
|
request_with_auth.recipients,
|
||||||
@@ -3495,7 +3488,7 @@ async fn test_leave_broadcast_multidevice() -> Result<()> {
|
|||||||
assert_eq!(rcvd.param.get_cmd(), SystemMessage::MemberAddedToGroup);
|
assert_eq!(rcvd.param.get_cmd(), SystemMessage::MemberAddedToGroup);
|
||||||
|
|
||||||
tcm.section("Bob's second device also receives these messages");
|
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_trash(&request_with_auth).await;
|
||||||
bob1.recv_msg(&member_added).await;
|
bob1.recv_msg(&member_added).await;
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ enum SetupContactCase {
|
|||||||
}
|
}
|
||||||
|
|
||||||
#[tokio::test(flavor = "multi_thread", worker_threads = 2)]
|
#[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
|
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!(!sent.payload.contains("Bob Examplenet"));
|
||||||
assert_eq!(sent.recipient(), EmailAddress::new(alice_addr).unwrap());
|
assert_eq!(sent.recipient(), EmailAddress::new(alice_addr).unwrap());
|
||||||
let msg = alice.parse_msg(&sent).await;
|
let msg = alice.parse_msg(&sent).await;
|
||||||
assert!(!msg.was_encrypted());
|
assert!(msg.signature.is_none());
|
||||||
assert_eq!(msg.get_header(HeaderDef::SecureJoin).unwrap(), "vc-request");
|
assert_eq!(
|
||||||
assert!(msg.get_header(HeaderDef::SecureJoinInvitenumber).is_some());
|
msg.get_header(HeaderDef::SecureJoin).unwrap(),
|
||||||
|
"vc-request-pubkey"
|
||||||
|
);
|
||||||
|
assert!(msg.get_header(HeaderDef::SecureJoinAuth).is_some());
|
||||||
assert!(!msg.header_exists(HeaderDef::AutoSubmitted));
|
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;
|
alice.recv_msg_trash(&sent).await;
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
Chatlist::try_load(&alice, 0, None, None)
|
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"));
|
assert!(!sent.payload.contains("Alice Exampleorg"));
|
||||||
let msg = bob.parse_msg(&sent).await;
|
let msg = bob.parse_msg(&sent).await;
|
||||||
assert!(msg.was_encrypted());
|
assert!(msg.was_encrypted());
|
||||||
assert_eq!(
|
assert_eq!(msg.get_header(HeaderDef::SecureJoin).unwrap(), "vc-pubkey");
|
||||||
msg.get_header(HeaderDef::SecureJoin).unwrap(),
|
|
||||||
"vc-auth-required"
|
|
||||||
);
|
|
||||||
|
|
||||||
let bob_chat = bob.get_chat(&alice).await;
|
let bob_chat = bob.get_chat(&alice).await;
|
||||||
assert_eq!(bob_chat.can_send(&bob).await.unwrap(), true);
|
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!(!alice_id.is_special());
|
||||||
assert_eq!(chat.typ, Chattype::Single);
|
assert_eq!(chat.typ, Chattype::Single);
|
||||||
assert_ne!(claire_id, alice_id);
|
assert_ne!(claire_id, alice_id);
|
||||||
assert!(
|
assert_eq!(
|
||||||
bob.pop_sent_msg()
|
bob.pop_sent_msg()
|
||||||
.await
|
.await
|
||||||
.payload()
|
.payload()
|
||||||
.contains("alice@example.org")
|
.contains("alice@example.org"),
|
||||||
|
false // Alice's address must not be sent in cleartext
|
||||||
);
|
);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
@@ -456,8 +457,11 @@ async fn test_secure_join() -> Result<()> {
|
|||||||
EmailAddress::new("alice@example.org").unwrap()
|
EmailAddress::new("alice@example.org").unwrap()
|
||||||
);
|
);
|
||||||
let msg = alice.parse_msg(&sent).await;
|
let msg = alice.parse_msg(&sent).await;
|
||||||
assert!(!msg.was_encrypted());
|
assert!(msg.signature.is_none());
|
||||||
assert_eq!(msg.get_header(HeaderDef::SecureJoin).unwrap(), "vg-request");
|
assert_eq!(
|
||||||
|
msg.get_header(HeaderDef::SecureJoin).unwrap(),
|
||||||
|
"vg-request-pubkey"
|
||||||
|
);
|
||||||
assert!(msg.get_header(HeaderDef::SecureJoinInvitenumber).is_some());
|
assert!(msg.get_header(HeaderDef::SecureJoinInvitenumber).is_some());
|
||||||
assert!(!msg.header_exists(HeaderDef::AutoSubmitted));
|
assert!(!msg.header_exists(HeaderDef::AutoSubmitted));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user