diff options
author | Ryan Leckey <ryan@launchbadge.com> | 2017-06-22 23:10:56 -0700 |
---|---|---|
committer | Ryan Leckey <ryan@launchbadge.com> | 2017-06-22 23:10:56 -0700 |
commit | c798fd881fa8652e5d9ea2873babed55da1ad05f (patch) | |
tree | 85819daff6b8f715cc11a5ede003881cdd034b94 /tests | |
parent | de0de66f1cd01c5e6184b9e326ca58e201289326 (diff) |
Add a test to ensure we can get dates out of config
Diffstat (limited to 'tests')
-rw-r--r-- | tests/datetime.rs | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/tests/datetime.rs b/tests/datetime.rs new file mode 100644 index 0000000..f2dc9fe --- /dev/null +++ b/tests/datetime.rs @@ -0,0 +1,70 @@ +extern crate config; +extern crate chrono; + +use config::*; +use chrono::{DateTime, Utc, TimeZone}; + +fn make() -> Config { + Config::default() + .merge(File::from_str( + r#" + { + "json_datetime": "2017-05-10T02:14:53Z" + } + "#, + FileFormat::Json, + )) + .merge(File::from_str( + r#" + yaml_datetime: 2017-06-12T10:58:30Z + "#, + FileFormat::Yaml, + )) + .merge(File::from_str( + r#" + toml_datetime = 2017-05-11T14:55:15Z + "#, + FileFormat::Toml, + )) + .unwrap() +} + +#[test] +fn test_datetime_string() { + let s = make(); + + // JSON + let date: String = s.get("json_datetime").unwrap(); + + assert_eq!(&date, "2017-05-10T02:14:53Z"); + + // TOML + let date: String = s.get("toml_datetime").unwrap(); + + assert_eq!(&date, "2017-05-11T14:55:15Z"); + + // YAML + let date: String = s.get("yaml_datetime").unwrap(); + + assert_eq!(&date, "2017-06-12T10:58:30Z"); +} + +#[test] +fn test_datetime() { + let s = make(); + + // JSON + let date: DateTime<Utc> = s.get("json_datetime").unwrap(); + + assert_eq!(date, Utc.ymd(2017, 5, 10).and_hms(2, 14, 53)); + + // TOML + let date: DateTime<Utc> = s.get("toml_datetime").unwrap(); + + assert_eq!(date, Utc.ymd(2017, 5, 11).and_hms(14, 55, 15)); + + // YAML + let date: DateTime<Utc> = s.get("yaml_datetime").unwrap(); + + assert_eq!(date, Utc.ymd(2017, 6, 12).and_hms(10, 58, 30)); +} |