federation-api: Break up some large assert_matches! invocations
This commit is contained in:
parent
70ef702124
commit
8f054ba39c
@ -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()
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user