crypto: Test key querying.
parent
c057d6c6ad
commit
7b84f16bd3
|
@ -1248,6 +1248,27 @@ mod test {
|
||||||
keys::upload_keys::Response::try_from(data).expect("Can't parse the keys upload response")
|
keys::upload_keys::Response::try_from(data).expect("Can't parse the keys upload response")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn keys_query_response() -> keys::get_keys::Response {
|
||||||
|
let data = response_from_file("tests/data/keys_query.json");
|
||||||
|
keys::get_keys::Response::try_from(data).expect("Can't parse the keys upload response")
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn get_prepared_machine() -> OlmMachine {
|
||||||
|
let mut machine = OlmMachine::new(&user_id(), DEVICE_ID).unwrap();
|
||||||
|
machine.uploaded_signed_key_count = Some(0);
|
||||||
|
let (_, _) = machine
|
||||||
|
.keys_for_upload()
|
||||||
|
.await
|
||||||
|
.expect("Can't prepare initial key upload");
|
||||||
|
let response = keys_upload_response();
|
||||||
|
machine
|
||||||
|
.receive_keys_upload_response(&response)
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
machine
|
||||||
|
}
|
||||||
|
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn create_olm_machine() {
|
async fn create_olm_machine() {
|
||||||
let machine = OlmMachine::new(&user_id(), DEVICE_ID).unwrap();
|
let machine = OlmMachine::new(&user_id(), DEVICE_ID).unwrap();
|
||||||
|
@ -1414,4 +1435,29 @@ mod test {
|
||||||
let ret = machine.keys_for_upload().await;
|
let ret = machine.keys_for_upload().await;
|
||||||
assert!(ret.is_err());
|
assert!(ret.is_err());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[tokio::test]
|
||||||
|
async fn test_keys_query() {
|
||||||
|
let mut machine = get_prepared_machine().await;
|
||||||
|
let response = keys_query_response();
|
||||||
|
let alice_id = UserId::try_from("@alice:example.org").unwrap();
|
||||||
|
let alice_device_id = "JLAFKJWSCS".to_owned();
|
||||||
|
|
||||||
|
let alice_devices = machine.store.get_user_devices(&alice_id).await.unwrap();
|
||||||
|
assert!(alice_devices.devices().peekable().peek().is_none());
|
||||||
|
|
||||||
|
machine
|
||||||
|
.receive_keys_query_response(&response)
|
||||||
|
.await
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let device = machine
|
||||||
|
.store
|
||||||
|
.get_device(&alice_id, &alice_device_id)
|
||||||
|
.await
|
||||||
|
.unwrap()
|
||||||
|
.unwrap();
|
||||||
|
assert_eq!(device.user_id(), &alice_id);
|
||||||
|
assert_eq!(device.device_id(), &alice_device_id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue