Your browser sucks, JavaScript disabled! Gunnar's console needs JavaScript and WebAssembly. Git over SSH on port 2222 does not.

nordisk/holger

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"
    );
}