holger-recipe/tests/public_site_row.rs
//! **holger.rs's release front turns the public site on, and nothing else
//! does** (TASKS-12 S-6, the owner's SLIM and AIRGAP rules, 2026-10-25): the
//! front's payload row and its dev-narrate twin name `public-site`; every
//! other row, among them every server row, does not.
use holger_recipe::HolgerBuildThing;
use nornir_build_thing::plugin::BuildThing as _;
const FRONT_ROWS: &[&str] = &[
"estate-front-musl-metered",
"estate-front-musl-metered-narrate",
];
#[test]
fn the_release_front_builds_the_public_site() {
let set = HolgerBuildThing.variants();
for row in FRONT_ROWS {
let v = set
.variants
.iter()
.find(|v| v.name == *row)
.unwrap_or_else(|| panic!("no row {row}"));
assert!(
v.features.iter().any(|f| f == "public-site"),
"{row}: {:?}",
v.features
);
}
}
#[test]
fn no_other_row_builds_it() {
let set = HolgerBuildThing.variants();
for v in set
.variants
.iter()
.filter(|v| !FRONT_ROWS.contains(&v.name.as_str()))
{
assert!(
!v.features.iter().any(|f| f.contains("public-site")),
"{} builds the public site: {:?}",
v.name,
v.features
);
}
}