rpki/tests/test_policy.rs
2026-02-09 19:35:54 +08:00

38 lines
1.1 KiB
Rust

use rpki::policy::{CaFailedFetchPolicy, Policy, SignedObjectFailurePolicy, SyncPreference};
#[test]
fn policy_defaults_are_correct() {
let p = Policy::default();
assert_eq!(p.sync_preference, SyncPreference::RrdpThenRsync);
assert_eq!(
p.ca_failed_fetch_policy,
CaFailedFetchPolicy::UseVerifiedCache
);
assert_eq!(
p.signed_object_failure_policy,
SignedObjectFailurePolicy::DropObject
);
}
#[test]
fn policy_toml_parsing_supports_overrides() {
let toml = r#"
sync_preference = "rsync_only"
ca_failed_fetch_policy = "stop_all_output"
signed_object_failure_policy = "drop_publication_point"
"#;
let p = Policy::from_toml_str(toml).expect("parse TOML policy");
assert_eq!(p.sync_preference, SyncPreference::RsyncOnly);
assert_eq!(p.ca_failed_fetch_policy, CaFailedFetchPolicy::StopAllOutput);
assert_eq!(
p.signed_object_failure_policy,
SignedObjectFailurePolicy::DropPublicationPoint
);
}
#[test]
fn policy_toml_parsing_uses_defaults_when_missing() {
let p = Policy::from_toml_str("").expect("parse empty TOML policy");
assert_eq!(p, Policy::default());
}