crypto: More SAS tests.
parent
1f0a96e31d
commit
2b78f05aad
|
@ -823,11 +823,11 @@ mod test {
|
||||||
|
|
||||||
use crate::{Account, Device};
|
use crate::{Account, Device};
|
||||||
use matrix_sdk_common::{
|
use matrix_sdk_common::{
|
||||||
events::{EventContent, ToDeviceEvent},
|
events::{key::verification::accept::AcceptMethod, EventContent, ToDeviceEvent},
|
||||||
identifiers::{DeviceId, UserId},
|
identifiers::{DeviceId, UserId},
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::{Accepted, Created, SasState, Started};
|
use super::{Accepted, Canceled, Created, SasState, Started};
|
||||||
|
|
||||||
fn alice_id() -> UserId {
|
fn alice_id() -> UserId {
|
||||||
UserId::try_from("@alice:example.org").unwrap()
|
UserId::try_from("@alice:example.org").unwrap()
|
||||||
|
@ -934,4 +934,39 @@ mod test {
|
||||||
assert!(bob.verified_devices().contains(&bob.other_device()));
|
assert!(bob.verified_devices().contains(&bob.other_device()));
|
||||||
assert!(alice.verified_devices().contains(&alice.other_device()));
|
assert!(alice.verified_devices().contains(&alice.other_device()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn sas_invalid_commitment() {
|
||||||
|
let (alice, bob) = get_sas_pair().await;
|
||||||
|
|
||||||
|
let mut event = wrap_to_device_event(bob.user_id(), bob.as_content());
|
||||||
|
|
||||||
|
match &mut event.content.method {
|
||||||
|
AcceptMethod::MSasV1(ref mut c) => {
|
||||||
|
c.commitment = "".to_string();
|
||||||
|
}
|
||||||
|
_ => panic!("Unknown accept event content"),
|
||||||
|
}
|
||||||
|
|
||||||
|
let alice: SasState<Accepted> = alice.into_accepted(&event).unwrap();
|
||||||
|
|
||||||
|
let mut event = wrap_to_device_event(alice.user_id(), alice.as_content());
|
||||||
|
let bob = bob.into_key_received(&mut event).unwrap();
|
||||||
|
let mut event = wrap_to_device_event(bob.user_id(), bob.as_content());
|
||||||
|
|
||||||
|
alice
|
||||||
|
.into_key_received(&mut event)
|
||||||
|
.expect_err("Didn't cancel on invalid commitment");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn sas_invalid_sender() {
|
||||||
|
let (alice, bob) = get_sas_pair().await;
|
||||||
|
|
||||||
|
let mut event = wrap_to_device_event(bob.user_id(), bob.as_content());
|
||||||
|
event.sender = UserId::try_from("@malory:example.org").unwrap();
|
||||||
|
alice
|
||||||
|
.into_accepted(&event)
|
||||||
|
.expect_err("Didn't cancel on a invalid sender");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue