Monorepo consolidation: workspace, shared types, transport plans, docker/swam assets
This commit is contained in:
39
control/api/tests/build_info.rs
Normal file
39
control/api/tests/build_info.rs
Normal file
@@ -0,0 +1,39 @@
|
||||
#[test]
|
||||
fn build_info_parser_extracts_expected_labels() {
|
||||
let metrics = r#"
|
||||
# HELP gateway_build_info build info
|
||||
# TYPE gateway_build_info gauge
|
||||
gateway_build_info{service="gateway",version="1.2.3",git_sha="abc"} 1
|
||||
runner_build_info{service="runner",version="2.0.0",git_sha="def"} 1
|
||||
unrelated_metric 5
|
||||
"#;
|
||||
|
||||
let info = api::extract_build_info(metrics);
|
||||
assert_eq!(info.len(), 2);
|
||||
assert!(
|
||||
info.iter()
|
||||
.any(|i| i.service == "gateway" && i.version == "1.2.3" && i.git_sha == "abc")
|
||||
);
|
||||
assert!(
|
||||
info.iter()
|
||||
.any(|i| i.service == "runner" && i.version == "2.0.0" && i.git_sha == "def")
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn build_info_snapshot_has_required_services() {
|
||||
let metrics = r#"
|
||||
gateway_build_info{service="gateway",version="1.2.3",git_sha="abc"} 1
|
||||
aggregate_build_info{service="aggregate",version="1.0.0",git_sha="aaa"} 1
|
||||
projection_build_info{service="projection",version="1.0.0",git_sha="bbb"} 1
|
||||
runner_build_info{service="runner",version="2.0.0",git_sha="ccc"} 1
|
||||
"#;
|
||||
|
||||
let info = api::extract_build_info(metrics);
|
||||
for required in ["gateway", "aggregate", "projection", "runner"] {
|
||||
assert!(
|
||||
info.iter().any(|i| i.service == required),
|
||||
"missing build_info for service={required}"
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user