use canic::{
api::metrics::MetricsQuery,
dto::metrics::{MetricEntry, MetricsKind, QueryPerfSample},
dto::page::PageRequest,
};
#[test]
fn metrics_query_sample_query_is_public_facade_usable() {
let sample: QueryPerfSample<&str> = MetricsQuery::sample_query("ok");
assert_eq!(sample.value, "ok");
assert_eq!(sample.local_instructions, 0);
}
#[test]
fn metrics_query_page_is_public_facade_usable() {
let page = MetricsQuery::page(
MetricsKind::Security,
PageRequest {
limit: 10,
offset: 0,
},
);
let entries: Vec<MetricEntry> = page.entries;
assert!(entries.is_empty());
}
#[test]
fn all_metric_families_are_public_facade_usable() {
for kind in [
MetricsKind::Core,
MetricsKind::Placement,
MetricsKind::Platform,
MetricsKind::Runtime,
MetricsKind::Security,
MetricsKind::Storage,
] {
let page = MetricsQuery::page(
kind,
PageRequest {
limit: 10,
offset: 0,
},
);
assert_eq!(page.total, 0);
assert!(page.entries.is_empty());
}
}