Files
freemkv-keysources/docs/online-preflight-guard-tests.md
T
Matthew Jackson 599422ef22 release: 1.7.0
CI/lint hardening since v1.6.14: clippy on stable with the MSRV single-sourced
from Cargo.toml, cargo-deny dependency-audit gate with first-party git sources
allowed (#15), and audience-based comment-guard (#17). No library code changes.
2026-09-02 12:27:48 -07:00

1.0 KiB

src/online.rs tests — pre-flight guards in query

Each of the three guards (cleartext scheme, over-cap MKB, under-sampled) fires BEFORE any address is resolved and before anything is sent. None was exercised before these tests: a reordering that let the cleartext POST through would have shipped green, and that POST carries the bearer token plus base64 key material.

Their VERDICTS differ on purpose (see docs/online-query-guards.md): the cleartext-scheme guard is an operator fault and yields Err, while the two input-shaped guards yield Ok(empty) — this source has nothing for THIS disc, permanently, and calling that an outage would send the operator waiting for nothing.

The discriminator in all three: the configured host is .test, which RFC 6761 guarantees never resolves. On the guarded path nothing resolves it, so the test touches no network and returns Ok(empty). Remove the guard and control reaches resolve_and_guard, which fails as Unreachable -> Err(KeyServiceUnavailable) — a different Result, so the mutation cannot pass.