Translate HTTP and network tests

This commit is contained in:
2026-08-08 18:30:51 +02:00
parent de6e611ef0
commit 6d4d9adaf4
13 changed files with 1793 additions and 1051 deletions

View File

@@ -334,8 +334,8 @@ markers in hand-written Rust files, so regeneration records unresolved cases
without creating fake executable tests and fails on body drift. The checked-in
audit reports pending, translated, ignored-live, benchmark, drifted, missing,
duplicate, stale, and unreviewed cases. The initial handover contained 1,289
unreviewed cases; the current ledger contains 145 translated, four
benchmark-reviewed, and 1,140 pending cases.
unreviewed cases; the current ledger contains 149 translated, three reviewed
live-grid cases, four benchmark-reviewed, and 1,133 pending cases.
The Rust tests must call the public APIs rather than internal replacements.
Where the C# tests call internal members through friend-assembly access, record
@@ -358,8 +358,8 @@ The test-suite gate is complete only when:
- a controlled test run fails at standardized unimplemented member IDs rather
than from missing symbols, compile errors, malformed fixtures, or weakened
assertions;
- live-server/device tests are faithfully translated but `#[ignore]` by default
with documented opt-in configuration;
- live-server/device tests are faithfully translated and are conditionally
ignored only while their documented credentials are absent;
- no production method contains real behavior beyond what is required to make
signatures and constants compile.
@@ -712,8 +712,10 @@ Test translation rules:
- async tests use paused/injected time where possible; no arbitrary sleeps.
- Moq interaction tests prefer a small fake recording calls; use Mockall only
when a trait contract has many independent expectations.
- `RequiresLiveServer` tests become `#[ignore]` and require explicit grid URL,
first/last name, and secret environment variables. They never run in normal CI.
- `RequiresLiveServer` tests use `GRID_USER`, `GRID_PASSWORD`, and
`GRID_LOGIN_URL` from the process environment or the ignored workspace
`.env`; they are ignored when any value is absent and run automatically when
all three are present. `.env.example` documents the non-secret shape.
- benchmark-category methods move to Criterion and are removed from correctness
pass/fail counts.
- malformed wire/asset tests become fuzz seeds after direct parity is passing.