From a6303d041b939551ac789b22c42b13718fefa189 Mon Sep 17 00:00:00 2001 From: Devin R Date: Sat, 23 May 2020 06:38:55 -0400 Subject: [PATCH] async_client: add test for read_marker endpoint --- matrix_sdk/src/client.rs | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/matrix_sdk/src/client.rs b/matrix_sdk/src/client.rs index 9e6c1cdf..ca05d4af 100644 --- a/matrix_sdk/src/client.rs +++ b/matrix_sdk/src/client.rs @@ -1255,7 +1255,7 @@ impl Client { mod test { use super::{ ban_user, create_receipt, create_typing_event, forget_room, invite_user, kick_user, - leave_room, Invite3pid, MessageEventContent, + leave_room, set_read_marker, Invite3pid, MessageEventContent, }; use super::{Client, ClientConfig, Session, SyncSettings, Url}; use crate::events::collections::all::RoomEvent; @@ -1747,6 +1747,42 @@ mod test { } } + #[tokio::test] + #[allow(irrefutable_let_patterns)] + async fn read_marker() { + let homeserver = Url::from_str(&mockito::server_url()).unwrap(); + let user_id = UserId::try_from("@example:localhost").unwrap(); + let room_id = RoomId::try_from("!testroom:example.org").unwrap(); + let event_id = EventId::new("example.org").unwrap(); + + let session = Session { + access_token: "1234".to_owned(), + user_id, + device_id: "DEVICEID".to_owned(), + }; + + let _m = mock( + "POST", + Matcher::Regex(r"^/_matrix/client/r0/rooms/.*/read_markers".to_string()), + ) + .with_status(200) + // this is an empty JSON object + .with_body_from_file("../test_data/logout_response.json") + .create(); + + let client = Client::new(homeserver).unwrap(); + client.restore_login(session).await.unwrap(); + + let response = client.read_marker(&room_id, &event_id, None).await.unwrap(); + if let set_read_marker::Response = response { + } else { + panic!( + "expected `ruma_client_api::set_read_marker::Response` found {:?}", + response + ) + } + } + #[tokio::test] #[allow(irrefutable_let_patterns)] async fn typing_notice() {