From 89dcb5710b9e7d87fed8af89080fcf6f6449d90f Mon Sep 17 00:00:00 2001 From: Jonas Platte Date: Sun, 10 May 2020 12:13:31 +0200 Subject: [PATCH] Add another test for sync_events request deserialization --- src/r0/sync/sync_events.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/r0/sync/sync_events.rs b/src/r0/sync/sync_events.rs index e90c6fd2..bb02b62e 100644 --- a/src/r0/sync/sync_events.rs +++ b/src/r0/sync/sync_events.rs @@ -421,4 +421,31 @@ mod tests { assert_eq!(req.set_presence, SetPresence::Online); assert_eq!(req.timeout, None); } + + #[test] + fn deserialize_some_query_params() { + let uri = http::Uri::builder() + .scheme("https") + .authority("matrix.org") + .path_and_query( + "/_matrix/client/r0/sync\ + ?filter=EOKFFmdZYF\ + &timeout=0", + ) + .build() + .unwrap(); + + let req: Request = http::Request::builder() + .uri(uri) + .body(Vec::::new()) + .unwrap() + .try_into() + .unwrap(); + + assert_matches!(req.filter, Some(Filter::FilterId(id)) if id == "EOKFFmdZYF"); + assert_eq!(req.since, None); + assert_eq!(req.full_state, false); + assert_eq!(req.set_presence, SetPresence::Online); + assert_eq!(req.timeout, Some(Duration::from_millis(0))); + } }