Skip to content

Commit e638677

Browse files
committed
refactor(tests): Re-use send_and_receive_encrypted_to_device_test_helper in 2 more tests
1 parent c3c6025 commit e638677

File tree

1 file changed

+15
-84
lines changed

1 file changed

+15
-84
lines changed

crates/matrix-sdk-crypto/src/machine/tests/send_encrypted_to_device.rs

Lines changed: 15 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -51,61 +51,21 @@ async fn test_send_encrypted_to_device() {
5151
"rooms": ["!726s6s6q:example.com"]
5252
});
5353

54-
let device = alice.get_device(bob.user_id(), bob.device_id(), None).await.unwrap().unwrap();
55-
let raw_encrypted = device
56-
.encrypt_event_raw(custom_event_type, &custom_content)
57-
.await
58-
.expect("Should have encrypted the content");
59-
60-
let request = ToDeviceRequest::new(
61-
bob.user_id(),
62-
DeviceIdOrAllDevices::DeviceId(tests::bob_device_id().to_owned()),
63-
"m.room.encrypted",
64-
raw_encrypted.cast(),
65-
);
66-
67-
assert_eq!("m.room.encrypted", request.event_type.to_string());
68-
69-
let messages = &request.messages;
70-
assert_eq!(1, messages.len());
71-
assert!(messages.get(bob.user_id()).is_some());
72-
let target_devices = messages.get(bob.user_id()).unwrap();
73-
assert_eq!(1, target_devices.len());
74-
assert!(target_devices
75-
.get(&DeviceIdOrAllDevices::DeviceId(tests::bob_device_id().to_owned()))
76-
.is_some());
77-
78-
let event = ToDeviceEvent::new(
79-
alice.user_id().to_owned(),
80-
tests::to_device_requests_to_content(vec![request.clone().into()]),
81-
);
82-
83-
let event = json_convert(&event).unwrap();
84-
85-
let sync_changes = EncryptionSyncChanges {
86-
to_device_events: vec![event],
87-
changed_devices: &Default::default(),
88-
one_time_keys_counts: &Default::default(),
89-
unused_fallback_keys: None,
90-
next_batch_token: None,
91-
};
92-
93-
let decryption_settings =
94-
DecryptionSettings { sender_device_trust_requirement: TrustRequirement::Untrusted };
95-
96-
let (decrypted, _) =
97-
bob.receive_sync_changes(sync_changes, &decryption_settings).await.unwrap();
98-
99-
assert_eq!(1, decrypted.len());
100-
let processed_event = &decrypted[0];
54+
let processed_event = send_and_receive_encrypted_to_device_test_helper(
55+
&alice,
56+
&bob,
57+
custom_event_type,
58+
&custom_content,
59+
)
60+
.await;
10161

10262
assert_let!(ProcessedToDeviceEvent::Decrypted { raw, encryption_info } = processed_event);
10363

10464
let decrypted_event = raw.deserialize().unwrap();
10565

10666
assert_eq!(decrypted_event.event_type().to_string(), custom_event_type.to_owned());
10767

108-
let decrypted_value = to_raw_value(&decrypted[0].to_raw()).unwrap();
68+
let decrypted_value = to_raw_value(&raw).unwrap();
10969
let decrypted_value = serde_json::to_value(decrypted_value).unwrap();
11070

11171
assert_eq!(
@@ -164,42 +124,13 @@ async fn test_receive_custom_encrypted_to_device_fails_if_device_unknown() {
164124
"rooms": ["!726s6s6q:example.com"]
165125
});
166126

167-
let device = alice.get_device(bob.user_id(), bob.device_id(), None).await.unwrap().unwrap();
168-
let raw_encrypted = device
169-
.encrypt_event_raw(custom_event_type, &custom_content)
170-
.await
171-
.expect("Should have encrypted the content");
172-
173-
let request = ToDeviceRequest::new(
174-
bob.user_id(),
175-
DeviceIdOrAllDevices::DeviceId(tests::bob_device_id().to_owned()),
176-
"m.room.encrypted",
177-
raw_encrypted.cast(),
178-
);
179-
180-
let event = ToDeviceEvent::new(
181-
alice.user_id().to_owned(),
182-
tests::to_device_requests_to_content(vec![request.clone().into()]),
183-
);
184-
185-
let event = json_convert(&event).unwrap();
186-
187-
let sync_changes = EncryptionSyncChanges {
188-
to_device_events: vec![event],
189-
changed_devices: &Default::default(),
190-
one_time_keys_counts: &Default::default(),
191-
unused_fallback_keys: None,
192-
next_batch_token: None,
193-
};
194-
195-
let decryption_settings =
196-
DecryptionSettings { sender_device_trust_requirement: TrustRequirement::Untrusted };
197-
198-
let (decrypted, _) =
199-
bob.receive_sync_changes(sync_changes, &decryption_settings).await.unwrap();
200-
201-
assert_eq!(1, decrypted.len());
202-
let processed_event = &decrypted[0];
127+
let processed_event = send_and_receive_encrypted_to_device_test_helper(
128+
&alice,
129+
&bob,
130+
custom_event_type,
131+
&custom_content,
132+
)
133+
.await;
203134

204135
assert_let!(ProcessedToDeviceEvent::UnableToDecrypt(_) = processed_event);
205136
}

0 commit comments

Comments
 (0)