jirust-cli 0.17.5

A CLI tool to interact with Jira
Documentation
use std::process::Command;

use jirust_cli::config::config_file::ConfigFile;
use tempfile::tempdir;

#[test]
fn cli_config_show_uses_existing_config() {
    let binary = option_env!("CARGO_BIN_EXE_jirust-cli")
        .expect("binary path not available; ensure the jirust-cli bin is built");

    let tmp_home = tempdir().expect("create temp home");
    let config_dir = tmp_home.path().join(".jirust-cli");
    std::fs::create_dir_all(&config_dir).expect("create config dir");

    let config_path = config_dir.join("jirust-cli.toml");
    let mut config = ConfigFile::default();
    config.set_auth_key("dGVzdDphcGk=".to_string());
    config.set_jira_url("https://example.atlassian.net".to_string());
    config
        .write_to_file(config_path.to_str().expect("config path utf8"))
        .expect("write config");

    let output = Command::new(binary)
        .arg("config")
        .arg("show")
        .env("HOME", tmp_home.path())
        .output()
        .expect("run jirust-cli");

    assert!(output.status.success());
    let stdout = String::from_utf8_lossy(&output.stdout);
    assert!(stdout.contains("Auth token"));
    assert!(stdout.contains("Jira URL"));
}