diff options
| author | Andrew Guschin <guschin@altlinux.org> | 2026-10-30 03:10:41 +0400 |
|---|---|---|
| committer | Andrew Guschin <guschin@altlinux.org> | 2026-10-30 03:10:41 +0400 |
| commit | d608ffeeda1a479c9dc0e5f6ad269ba07a510d7f (patch) | |
| tree | 3824ec9da5ca0adac913cc47e3e20054c3dc843a /tests/cli_acceptance.rs | |
| parent | 40cf3276cdc74bf6f1795990ed600891a637d1fe (diff) | |
Implement Linux proxy controller, subscription state, and CLI/TUI
Diffstat (limited to 'tests/cli_acceptance.rs')
| -rw-r--r-- | tests/cli_acceptance.rs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/cli_acceptance.rs b/tests/cli_acceptance.rs new file mode 100644 index 0000000..97def0c --- /dev/null +++ b/tests/cli_acceptance.rs @@ -0,0 +1,31 @@ +use std::process::Command; + +#[test] +fn help_describes_the_controller_commands_without_contacting_services() { + let output = Command::new(binary()).arg("--help").output().unwrap(); + assert!(output.status.success()); + let text = String::from_utf8(output.stdout).unwrap(); + for command in [ + "subscription", + "configuration", + "enable", + "disable", + "status", + "recover", + ] { + assert!(text.contains(command), "Missing command {command}: {text}"); + } +} + +#[test] +fn subscription_url_cannot_be_passed_on_the_command_line() { + let output = Command::new(binary()) + .args(["subscription", "add", "https://secret.example/token"]) + .output() + .unwrap(); + assert!(!output.status.success()); +} + +fn binary() -> String { + std::env::var("ROENTGEN_TEST_BINARY").unwrap_or_else(|_| env!("CARGO_BIN_EXE_roentgen").into()) +} |