aperture-cli 0.1.9

Dynamic CLI generator for OpenAPI specifications
Documentation
use aperture_cli::config::models::{ApertureSecret, GlobalConfig, SecretSource};

#[test]
fn test_global_config_deserialization() {
    let toml_str = r"
        default_timeout_secs = 60

        [agent_defaults]
        json_errors = true
    ";

    let config: GlobalConfig = toml::from_str(toml_str).unwrap();

    assert_eq!(config.default_timeout_secs, 60);
    assert!(config.agent_defaults.json_errors);
}

#[test]
fn test_global_config_default_values() {
    let toml_str = r"";

    let config: GlobalConfig = toml::from_str(toml_str).unwrap();

    assert_eq!(config.default_timeout_secs, 30);
    assert!(!config.agent_defaults.json_errors);
}

#[test]
fn test_global_config_partial_deserialization() {
    let toml_str = r"
        default_timeout_secs = 120
    ";

    let config: GlobalConfig = toml::from_str(toml_str).unwrap();

    assert_eq!(config.default_timeout_secs, 120);
    assert!(!config.agent_defaults.json_errors);
}

#[test]
fn test_global_config_agent_defaults_only() {
    let toml_str = r"
        [agent_defaults]
        json_errors = true
    ";

    let config: GlobalConfig = toml::from_str(toml_str).unwrap();

    assert_eq!(config.default_timeout_secs, 30);
    assert!(config.agent_defaults.json_errors);
}

#[test]
fn test_aperture_secret_deserialization() {
    let yaml_str = r"
        source: env
        name: MY_API_KEY
    ";

    let secret: ApertureSecret = serde_yaml::from_str(yaml_str).unwrap();

    assert_eq!(secret.source, SecretSource::Env);
    assert_eq!(secret.name, "MY_API_KEY");
}