federation-api: Break up some large assert_matches! invocations

This commit is contained in:
Jonas Platte 2022-03-26 09:16:42 +01:00
parent 70ef702124
commit 8f054ba39c
No known key found for this signature in database
GPG Key ID: BBA95679259D342F
2 changed files with 48 additions and 53 deletions

View File

@ -70,7 +70,6 @@ where
#[cfg(not(feature = "unstable-pre-spec"))] #[cfg(not(feature = "unstable-pre-spec"))]
#[cfg(test)] #[cfg(test)]
mod tests { mod tests {
use matches::assert_matches;
use serde_json::{json, to_value as to_json_value}; use serde_json::{json, to_value as to_json_value};
use super::{deserialize, serialize}; use super::{deserialize, serialize};
@ -87,15 +86,10 @@ mod tests {
} }
]); ]);
let parsed = deserialize(response).unwrap(); let RoomState { origin, auth_chain, state } = deserialize(response).unwrap();
assert_eq!(origin, "example.com");
assert_matches!( assert_eq!(auth_chain, vec![]);
parsed, assert_eq!(state, vec![]);
RoomState { origin, auth_chain, state }
if origin == "example.com"
&& auth_chain.is_empty()
&& state.is_empty()
);
} }
#[test] #[test]
@ -147,12 +141,9 @@ mod tests {
#[test] #[test]
fn too_long_array() { fn too_long_array() {
let json = json!([200, { "origin": "", "auth_chain": [], "state": [] }, 200]); let json = json!([200, { "origin": "", "auth_chain": [], "state": [] }, 200]);
assert_matches!( let RoomState { origin, auth_chain, state } = deserialize(json).unwrap();
deserialize(json).unwrap(), assert_eq!(origin, "");
RoomState { origin, auth_chain, state } assert_eq!(auth_chain, vec![]);
if origin.is_empty() assert_eq!(state, vec![]);
&& auth_chain.is_empty()
&& state.is_empty()
);
} }
} }

View File

@ -356,24 +356,26 @@ mod test {
}); });
let edu = serde_json::from_value::<Edu>(json.clone()).unwrap(); let edu = serde_json::from_value::<Edu>(json.clone()).unwrap();
assert_matches!( let DeviceListUpdateContent {
&edu,
Edu::DeviceListUpdate(DeviceListUpdateContent {
user_id, user_id,
device_id, device_id,
device_display_name, device_display_name,
stream_id, stream_id,
prev_id, prev_id,
deleted, deleted,
keys keys,
}) if user_id == "@john:example.com" } = match &edu {
&& device_id == "QBUAZIFURK" Edu::DeviceListUpdate(u) => u,
&& device_display_name.as_deref() == Some("Mobile") _ => panic!("Unexpected Edu variant: {:#?}", edu),
&& *stream_id == uint!(6) };
&& prev_id.is_empty()
&& *deleted == Some(false) assert_eq!(user_id, "@john:example.com");
&& keys.is_some() assert_eq!(device_id, "QBUAZIFURK");
); assert_eq!(device_display_name.as_deref(), Some("Mobile"));
assert_eq!(*stream_id, uint!(6));
assert_eq!(*prev_id, vec![]);
assert_eq!(*deleted, Some(false));
assert_matches!(keys, Some(_));
assert_eq!(serde_json::to_value(&edu).unwrap(), json); assert_eq!(serde_json::to_value(&edu).unwrap(), json);
} }
@ -390,24 +392,26 @@ mod test {
}); });
let edu = serde_json::from_value::<Edu>(json.clone()).unwrap(); let edu = serde_json::from_value::<Edu>(json.clone()).unwrap();
assert_matches!( let DeviceListUpdateContent {
&edu,
Edu::DeviceListUpdate(DeviceListUpdateContent {
user_id, user_id,
device_id, device_id,
device_display_name, device_display_name,
stream_id, stream_id,
prev_id, prev_id,
deleted, deleted,
keys keys,
}) if user_id == "@john:example.com" } = match &edu {
&& device_id == "QBUAZIFURK" Edu::DeviceListUpdate(u) => u,
&& device_display_name.is_none() _ => panic!("Unexpected Edu variant: {:#?}", edu),
&& *stream_id == uint!(6) };
&& prev_id.is_empty()
&& deleted.is_none() assert_eq!(user_id, "@john:example.com");
&& keys.is_none() assert_eq!(device_id, "QBUAZIFURK");
); assert_eq!(*device_display_name, None);
assert_eq!(*stream_id, uint!(6));
assert_eq!(*prev_id, vec![]);
assert_eq!(*deleted, None);
assert_matches!(keys, None);
assert_eq!(serde_json::to_value(&edu).unwrap(), json); assert_eq!(serde_json::to_value(&edu).unwrap(), json);
} }