33 lines
734 B
Rust
33 lines
734 B
Rust
use crate::util::{spawn_server, TestUser};
|
|
use crate::ws::client::spawn_client;
|
|
use serde_json::json;
|
|
use std::time::Duration;
|
|
|
|
#[actix_rt::test]
|
|
async fn ws_conn_test() {
|
|
let server = spawn_server().await;
|
|
let test_user = TestUser::generate();
|
|
let token = test_user.register(&server).await;
|
|
let address = format!("{}/{}", server.ws_addr, token);
|
|
let client = spawn_client(1, "1", address).await.unwrap();
|
|
|
|
wait_a_sec().await;
|
|
{
|
|
let collab = client.lock();
|
|
collab.insert("1", "a");
|
|
}
|
|
wait_a_sec().await;
|
|
|
|
let value = server.get_doc("1");
|
|
assert_json_diff::assert_json_eq!(
|
|
value,
|
|
json!({
|
|
"1": "a"
|
|
})
|
|
);
|
|
}
|
|
|
|
async fn wait_a_sec() {
|
|
tokio::time::sleep(Duration::from_secs(2)).await;
|
|
}
|