50 lines
1.9 KiB
Rust
50 lines
1.9 KiB
Rust
|
use std::collections::HashMap;
|
||
|
|
||
|
use cuddle_clusters::catalog::cuddle_vars::{CuddleVariable, CuddleVariables, CuddleVars};
|
||
|
use similar_asserts::assert_eq;
|
||
|
|
||
|
#[tokio::test]
|
||
|
async fn can_load_cuddle_file() -> anyhow::Result<()> {
|
||
|
let current_dir = std::env::current_dir()?.join("tests");
|
||
|
|
||
|
let vars = CuddleVars::new(¤t_dir.join("cuddle_vars/basic/")).await?;
|
||
|
|
||
|
assert_eq!(
|
||
|
CuddleVars {
|
||
|
variables: CuddleVariables(HashMap::from([
|
||
|
("service".into(), CuddleVariable::String("basic".into())),
|
||
|
(
|
||
|
"some".into(),
|
||
|
CuddleVariable::Object(Box::new(CuddleVariables(HashMap::from([
|
||
|
("other".into(), CuddleVariable::String("item".into())),
|
||
|
(
|
||
|
"nested".into(),
|
||
|
CuddleVariable::Object(Box::new(CuddleVariables(HashMap::from([(
|
||
|
"item".into(),
|
||
|
CuddleVariable::String("item".into())
|
||
|
)]))))
|
||
|
),
|
||
|
(
|
||
|
"array".into(),
|
||
|
CuddleVariable::Array(vec![CuddleVariable::Object(Box::new(
|
||
|
CuddleVariables(HashMap::from([(
|
||
|
"item".into(),
|
||
|
CuddleVariable::Object(Box::new(CuddleVariables(
|
||
|
HashMap::from([(
|
||
|
"item".into(),
|
||
|
CuddleVariable::String("item".into()),
|
||
|
)])
|
||
|
)))
|
||
|
)]))
|
||
|
))])
|
||
|
)
|
||
|
]))))
|
||
|
)
|
||
|
]))
|
||
|
},
|
||
|
vars
|
||
|
);
|
||
|
|
||
|
Ok(())
|
||
|
}
|