diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2021-03-27 11:02:38 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2022-11-28 17:33:46 +0100 |
commit | 00eb7439dbf6e0556089bc0435d7d585411340a1 (patch) | |
tree | 55835f71ce7f22361d643ba891b869a425a5b9aa | |
parent | f4c1193ea1f93c7984d23a1366efe41d66fa732d (diff) |
Add test for log::Level deserialization
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | tests/log.rs | 28 |
2 files changed, 29 insertions, 0 deletions
@@ -53,3 +53,4 @@ glob = "0.3" lazy_static = "1" notify = "^5.0.0" temp-env = "0.3.0" +log = { version = "0.4", features = ["serde"] } diff --git a/tests/log.rs b/tests/log.rs new file mode 100644 index 0000000..41ca98b --- /dev/null +++ b/tests/log.rs @@ -0,0 +1,28 @@ +extern crate config; +extern crate log; + +#[macro_use] +extern crate serde_derive; + +use config::*; + +#[derive(Debug, Deserialize)] +struct Settings { + log: log::Level, +} + +fn config(s: &str) -> Config { + Config::default() + .merge(File::from_str(s, FileFormat::Json)) + .unwrap() + .clone() +} + +#[test] +fn test_load_level_uppercase() { + let s = r#"{ "log": "ERROR" }"#; + let c = config(s); + let l = c.get::<log::Level>("log").unwrap(); + assert_eq!(l, log::Level::Error); +} + |