From 427afa921db0e7f4e80f1439efd4704e04bbcb3d Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Fri, 12 Apr 2024 09:45:30 -0500 Subject: [PATCH] Guess it's working now somehow --- src/config.rs | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/src/config.rs b/src/config.rs index 486d04e..f268fde 100644 --- a/src/config.rs +++ b/src/config.rs @@ -25,9 +25,6 @@ pub struct Config { pub version: u64, pub discord: Option, pub open_ai: Option, - - #[serde(serialize_with = "redact_secret")] - pub secret: Secret, } impl Config { @@ -48,10 +45,10 @@ impl Config { Ok(CConfig::builder() .set_default("version", CURRENT_VERSION)? .set_default("discord", Option::>::None)? - .set_default("open_ai", Option::>::None)? - .set_default("secret", "this is a secret!")?) + .set_default("open_ai", Option::>::None)?) } + #[allow(dead_code)] pub fn defaults() -> Result { let c = Self::default_builder()?.build()?; Ok(c.try_deserialize()?) @@ -60,17 +57,33 @@ impl Config { #[cfg(test)] mod tests { - use crate::prelude::*; + use crate::config::*; + + #[test] + fn defaults_deserialize_to_valid_config() -> Result<()> { + println!("Defaults: {:?}", Config::defaults()?); + Ok(()) + } #[test] fn config_does_not_leak_secrets() -> Result<()> { - let defaults = Config::default_builder()? - .set_override("discord.bot_token", Secret::new("THIS_IS_MY_BOT_TOKEN"))? - .build()?; - let s = format!("{defaults:?}"); + let conf: Config = match Config::default_builder()? + // .set_override("discord", HashMap::::new())? + .set_override("discord.bot_token", "THIS_IS_MY_BOT_TOKEN")? + .set_override("version", 1337)? + .build()? + .try_deserialize() + { + Ok(conf) => conf, + Err(err) => { + println!("{err:#?}"); + return Err(err.into()); + } + }; + let s = format!("{conf:?}"); println!("{s}"); + assert!(s.contains("1337")); assert!(!s.contains("THIS_IS_MY_BOT_TOKEN")); - assert!(!s.contains("this is a secret")); Ok(()) } }