Skip to content

Commit a439bd9

Browse files
committed
test: fix tests
1 parent 2c31707 commit a439bd9

File tree

2 files changed

+33
-24
lines changed

2 files changed

+33
-24
lines changed

src/lib.rs

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,8 @@ mod tests {
826826
let bombadil = Bombadil::from_settings(NoGpg)?;
827827

828828
assert_that!(bombadil.dots.get("maven")).is_some();
829-
assert_eq!(toml::to_string(&bombadil.vars)?, "hello = \"world\"\n");
829+
let toml = toml::to_string(&bombadil.vars)?;
830+
assert!(toml.contains("hello = \"world\"\n"));
830831

831832
Ok(())
832833
}
@@ -851,7 +852,6 @@ mod tests {
851852
mod metadata {
852853
use super::*;
853854
use crate::Mode::NoGpg;
854-
use indoc::indoc;
855855
use pretty_assertions::assert_eq;
856856
use std::io::BufWriter;
857857

@@ -872,18 +872,16 @@ mod tests {
872872

873873
// Act
874874
let result = bombadil.print_metadata_to_string(MetadataType::Vars)?;
875+
let json: Value = serde_json::from_str(&result)?;
875876

876-
// Assert
877+
assert_eq!(json.get("red"), Some(&Value::String("#FF0000".to_string())));
877878
assert_eq!(
878-
result,
879-
indoc! {
880-
r##"
881-
{
882-
"red": "#FF0000",
883-
"black": "#000000",
884-
"green": "#008000"
885-
}"##
886-
}
879+
json.get("black"),
880+
Some(&Value::String("#000000".to_string()))
881+
);
882+
assert_eq!(
883+
json.get("green"),
884+
Some(&Value::String("#008000".to_string()))
887885
);
888886

889887
Ok(())
@@ -896,19 +894,20 @@ mod tests {
896894

897895
// Act
898896
let result = bombadil.print_metadata_to_string(MetadataType::Vars)?;
897+
let json: Value = serde_json::from_str(&result)?;
899898

900-
// Assert
899+
assert_eq!(json.get("red"), Some(&Value::String("#FF0000".to_string())));
901900
assert_eq!(
902-
result,
903-
indoc! {
904-
r##"
905-
{
906-
"red": "#FF0000",
907-
"black": "#000000",
908-
"green": "#008000",
909-
"yellow": "#f0f722"
910-
}"##
911-
}
901+
json.get("black"),
902+
Some(&Value::String("#000000".to_string()))
903+
);
904+
assert_eq!(
905+
json.get("green"),
906+
Some(&Value::String("#008000".to_string()))
907+
);
908+
assert_eq!(
909+
json.get("yellow"),
910+
Some(&Value::String("#f0f722".to_string()))
912911
);
913912

914913
Ok(())

src/templating.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,21 @@ use std::io::BufReader;
1010
use std::path::{Path, PathBuf};
1111
use tera::{Context, Map, Tera, Value};
1212

13-
#[derive(Clone, Debug, Default, Serialize, Deserialize)]
13+
#[derive(Clone, Debug, Serialize, Deserialize)]
1414
#[serde(transparent)]
1515
pub struct Variables {
1616
/// holds the values defined in template.toml
1717
pub(crate) inner: Value,
1818
}
1919

20+
impl Default for Variables {
21+
fn default() -> Self {
22+
Self {
23+
inner: Value::Object(Map::new()),
24+
}
25+
}
26+
}
27+
2028
impl Variables {
2129
pub(crate) fn has_secrets(&self) -> bool {
2230
self.inner
@@ -67,6 +75,7 @@ impl Variables {
6775
None => {
6876
let mut secrets = tera::Map::new();
6977
secrets.insert(key.to_string(), Value::String(encrypted.to_string()));
78+
println!("{}", self.inner);
7079
let Some(vars) = self.inner.as_object_mut() else {
7180
panic!("Variables should be a Value::Object");
7281
};
@@ -180,6 +189,7 @@ impl Variables {
180189
}
181190

182191
pub(crate) fn with_os(mut self) -> Self {
192+
println!("{}", self.inner);
183193
let Some(vars) = self.inner.as_object_mut() else {
184194
panic!("Variables should be a Value::Object");
185195
};

0 commit comments

Comments
 (0)