33 lines
1.4 KiB
Rust
33 lines
1.4 KiB
Rust
// file: crates/ksp-app-config-desk/unit_tests/secrets.rs
|
|
// version: 1
|
|
|
|
#[test]
|
|
fn reveal_policy_accepts_only_secret_names_and_supported_sources() {
|
|
let effective = super::validate_request("KSP_SECRET_TEST_VALUE", "effective");
|
|
assert!(effective.is_ok());
|
|
if let std::result::Result::Ok(source) = effective {
|
|
assert_eq!(source.label(), "effective");
|
|
}
|
|
let dotenv = super::validate_request("KSPB_SECRET_TEST_VALUE", "dotenv");
|
|
assert!(dotenv.is_ok());
|
|
if let std::result::Result::Ok(source) = dotenv {
|
|
assert_eq!(source.label(), "dotenv");
|
|
}
|
|
assert!(super::validate_request("KSP_PUBLIC_TEST_VALUE", "effective").is_err());
|
|
assert!(super::validate_request("KSP_TEST_VALUE", "effective").is_err());
|
|
assert!(super::validate_request("EXTERNAL_SECRET_VALUE", "effective").is_err());
|
|
assert!(super::validate_request("KSP_SECRET_TEST_VALUE", "unknown").is_err());
|
|
}
|
|
|
|
#[test]
|
|
fn reveal_response_type_does_not_require_debug_or_clone_contracts() {
|
|
let response = super::SecretRevealResponseDto {
|
|
variable_name: "KSP_SECRET_TEST_VALUE".to_owned(),
|
|
source: "dotenv".to_owned(),
|
|
value: std::option::Option::Some("secret-canary".to_owned()),
|
|
};
|
|
assert_eq!(response.variable_name, "KSP_SECRET_TEST_VALUE");
|
|
assert_eq!(response.source, "dotenv");
|
|
assert_eq!(response.value.as_deref(), std::option::Option::Some("secret-canary"));
|
|
}
|