20260701 add validation-update-03 VRS mode
This commit is contained in:
@@ -2,6 +2,7 @@ use super::*;
|
||||
use crate::memory_telemetry::{
|
||||
MemoryTelemetryCheckpoint, MemoryTelemetrySummary, ProcessMemorySnapshot,
|
||||
};
|
||||
use crate::policy::ResourceValidationMode;
|
||||
use crate::storage::{
|
||||
RocksDbMemorySnapshot, RocksDbMemoryTotals, VcirCcrProjectionSizeBreakdown,
|
||||
VcirChildResourceSizeBreakdown, VcirCoreFieldSizeBreakdown, VcirFieldSizeBreakdown,
|
||||
@@ -19,6 +20,7 @@ fn parse_help_returns_usage() {
|
||||
assert!(err.contains("--parallel-phase2-object-workers"), "{err}");
|
||||
assert!(err.contains("--memory-trim-after-validation"), "{err}");
|
||||
assert!(err.contains("--enable-roa-validation-cache"), "{err}");
|
||||
assert!(err.contains("--resource-validation-mode"), "{err}");
|
||||
assert!(
|
||||
err.contains("--publication-point-cache-observe-only"),
|
||||
"{err}"
|
||||
@@ -340,6 +342,39 @@ fn parse_accepts_strict_without_value_as_all() {
|
||||
assert_eq!(args.strict_policy, Some(StrictPolicy::all()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_accepts_resource_validation_mode() {
|
||||
let argv = vec![
|
||||
"rpki".to_string(),
|
||||
"--db".to_string(),
|
||||
"db".to_string(),
|
||||
"--tal-url".to_string(),
|
||||
"https://example.test/x.tal".to_string(),
|
||||
"--resource-validation-mode".to_string(),
|
||||
"rfc6487".to_string(),
|
||||
];
|
||||
let args = parse_args(&argv).expect("parse args");
|
||||
assert_eq!(
|
||||
args.resource_validation_mode,
|
||||
Some(ResourceValidationMode::Rfc6487)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_rejects_unknown_resource_validation_mode() {
|
||||
let argv = vec![
|
||||
"rpki".to_string(),
|
||||
"--db".to_string(),
|
||||
"db".to_string(),
|
||||
"--tal-url".to_string(),
|
||||
"https://example.test/x.tal".to_string(),
|
||||
"--resource-validation-mode".to_string(),
|
||||
"bogus".to_string(),
|
||||
];
|
||||
let err = parse_args(&argv).expect_err("unknown mode should fail");
|
||||
assert!(err.contains("unknown resource validation mode"), "{err}");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn parse_rejects_unknown_strict_policy() {
|
||||
let argv = vec![
|
||||
@@ -1407,6 +1442,10 @@ fn read_policy_accepts_valid_toml() {
|
||||
policy.signed_object_failure_policy,
|
||||
crate::policy::SignedObjectFailurePolicy::DropPublicationPoint
|
||||
);
|
||||
assert_eq!(
|
||||
policy.resource_validation_mode,
|
||||
ResourceValidationMode::ValidationUpdate03
|
||||
);
|
||||
assert_eq!(policy.strict, StrictPolicy::default());
|
||||
}
|
||||
|
||||
@@ -1435,6 +1474,19 @@ fn read_policy_accepts_strict_table() {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn read_policy_accepts_resource_validation_mode() {
|
||||
let dir = tempfile::tempdir().expect("tmpdir");
|
||||
let p = dir.path().join("policy.toml");
|
||||
std::fs::write(&p, "resource_validation_mode = \"rfc6487\"\n").expect("write policy");
|
||||
|
||||
let policy = read_policy(Some(&p)).expect("parse policy");
|
||||
assert_eq!(
|
||||
policy.resource_validation_mode,
|
||||
ResourceValidationMode::Rfc6487
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn read_policy_reports_missing_file() {
|
||||
let dir = tempfile::tempdir().expect("tmpdir");
|
||||
|
||||
Reference in New Issue
Block a user