Files
khadhroony-solana-project/crates/ksp-app-config-desk/unit_tests/profiles.rs
2026-08-16 15:04:58 +02:00

74 lines
3.7 KiB
Rust

// file: crates/ksp-app-config-desk/unit_tests/profiles.rs
// version: 1
#[test]
fn profile_inventory_exposes_logging_default_and_available_profiles() {
let management = committed_management();
assert!(management.is_ok(), "committed management should construct: {management:?}");
if let std::result::Result::Ok(management) = management {
let inventory = super::inventory_from_management(&management);
assert!(inventory.is_ok(), "profile inventory should resolve: {inventory:?}");
if let std::result::Result::Ok(inventory) = inventory {
assert_eq!(inventory.len(), 1);
assert_eq!(inventory[0].file_id, ksp_config_lib::FILE_ID_STD_LOGGING);
assert_eq!(inventory[0].default_profile, "local_dev");
assert!(inventory[0].profile_ids.iter().any(|profile_id| {
return profile_id == "local_dev";
}));
}
}
}
#[test]
fn default_profile_detail_uses_safe_effective_value_and_dotenv_provenance() {
let management = committed_management();
assert!(management.is_ok(), "committed management should construct: {management:?}");
if let std::result::Result::Ok(management) = management {
let detail = super::detail_from_management(&management, ksp_config_lib::FILE_ID_STD_LOGGING, std::option::Option::None);
assert!(detail.is_ok(), "default profile should inspect safely: {detail:?}");
if let std::result::Result::Ok(detail) = detail {
assert_eq!(detail.selected_profile, "local_dev");
assert_eq!(detail.selection_source, "default_profile");
assert!(detail.value_origins.iter().any(|entry| {
return entry.key == "logs_directory" && entry.origin == "global";
}));
assert!(detail.value_origins.iter().any(|entry| {
return entry.key == "default_filter" && entry.origin == "profile";
}));
assert!(detail.environment_provenance.iter().any(|entry| {
return entry.json_pointer == "/logs_directory" && entry.variable_name == "KSP_LOGS_DIRECTORY" && entry.sensitivity == "internal";
}));
assert!(!detail.effective_safe_json.contains("KSP_SECRET_"));
}
}
}
#[test]
fn explicit_profile_inspection_reports_explicit_selection_source() {
let management = committed_management();
assert!(management.is_ok(), "committed management should construct: {management:?}");
if let std::result::Result::Ok(management) = management {
let detail = super::detail_from_management(&management, ksp_config_lib::FILE_ID_STD_LOGGING, std::option::Option::Some("local_dev"));
assert!(detail.is_ok(), "explicit profile should inspect: {detail:?}");
if let std::result::Result::Ok(detail) = detail {
assert_eq!(detail.selected_profile, "local_dev");
assert_eq!(detail.selection_source, "explicit");
}
}
}
fn committed_management() -> ksp_core_lib::Result<ksp_config_lib::ConfigManagement> {
let workspace = std::path::PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("../..");
let bootstrap = ksp_config_lib::ConfigBootstrapOptions::from_paths(workspace.join("config"), workspace.join("config/schemas"));
let bootstrap = match bootstrap {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
let registry = ksp_config_lib::ConfigFileRegistry::defaults();
let registry = match registry {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => return std::result::Result::Err(error),
};
return std::result::Result::Ok(ksp_config_lib::ConfigManagement::new(ksp_config_lib::ConfigDocumentEngine::new(bootstrap, registry)));
}