65 lines
1.5 KiB
Rust
65 lines
1.5 KiB
Rust
use rand::{distributions::Alphanumeric, Rng};
|
|
use std::env;
|
|
|
|
mod utils;
|
|
use utils::{server::ServerTest, client::ClientTest};
|
|
|
|
|
|
fn get_random_test_id() -> String {
|
|
let mut id: String = rand::thread_rng()
|
|
.sample_iter(&Alphanumeric)
|
|
.take(7)
|
|
.map(char::from)
|
|
.collect();
|
|
id.push_str("_nextsync");
|
|
id.to_owned()
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod push_tests {
|
|
use super::*;
|
|
|
|
#[test]
|
|
fn simple_push() {
|
|
let id = get_random_test_id();
|
|
let mut server = ServerTest::new(id.clone()).init();
|
|
let mut client = ClientTest::new(id).init();
|
|
|
|
let _ = client.add_file("file1", "foo");
|
|
client.run_cmd_ok("add file1");
|
|
client.run_cmd_ok("push");
|
|
|
|
// tests
|
|
assert!(server.has_file("file1", "foo"));
|
|
|
|
client.clean();
|
|
server.clean();
|
|
}
|
|
|
|
#[test]
|
|
fn push_update() {
|
|
let id = get_random_test_id();
|
|
let mut server = ServerTest::new(id.clone()).init();
|
|
let mut client = ClientTest::new(id).init();
|
|
|
|
// init content of file1
|
|
let _ = client.add_file("file1", "foo");
|
|
client.run_cmd_ok("add file1");
|
|
client.run_cmd_ok("push");
|
|
|
|
// tests
|
|
assert!(server.has_file("file1", "foo"));
|
|
|
|
// change content of file1
|
|
let _ = client.add_file("file1", "bar");
|
|
client.run_cmd_ok("add file1");
|
|
client.run_cmd_ok("push");
|
|
|
|
// tests
|
|
assert!(server.has_file("file1", "bar"));
|
|
|
|
client.clean();
|
|
server.clean();
|
|
}
|
|
}
|