0.5.1-pre.006
This commit is contained in:
32
ks-config/tests/external_composition_api.rs
Normal file
32
ks-config/tests/external_composition_api.rs
Normal 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());
|
||||
}
|
||||
Reference in New Issue
Block a user