v0.2.6-pre.007

This commit is contained in:
2026-08-21 10:50:36 +02:00
parent 4c9086e2f0
commit f11f0921b0
25 changed files with 871 additions and 42 deletions

View File

@@ -1,5 +1,5 @@
// file: crates/ksp-config-lib/unit_tests/transport.rs
// version: 1
// version: 2
#[test]
fn fixture_transport_profile_maps_complete_runtime_contract() {
@@ -89,6 +89,40 @@ fn transport_profile_preserves_global_and_profile_origin() {
}
}
#[test]
fn composite_selected_transport_profile_preserves_composite_provenance() {
let engine = committed_engine();
let engine = match engine {
std::result::Result::Ok(value) => value,
std::result::Result::Err(_) => return,
};
let composite_file_id = crate::ConfigFileId::new(crate::FILE_ID_COMPOSITE_KSP_APP_WALLET_DESK);
let composite_file_id = match composite_file_id {
std::result::Result::Ok(value) => value,
std::result::Result::Err(_) => return,
};
let composite = engine.load_resolved_composite(&composite_file_id, std::option::Option::None);
assert!(composite.is_ok(), "committed Wallet Desk composite should resolve: {composite:?}");
let composite = match composite {
std::result::Result::Ok(value) => value,
std::result::Result::Err(_) => return,
};
let component = composite.component("transport");
assert!(component.is_some(), "Wallet Desk composite should contain Transport");
let component = match component {
std::option::Option::Some(value) => value,
std::option::Option::None => return,
};
let environment = crate::ConfigEnvironment::from_maps(std::collections::BTreeMap::new(), std::collections::BTreeMap::new());
let resolved = engine.resolve_transport_config_profile(component.resolved(), &environment);
assert!(resolved.is_ok(), "composite-selected Transport profile should map: {resolved:?}");
if let std::result::Result::Ok(resolved) = resolved {
assert_eq!(resolved.profile_id(), "devnet_public");
assert_eq!(resolved.selection_source(), crate::ConfigProfileSelectionSource::Composite);
assert_eq!(resolved.settings().endpoints()[0].cluster().as_str(), "devnet");
}
}
#[test]
fn secret_transport_url_is_runtime_available_but_safe_projection_is_redacted() {
let engine = fixture_engine();