use distributed_config::{sources::FileSource, ConfigManager};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("🚀 Distributed Config - Simple Test");
println!("===================================");
let mut config_manager = ConfigManager::new();
let file_source = FileSource::new().add_file("simple_config.yaml", None);
config_manager.add_source(file_source, 10);
config_manager.initialize().await?;
println!("✅ Configuration manager initialized successfully!");
match config_manager.get_value("test.value").await {
Ok(value) => println!(" 📄 Found test.value: {value:?}"),
Err(_) => println!(" ⚠️ test.value not found (this is expected)"),
}
config_manager
.set_value(
"runtime.test",
distributed_config::ConfigValue::String("hello".to_string()),
)
.await?;
let value = config_manager.get_value("runtime.test").await?;
println!(" ✅ Set and retrieved runtime.test: {value:?}");
let feature_enabled = config_manager.is_feature_enabled("test_feature").await?;
println!(" 🚩 test_feature enabled: {feature_enabled}");
println!("\n✅ Simple test completed successfully!");
Ok(())
}