CultLib/tests/GameCult.Networking.Tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 492dd0e754 R-BA: delete the unreachable to.schemaId tiebreak from both edge comparators
Soul could not construct a selection where To.SchemaId decides the
EdgesFor/page_edges order once From, Role and To.RecordKey already
tie, but flagged that as a claim, not a proof - the same shape of
argument that was wrong twice before on this comparator (R-AT).

Traced instead of asserted: TryResolveReferenceTarget (C#) and
resolve_reference_target (Rust) resolve a reference purely from the
citer's schema, the role, and the record key, against the evaluation's
own fixed candidate index (byKey/by_key) - no edge- or caller-specific
input steers which candidate wins. Once From and Role tie (pinning the
citer's schema and the declared target type/leaves) and To.RecordKey
also ties, the resolved row - schema included - is forced identical by
construction, in both runtimes, every time. No mutation can distinguish
it because no input can, so it was deleted rather than recorded as
"equivalent": a component nothing can distinguish is a line every
future reader must reason about for no behavioural gain.

Deletes the To.Descriptor.SchemaId/to.schema_id() ThenBy/then_with from
CultNetSelectionEvaluator.EdgesFor and selection.rs's page_edges sort,
and updates the comments (in-code and the Survivor 5 test block) that
described the old five-key chain.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 09:08:55 +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 R-AT: fix the C# self-citer fixture's naming so it actually defeats push-order luck 2026-09-23 08:38:27 +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-BA: delete the unreachable to.schemaId tiebreak from both edge comparators 2026-09-23 09:08:55 +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 R-AO: shared vector for two-in-target shared-key resolution 2026-09-23 07:18:11 +02:00
SelectionWireParityTests.cs R-AZ: mirror the all-absent Edge vector into the C# parity test 2026-09-23 09:08:42 +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