1use serde::Deserialize;
2
3#[derive(Debug, Clone, Deserialize)]
4pub struct BasicConfig {
5 pub log_level: String,
6 pub ignore_self_message: bool,
7 pub prefix: Vec<String>,
8}
9
10#[cfg(test)]
11mod test {
12 use crate::config::BasicConfig;
13 use serde::Deserialize;
14
15 use config::{Config, File, FileFormat};
16
17 #[derive(Debug, Deserialize)]
18 #[allow(dead_code)]
19 struct AppConfig {
20 basic: BasicConfig,
21 }
22
23 #[test]
24 fn test_config_load() -> Result<(), Box<dyn std::error::Error>> {
25 let config = Config::builder()
26 .add_source(File::new("config", FileFormat::Toml)) .build()?
28 .try_deserialize::<AppConfig>(); println!("{:?}", config);
30 assert!(config.is_ok());
31
32 Ok(())
33 }
34}