use apollo_configuration::configuration;
use apollo_configuration::parse_yaml;
use apollo_configuration::types::Duration;
#[configuration]
struct DurationConfig {
#[config(required)]
timeout: Duration,
}
#[configuration]
struct BoxedConfig {
#[config(required)]
inner: Box<DurationConfig>,
}
#[test]
fn boxed_config_parses() {
let config: BoxedConfig = parse_yaml(
r#"
inner:
timeout: 10s
"#,
&Default::default(),
)
.unwrap();
assert_eq!(*config.inner.timeout, std::time::Duration::from_secs(10));
}