diff --git a/matrix_sdk/async_client_tests.rs b/matrix_sdk/async_client_tests.rs deleted file mode 100644 index 4ed373ea..00000000 --- a/matrix_sdk/async_client_tests.rs +++ /dev/null @@ -1,95 +0,0 @@ -use matrix_sdk::identifiers::{RoomId, UserId}; -use matrix_sdk::{AsyncClient, Session, SyncSettings}; - -use mockito::{mock, Matcher}; -use url::Url; - -use std::convert::TryFrom; -use std::str::FromStr; -use std::time::Duration; - -#[tokio::test] -async fn login() { - let homeserver = Url::from_str(&mockito::server_url()).unwrap(); - - let _m = mock("POST", "/_matrix/client/r0/login") - .with_status(200) - .with_body_from_file("../test_data/login_response.json") - .create(); - - let client = AsyncClient::new(homeserver, None).unwrap(); - - client - .login("example", "wordpass", None, None) - .await - .unwrap(); - - let logged_in = client.logged_in().await; - assert!(logged_in, "Clint should be logged in"); -} - -#[tokio::test] -async fn sync() { - let homeserver = Url::from_str(&mockito::server_url()).unwrap(); - - let session = Session { - access_token: "1234".to_owned(), - user_id: UserId::try_from("@example:localhost").unwrap(), - device_id: "DEVICEID".to_owned(), - }; - - let _m = mock( - "GET", - Matcher::Regex(r"^/_matrix/client/r0/sync\?.*$".to_string()), - ) - .with_status(200) - .with_body_from_file("../test_data/sync.json") - .create(); - - let client = AsyncClient::new(homeserver, Some(session)).unwrap(); - - let sync_settings = SyncSettings::new().timeout(Duration::from_millis(3000)); - - let response = client.sync(sync_settings).await.unwrap(); - - assert_ne!(response.next_batch, ""); - - assert!(client.sync_token().await.is_some()); -} - -#[tokio::test] -async fn room_names() { - let homeserver = Url::from_str(&mockito::server_url()).unwrap(); - - let session = Session { - access_token: "1234".to_owned(), - user_id: UserId::try_from("@example:localhost").unwrap(), - device_id: "DEVICEID".to_owned(), - }; - - let _m = mock( - "GET", - Matcher::Regex(r"^/_matrix/client/r0/sync\?.*$".to_string()), - ) - .with_status(200) - .with_body_from_file("../test_data/sync.json") - .create(); - - let client = AsyncClient::new(homeserver, Some(session)).unwrap(); - - let sync_settings = SyncSettings::new().timeout(Duration::from_millis(3000)); - - let _response = client.sync(sync_settings).await.unwrap(); - - let mut names = vec![]; - for r in client.joined_rooms().read().await.values() { - names.push(r.read().await.display_name()); - } - assert_eq!(vec!["tutorial"], names); - let room = client - .get_joined_room(&RoomId::try_from("!SVkFJHzfwvuaIEawgC:localhost").unwrap()) - .await - .unwrap(); - - assert_eq!("tutorial".to_string(), room.read().await.display_name()); -} diff --git a/matrix_sdk/src/async_client.rs b/matrix_sdk/src/async_client.rs index ad6e3fde..dc17a949 100644 --- a/matrix_sdk/src/async_client.rs +++ b/matrix_sdk/src/async_client.rs @@ -1883,4 +1883,90 @@ mod test { // vec![UserId::try_from("@someone:example.org").unwrap()] // ); } + + #[tokio::test] + async fn login() { + let homeserver = Url::from_str(&mockito::server_url()).unwrap(); + + let _m = mock("POST", "/_matrix/client/r0/login") + .with_status(200) + .with_body_from_file("../test_data/login_response.json") + .create(); + + let client = AsyncClient::new(homeserver, None).unwrap(); + + client + .login("example", "wordpass", None, None) + .await + .unwrap(); + + let logged_in = client.logged_in().await; + assert!(logged_in, "Clint should be logged in"); + } + + #[tokio::test] + async fn sync() { + let homeserver = Url::from_str(&mockito::server_url()).unwrap(); + + let session = Session { + access_token: "1234".to_owned(), + user_id: UserId::try_from("@example:localhost").unwrap(), + device_id: "DEVICEID".to_owned(), + }; + + let _m = mock( + "GET", + Matcher::Regex(r"^/_matrix/client/r0/sync\?.*$".to_string()), + ) + .with_status(200) + .with_body_from_file("../test_data/sync.json") + .create(); + + let client = AsyncClient::new(homeserver, Some(session)).unwrap(); + + let sync_settings = SyncSettings::new().timeout(Duration::from_millis(3000)); + + let response = client.sync(sync_settings).await.unwrap(); + + assert_ne!(response.next_batch, ""); + + assert!(client.sync_token().await.is_some()); + } + + #[tokio::test] + async fn room_names() { + let homeserver = Url::from_str(&mockito::server_url()).unwrap(); + + let session = Session { + access_token: "1234".to_owned(), + user_id: UserId::try_from("@example:localhost").unwrap(), + device_id: "DEVICEID".to_owned(), + }; + + let _m = mock( + "GET", + Matcher::Regex(r"^/_matrix/client/r0/sync\?.*$".to_string()), + ) + .with_status(200) + .with_body_from_file("../test_data/sync.json") + .create(); + + let client = AsyncClient::new(homeserver, Some(session)).unwrap(); + + let sync_settings = SyncSettings::new().timeout(Duration::from_millis(3000)); + + let _response = client.sync(sync_settings).await.unwrap(); + + let mut names = vec![]; + for r in client.joined_rooms().read().await.values() { + names.push(r.read().await.display_name()); + } + assert_eq!(vec!["tutorial"], names); + let room = client + .get_joined_room(&RoomId::try_from("!SVkFJHzfwvuaIEawgC:localhost").unwrap()) + .await + .unwrap(); + + assert_eq!("tutorial".to_string(), room.read().await.display_name()); + } }