summaryrefslogtreecommitdiff
path: root/tests/cli_acceptance.rs
blob: 97def0c52af333edb581f554e62e800496567530 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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())
}