CultLib/tests/GameCult.Networking.Tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 99e366a36d R-AA follow-up: kill ComputeDigest's flag-swap survivors, pin EdgesFor's primary key
The first Stryker pass (72.18%, up from 66%) showed the named dozen mostly
dead but surfaced two related gaps the "differs" style of assertion cannot
reach on its own:

- ComputeDigest's field-number and cites.role presence flags each had an
  equality-mutation survivor (field.Number != null / selection.Cites.Role
  != null) that a same-vs-different digest comparison cannot catch: the
  mutant swaps which of two cases gets which flag value, so both cases
  still digest differently, just under swapped labels. A handful of plain
  AppendString/sb.Append deletions survived alongside it for the same
  reason - removing content that a same-vs-different pair didn't happen
  to isolate. One independently reconstructed golden HMAC value, built
  from the method's own doc comments rather than its private helpers,
  pins the whole wire shape at once: any single append or flag polarity
  wrong breaks the exact match.
- EdgesFor's OrderBy(pageRowIndex) - the primary "page-row order" key R-B
  names before "(from, role, to)" - had no test forcing page position and
  from/role/to order to disagree, so it survived alongside (and separate
  from) the five ThenBy mutants already named.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-22 21:48:10 +02:00
..
CultNetCanonicalNumberTests.cs CultNet selection cut1 fix batch: R-I/K/D tests and R-A/R-M reflection fix 2026-09-22 09:39:36 +02:00
CultNetDocumentBindingResolverTests.cs Make generated and reflective document members one rule 2026-09-13 22:00:16 +02:00
CultNetOperationServerTests.cs Bind CultMesh authority identity to physical routes 2026-08-18 17:21:58 +02:00
CultNetSchemaContractTests.cs Fix batch 4 (R-X, S-4/S-10): the error schema matches the wire, and the validator refuses a keyword it does not implement 2026-09-22 21:12:23 +02:00
CultNetSchemaServerGroupTests.cs Share CultNet handlers across transports 2026-08-18 01:31:04 +02:00
CultNetSelectionEvaluatorTests.cs Land fix batch 3's R-O and R-Q: keyed length-prefixed cursors, replica-apply sequence gap 2026-09-22 20:04:22 +02:00
CultNetSelectionFixBatchTests.cs Fix batch 4 (R-V/R-W/S-8/R-Y): row identity is (schemaId, recordKey), and the cursor digest covers its own body 2026-09-22 21:11:54 +02:00
CultNetSelectionPageTests.cs CultNet selection cut1 fix batch: R-I/K/D tests and R-A/R-M reflection fix 2026-09-22 09:39:36 +02:00
CultNetSelectionSurvivorTests.cs R-AA follow-up: kill ComputeDigest's flag-swap survivors, pin EdgesFor's primary key 2026-09-22 21:48:10 +02:00
GameCult.Networking.Tests.csproj Add GameCult Mesh package home 2026-05-19 19:08:48 +01:00
MiniJsonSchemaValidator.cs Fix batch 4 (R-X, S-4/S-10): the error schema matches the wire, and the validator refuses a keyword it does not implement 2026-09-22 21:12:23 +02:00
NetworkingTests.cs Fix batch 4 (S-9/S-11): shard-scoped asOf, and the v1 subscribe door runs before the hop refusal 2026-09-22 21:12:07 +02:00
README.md JSON backing store, I/O fixes, Networking Security 2026-04-18 13:01:24 +01:00
SelectionParityVectorTests.cs Add the two pending cites-refusal parity vectors, now that C# refuses them 2026-09-22 19:22:18 +02:00

GameCult.Networking.Tests

GameCult.Networking.Tests contains NUnit tests for the networking library.

Scope

The tests currently cover:

  • AES-GCM encrypt/decrypt round-trips in Secret
  • signed session-token validation
  • signed session-token tamper detection
  • signed session-token expiry handling

Run

dotnet test tests\GameCult.Networking.Tests\GameCult.Networking.Tests.csproj

Adding New Tests

Typical future areas to expand include:

  • client reconnect and verify flows
  • login and registration integration tests
  • malformed message handling
  • rate-limiting behavior under concurrency