holger-recipe/tests/admit_share_on_metered.rs
//! **The admit-share row applies to every metered row** (owner 2026-09-28).
//!
//! A metered holger sells room, and the paid download admission (`admit-share`,
//! edda `admit` `UsageShare`: a per-estate limit/window, then `Reduced`) is part
//! of what it sells. A metered server row built without it can only run
//! `PassThrough`, and a RON naming `UsageShare` refuses to boot on it — so every
//! row that carries `metered` on a holger-server binary carries `admit-share`.
#[test]
fn every_metered_server_row_carries_admit_share() {
let rows: Vec<_> = holger_recipe::variants::variants()
.into_iter()
.filter(|v| {
v.features.iter().any(|f| f == "metered") && v.package.as_deref() == Some("holger")
})
.collect();
assert!(
rows.len() >= 2,
"the metered server rows (mvp-server-metered, mvp-server-musl-metered) are found: {:?}",
rows.iter().map(|r| &r.name).collect::<Vec<_>>()
);
for r in &rows {
assert!(
r.features.iter().any(|f| f == "admit-share"),
"{} is metered and lacks admit-share: {:?}",
r.name,
r.features
);
}
}
#[test]
fn the_emitted_toml_says_so() {
let toml = holger_recipe::emitted_toml().expect("the recipe emits");
let metered_rows = toml
.split("[[build.variant]]")
.filter(|r| r.contains("\"metered\"") && r.contains("package = \"holger\"\n"))
.count();
let with_share = toml
.split("[[build.variant]]")
.filter(|r| {
r.contains("\"metered\"")
&& r.contains("package = \"holger\"\n")
&& r.contains("\"admit-share\"")
})
.count();
assert!(
metered_rows >= 2 && metered_rows == with_share,
"{with_share} of {metered_rows} metered server rows carry admit-share"
);
}