summaryrefslogtreecommitdiff
path: root/tests/cli_acceptance.rs
diff options
context:
space:
mode:
authorAndrew Guschin <guschin@altlinux.org>2026-10-30 03:10:41 +0400
committerAndrew Guschin <guschin@altlinux.org>2026-10-30 03:10:41 +0400
commitd608ffeeda1a479c9dc0e5f6ad269ba07a510d7f (patch)
tree3824ec9da5ca0adac913cc47e3e20054c3dc843a /tests/cli_acceptance.rs
parent40cf3276cdc74bf6f1795990ed600891a637d1fe (diff)
Implement Linux proxy controller, subscription state, and CLI/TUI
Diffstat (limited to 'tests/cli_acceptance.rs')
-rw-r--r--tests/cli_acceptance.rs31
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())
+}