diff --git a/tests/stress/utils.rs b/tests/stress/utils.rs new file mode 100644 index 0000000..bfab872 --- /dev/null +++ b/tests/stress/utils.rs @@ -0,0 +1,20 @@ +/// Path to distant binary +#[inline] +fn bin_path() -> PathBuf { + assert_cmd::cargo::cargo_bin(env!("CARGO_PKG_NAME")) +} + +fn start_manager() { + // Start the manager + let mut manager_cmd = StdCommand::new(bin_path()); + manager_cmd + .arg("manager") + .arg("listen") + .arg("--log-file") + .arg(random_log_file("manager")) + .arg("--log-level") + .arg("trace") + .stdin(Stdio::piped()) + .stdout(Stdio::piped()) + .stderr(Stdio::piped()); +} diff --git a/tests/stress_tests.rs b/tests/stress_tests.rs new file mode 100644 index 0000000..07c8caf --- /dev/null +++ b/tests/stress_tests.rs @@ -0,0 +1,29 @@ +use assert_fs::prelude::*; +use predicates::prelude::*; +use rstest::*; + +mod stress; + +#[rstest] +#[test_log::test] +fn should_handle_large_volume_of_requests() { + todo!(); +} + +#[rstest] +#[test_log::test] +fn should_handle_wide_spread_of_clients() { + todo!(); +} + +#[rstest] +#[test_log::test] +fn should_handle_abrupt_client_disconnects() { + todo!(); +} + +#[rstest] +#[test_log::test] +fn should_handle_badly_killing_client_shell_with_interactive_process() { + todo!(); +}