use super::*;
#[test]
fn test_default_config_paths() {
let config_dir = Config::default_config_dir();
assert!(config_dir.is_ok());
let config_path = Config::default_config_path();
assert!(config_path.is_ok());
if let Ok(path) = config_path {
assert!(path.ends_with(".cstats/config.json"));
}
}
#[tokio::test]
async fn test_config_validation() {
let mut config = Config::default();
assert!(config.validate().is_ok());
config.database.url = String::new();
assert!(config.validate().is_err());
config = Config::default();
config.database.max_connections = 0;
assert!(config.validate().is_err());
config = Config::default();
config.cache.max_size_bytes = 0;
assert!(config.validate().is_err());
config = Config::default();
config.stats.sampling_rate = -0.1;
assert!(config.validate().is_err());
config = Config::default();
config.stats.sampling_rate = 1.1;
assert!(config.validate().is_err());
}