Add a test for sync_events::Request serialization
This commit is contained in:
parent
ea9b752da9
commit
09ac2404de
@ -328,3 +328,33 @@ pub struct DeviceLists {
|
|||||||
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
#[serde(default, skip_serializing_if = "Vec::is_empty")]
|
||||||
pub left: Vec<String>,
|
pub left: Vec<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use std::{convert::TryInto, time::Duration};
|
||||||
|
|
||||||
|
use super::{Filter, Request, SetPresence};
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn serialize_sync_request() {
|
||||||
|
let req: http::Request<Vec<u8>> = Request {
|
||||||
|
filter: Some(Filter::FilterId("66696p746572".into())),
|
||||||
|
since: Some("s72594_4483_1934".into()),
|
||||||
|
full_state: true,
|
||||||
|
set_presence: SetPresence::Offline,
|
||||||
|
timeout: Some(Duration::from_millis(30000)),
|
||||||
|
}
|
||||||
|
.try_into()
|
||||||
|
.unwrap();
|
||||||
|
|
||||||
|
let uri = req.uri();
|
||||||
|
let query = uri.query().unwrap();
|
||||||
|
|
||||||
|
assert_eq!(uri.path(), "/_matrix/client/r0/sync");
|
||||||
|
assert!(query.contains("filter=66696p746572"));
|
||||||
|
assert!(query.contains("since=s72594_4483_1934"));
|
||||||
|
assert!(query.contains("full_state=true"));
|
||||||
|
assert!(query.contains("set_presence=offline"));
|
||||||
|
assert!(query.contains("timeout=30000"))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user