From 9a6d04f3bfffe63021d68efad9fbf0ae3987064c Mon Sep 17 00:00:00 2001 From: Robin Krahl Date: Sun, 2 Feb 2020 12:15:27 +0100 Subject: Add config test case and example config file This patch adds a simple configuration file that demonstrates the syntax and contains some documentation. We suggest to ship this file together with nitrocli and to install it e.g., in the /usr/share/doc/nitrocli directory. This patch also adds a simple test case that makes sure that the example file is parsed correctly. --- doc/config.example.toml | 10 ++++++++++ src/tests/run.rs | 12 ++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 doc/config.example.toml diff --git a/doc/config.example.toml b/doc/config.example.toml new file mode 100644 index 0000000..a427749 --- /dev/null +++ b/doc/config.example.toml @@ -0,0 +1,10 @@ +# This is an example configuration file for nitrocli. To use it, place it at +# ${XDG_CONFIG_HOME}/nitrocli/config.toml, where XDG_CONFIG_HOME defaults to +# ${HOME}. + +# The model to connect to (string, "pro" or "storage", default: not set). +model = "pro" +# Do not cache secrets (boolean, default: false). +no_cache = true +# The log level (integer, default: 0). +verbosity = 2 diff --git a/src/tests/run.rs b/src/tests/run.rs index 22e7004..597e400 100644 --- a/src/tests/run.rs +++ b/src/tests/run.rs @@ -17,6 +17,8 @@ // * along with this program. If not, see . * // ************************************************************************* +use std::path; + use super::*; #[test] @@ -108,3 +110,13 @@ fn version_option() { test(&re, "--version"); test(&re, "-V"); } + +#[test] +fn config_file() { + let config = + crate::config::read_config_file(&path::Path::new("doc/config.example.toml")).unwrap(); + + assert_eq!(Some(crate::args::DeviceModel::Pro), config.model); + assert_eq!(true, config.no_cache); + assert_eq!(2, config.verbosity); +} -- cgit v1.2.3