v0.1.3-pre.011

This commit is contained in:
2026-08-16 04:35:23 +02:00
parent 695068acea
commit 274428bd2f
13 changed files with 1005 additions and 91 deletions

View File

@@ -1,7 +1,7 @@
// file: crates/ksp-config-lib/tests/public_api.rs
// version: 7
// version: 8
//! Integration tests for the public `ksp-config-lib` bootstrap, registry, JSON/profile/composite and environment-resolution contracts.
//! Integration tests for the public `ksp-config-lib` bootstrap, registry, JSON/profile/composite, environment-resolution and sensitivity contracts.
#[test]
fn bootstrap_contract_is_available_from_crate_root() {
@@ -143,3 +143,28 @@ fn environment_resolution_contract_is_available_from_crate_root() {
assert_ne!(ksp_config_lib::ConfigEnvironmentSource::Process, ksp_config_lib::ConfigEnvironmentSource::DotEnv);
assert_ne!(ksp_config_lib::ConfigEnvironmentSource::DotEnv, ksp_config_lib::ConfigEnvironmentSource::Fallback);
}
#[test]
fn sensitivity_and_safe_resolution_contracts_are_available_from_crate_root() {
assert_eq!(
ksp_config_lib::ConfigSensitivity::from_variable_name("KSP_PUBLIC_HOST").ok(),
std::option::Option::Some(ksp_config_lib::ConfigSensitivity::Public),
);
assert_eq!(
ksp_config_lib::ConfigSensitivity::from_variable_name("KSP_MODE").ok(),
std::option::Option::Some(ksp_config_lib::ConfigSensitivity::Internal)
);
assert_eq!(
ksp_config_lib::ConfigSensitivity::from_variable_name("KSP_SECRET_TOKEN").ok(),
std::option::Option::Some(ksp_config_lib::ConfigSensitivity::Secret),
);
assert_eq!(ksp_config_lib::REDACTED_CONFIG_VALUE, "********");
let detailed_text: fn(&ksp_config_lib::ConfigEnvironment, &str) -> ksp_core_lib::Result<ksp_config_lib::ResolvedConfigText> =
ksp_config_lib::ConfigEnvironment::resolve_text_detailed;
let detailed_json: fn(&ksp_config_lib::ConfigEnvironment, &serde_json::Value) -> ksp_core_lib::Result<ksp_config_lib::ResolvedConfigJson> =
ksp_config_lib::ConfigEnvironment::resolve_json_detailed;
let _ = (detailed_text, detailed_json);
let provenance = ksp_config_lib::ConfigValueProvenance::EnvironmentFallback { variable_name: "KSP_SECRET_TOKEN".to_owned() };
assert_eq!(provenance.variable_name(), std::option::Option::Some("KSP_SECRET_TOKEN"));
assert_eq!(provenance.environment_source(), std::option::Option::Some(ksp_config_lib::ConfigEnvironmentSource::Fallback));
}