modify rtr server metrics data
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
use std::fmt::Write;
|
||||
use std::net::{Ipv4Addr, Ipv6Addr};
|
||||
|
||||
use serde_json::{Value, json};
|
||||
use serde_json::{json, Value};
|
||||
|
||||
use rpki::data_model::resources::ip_resources::{IPAddress, IPAddressPrefix};
|
||||
use rpki::rtr::cache::SerialResult;
|
||||
|
||||
@@ -13,25 +13,18 @@ fn store_db_versioned_state_persists_and_restores_all_versions() {
|
||||
let dir = tempfile::tempdir().unwrap();
|
||||
let store = RtrStore::open(dir.path()).unwrap();
|
||||
|
||||
let snapshots = [
|
||||
Snapshot::from_payloads(vec![Payload::RouteOrigin(v4_origin(
|
||||
192, 0, 2, 0, 24, 24, 64496,
|
||||
))]),
|
||||
Snapshot::from_payloads(vec![
|
||||
Payload::RouteOrigin(v4_origin(192, 0, 2, 0, 24, 24, 64496)),
|
||||
Payload::RouteOrigin(v4_origin(198, 51, 100, 0, 24, 24, 64497)),
|
||||
]),
|
||||
Snapshot::from_payloads(vec![
|
||||
Payload::RouteOrigin(v4_origin(192, 0, 2, 0, 24, 24, 64496)),
|
||||
Payload::RouteOrigin(v4_origin(198, 51, 100, 0, 24, 24, 64497)),
|
||||
Payload::RouteOrigin(v6_origin(
|
||||
Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0),
|
||||
32,
|
||||
48,
|
||||
64498,
|
||||
)),
|
||||
]),
|
||||
];
|
||||
let source_snapshot = Snapshot::from_payloads(vec![
|
||||
Payload::RouteOrigin(v4_origin(192, 0, 2, 0, 24, 24, 64496)),
|
||||
Payload::RouteOrigin(v4_origin(198, 51, 100, 0, 24, 24, 64497)),
|
||||
Payload::RouteOrigin(v6_origin(
|
||||
Ipv6Addr::new(0x2001, 0xdb8, 0, 0, 0, 0, 0, 0),
|
||||
32,
|
||||
48,
|
||||
64498,
|
||||
)),
|
||||
]);
|
||||
let snapshots =
|
||||
std::array::from_fn(|version| source_snapshot.project_for_version(version as u8));
|
||||
let session_ids = [410u16, 411u16, 412u16];
|
||||
let serials = [100u32, 200u32, 300u32];
|
||||
|
||||
@@ -63,7 +56,10 @@ fn store_db_versioned_state_persists_and_restores_all_versions() {
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
assert_eq!(store.get_availability().unwrap(), Some(CacheAvailability::Ready));
|
||||
assert_eq!(
|
||||
store.get_availability().unwrap(),
|
||||
Some(CacheAvailability::Ready)
|
||||
);
|
||||
|
||||
for version in 0u8..=2 {
|
||||
let idx = version as usize;
|
||||
@@ -85,16 +81,28 @@ fn store_db_versioned_state_persists_and_restores_all_versions() {
|
||||
assert_eq!(loaded_serial, serials[idx]);
|
||||
}
|
||||
|
||||
assert_eq!(store.get_delta_window_for_version(0).unwrap(), Some((100, 100)));
|
||||
assert_eq!(store.get_delta_window_for_version(1).unwrap(), None);
|
||||
assert_eq!(store.get_delta_window_for_version(2).unwrap(), Some((300, 300)));
|
||||
assert_eq!(
|
||||
store.get_delta_for_version(0, 100).unwrap().map(|d| d.serial()),
|
||||
store.get_delta_window_for_version(0).unwrap(),
|
||||
Some((100, 100))
|
||||
);
|
||||
assert_eq!(store.get_delta_window_for_version(1).unwrap(), None);
|
||||
assert_eq!(
|
||||
store.get_delta_window_for_version(2).unwrap(),
|
||||
Some((300, 300))
|
||||
);
|
||||
assert_eq!(
|
||||
store
|
||||
.get_delta_for_version(0, 100)
|
||||
.unwrap()
|
||||
.map(|d| d.serial()),
|
||||
Some(100)
|
||||
);
|
||||
assert!(store.get_delta_for_version(1, 200).unwrap().is_none());
|
||||
assert_eq!(
|
||||
store.get_delta_for_version(2, 300).unwrap().map(|d| d.serial()),
|
||||
store
|
||||
.get_delta_for_version(2, 300)
|
||||
.unwrap()
|
||||
.map(|d| d.serial()),
|
||||
Some(300)
|
||||
);
|
||||
}
|
||||
@@ -114,12 +122,16 @@ fn store_db_versioned_delta_window_wraparound_is_isolated_by_version() {
|
||||
);
|
||||
let d_zero = Delta::new(
|
||||
0,
|
||||
vec![Payload::RouteOrigin(v4_origin(198, 51, 100, 0, 24, 24, 64497))],
|
||||
vec![Payload::RouteOrigin(v4_origin(
|
||||
198, 51, 100, 0, 24, 24, 64497,
|
||||
))],
|
||||
vec![],
|
||||
);
|
||||
let d_one = Delta::new(
|
||||
1,
|
||||
vec![Payload::RouteOrigin(v4_origin(203, 0, 113, 0, 24, 24, 64498))],
|
||||
vec![Payload::RouteOrigin(v4_origin(
|
||||
203, 0, 113, 0, 24, 24, 64498,
|
||||
))],
|
||||
vec![],
|
||||
);
|
||||
let d_v1_only = Delta::new(
|
||||
@@ -180,7 +192,10 @@ fn store_db_versioned_delta_window_wraparound_is_isolated_by_version() {
|
||||
);
|
||||
|
||||
let v1_loaded = store.load_delta_window_for_version(1, 0, 0).unwrap();
|
||||
assert_eq!(v1_loaded.iter().map(Delta::serial).collect::<Vec<_>>(), vec![0]);
|
||||
assert_eq!(
|
||||
v1_loaded.iter().map(Delta::serial).collect::<Vec<_>>(),
|
||||
vec![0]
|
||||
);
|
||||
assert_eq!(v1_loaded[0].announced().len(), 1);
|
||||
}
|
||||
|
||||
@@ -209,7 +224,9 @@ fn store_db_versioned_clear_window_affects_only_target_version() {
|
||||
);
|
||||
let d2 = Delta::new(
|
||||
30,
|
||||
vec![Payload::RouteOrigin(v4_origin(203, 0, 113, 0, 24, 24, 64498))],
|
||||
vec![Payload::RouteOrigin(v4_origin(
|
||||
203, 0, 113, 0, 24, 24, 64498,
|
||||
))],
|
||||
vec![],
|
||||
);
|
||||
|
||||
@@ -240,9 +257,15 @@ fn store_db_versioned_clear_window_affects_only_target_version() {
|
||||
assert_eq!(store.get_delta_window_for_version(0).unwrap(), None);
|
||||
assert!(store.get_delta_for_version(0, 10).unwrap().is_none());
|
||||
|
||||
assert_eq!(store.get_delta_window_for_version(2).unwrap(), Some((30, 30)));
|
||||
assert_eq!(
|
||||
store.get_delta_for_version(2, 30).unwrap().map(|d| d.serial()),
|
||||
store.get_delta_window_for_version(2).unwrap(),
|
||||
Some((30, 30))
|
||||
);
|
||||
assert_eq!(
|
||||
store
|
||||
.get_delta_for_version(2, 30)
|
||||
.unwrap()
|
||||
.map(|d| d.serial()),
|
||||
Some(30)
|
||||
);
|
||||
}
|
||||
@@ -312,7 +335,10 @@ fn store_db_versioned_prunes_outside_window() {
|
||||
assert!(store.get_delta_for_version(0, 100).unwrap().is_none());
|
||||
assert!(store.get_delta_for_version(0, 101).unwrap().is_none());
|
||||
assert_eq!(
|
||||
store.get_delta_for_version(0, 102).unwrap().map(|d| d.serial()),
|
||||
store
|
||||
.get_delta_for_version(0, 102)
|
||||
.unwrap()
|
||||
.map(|d| d.serial()),
|
||||
Some(102)
|
||||
);
|
||||
}
|
||||
@@ -327,7 +353,9 @@ fn store_db_versioned_load_delta_window_requires_complete_range() {
|
||||
|
||||
let d11 = Delta::new(
|
||||
11,
|
||||
vec![Payload::RouteOrigin(v4_origin(198, 51, 100, 0, 24, 24, 64497))],
|
||||
vec![Payload::RouteOrigin(v4_origin(
|
||||
198, 51, 100, 0, 24, 24, 64497,
|
||||
))],
|
||||
vec![],
|
||||
);
|
||||
store
|
||||
|
||||
Reference in New Issue
Block a user