0.5.1-pre.006

This commit is contained in:
2026-08-10 02:44:24 +02:00
parent b6a286a4df
commit 34a670eaec
72 changed files with 5589 additions and 1932 deletions

View File

@@ -0,0 +1,32 @@
// file: ks-config/tests/external_composition_api.rs
// version: 1
//! External API coverage for binary composition and shared configuration documents.
#[test]
fn external_consumer_resolves_composition_through_crate_root_exports() {
let composition = match ks_config::parse_composition_json(include_str!(
"../../config/example.kb-app-demo-desktop.default.config.json"
)) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => panic!("composition must parse: {error}"),
};
let transport = match ks_config::parse_transport_json(include_str!(
"../../config/example.transport.config.json"
)) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => panic!("transport must parse: {error}"),
};
let listeners = match ks_config::parse_listeners_json(include_str!(
"../../config/example.listeners.config.json"
)) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => panic!("listeners must parse: {error}"),
};
let resolved = match ks_config::compose_app_config(&composition, &transport, &listeners) {
std::result::Result::Ok(value) => value,
std::result::Result::Err(error) => panic!("composition must resolve: {error}"),
};
assert_eq!(resolved.active_profile, composition.active_profile);
assert_eq!(resolved.profiles.len(), composition.profiles.len());
}