65 lines
2.1 KiB
Rust
65 lines
2.1 KiB
Rust
use crate::common::server_fixture::{ServerFixture, ServerType};
|
|
|
|
#[tokio::test]
|
|
async fn test_list_update_remotes_router() {
|
|
assert_list_update_remotes(ServerFixture::create_single_use(ServerType::Router).await).await;
|
|
}
|
|
|
|
async fn assert_list_update_remotes(server_fixture: ServerFixture) {
|
|
let mut client = server_fixture.remote_client();
|
|
|
|
const TEST_REMOTE_ID_1: u32 = 42;
|
|
const TEST_REMOTE_ADDR_1: &str = "1.2.3.4:1234";
|
|
const TEST_REMOTE_ID_2: u32 = 84;
|
|
const TEST_REMOTE_ADDR_2: &str = "4.3.2.1:4321";
|
|
const TEST_REMOTE_ADDR_2_UPDATED: &str = "40.30.20.10:4321";
|
|
|
|
let res = client.list_remotes().await.expect("list remotes failed");
|
|
assert_eq!(res.len(), 0);
|
|
|
|
client
|
|
.update_remote(TEST_REMOTE_ID_1, TEST_REMOTE_ADDR_1)
|
|
.await
|
|
.expect("update failed");
|
|
|
|
let res = client.list_remotes().await.expect("list remotes failed");
|
|
assert_eq!(res.len(), 1);
|
|
|
|
client
|
|
.update_remote(TEST_REMOTE_ID_2, TEST_REMOTE_ADDR_2)
|
|
.await
|
|
.expect("update failed");
|
|
|
|
let res = client.list_remotes().await.expect("list remotes failed");
|
|
assert_eq!(res.len(), 2);
|
|
assert_eq!(res[0].id, TEST_REMOTE_ID_1);
|
|
assert_eq!(res[0].connection_string, TEST_REMOTE_ADDR_1);
|
|
assert_eq!(res[1].id, TEST_REMOTE_ID_2);
|
|
assert_eq!(res[1].connection_string, TEST_REMOTE_ADDR_2);
|
|
|
|
client
|
|
.delete_remote(TEST_REMOTE_ID_1)
|
|
.await
|
|
.expect("delete failed");
|
|
|
|
client
|
|
.delete_remote(TEST_REMOTE_ID_1)
|
|
.await
|
|
.expect_err("expected delete to fail");
|
|
|
|
let res = client.list_remotes().await.expect("list remotes failed");
|
|
assert_eq!(res.len(), 1);
|
|
assert_eq!(res[0].id, TEST_REMOTE_ID_2);
|
|
assert_eq!(res[0].connection_string, TEST_REMOTE_ADDR_2);
|
|
|
|
client
|
|
.update_remote(TEST_REMOTE_ID_2, TEST_REMOTE_ADDR_2_UPDATED)
|
|
.await
|
|
.expect("update failed");
|
|
|
|
let res = client.list_remotes().await.expect("list remotes failed");
|
|
assert_eq!(res.len(), 1);
|
|
assert_eq!(res[0].id, TEST_REMOTE_ID_2);
|
|
assert_eq!(res[0].connection_string, TEST_REMOTE_ADDR_2_UPDATED);
|
|
}
|