AyCode.Core/AyCode.Services.Server.Tests/SignalRs
Loretta f051f32bfa Refactor MaxDepth handling: explicit Throw/Truncate/Disable
- Introduce `MaxDepthBehavior` option (`Throw`, `Truncate`, `Disable`) for explicit depth-limit handling in AcBinarySerializer and SGen.
- Default is now `Throw` (fail-fast); `ShallowCopy` preset uses `Truncate` for shallow-copy semantics.
- Refactor runtime and SGen paths to use unified `TryEnterRecursion`/`ExitRecursion` for correct wire output and inc/dec symmetry.
- Add focused tests to diagnose SGen+Truncate wire-misalignment bug (see `BINARY_ISSUES.md#accore-bin-i-t7k3`).
- Update docs and comments to clarify new behavior and document Toon serializer's current lack of `MaxDepthBehavior` support.
- Adjust tests and usages for new semantics and improved safety.
2026-05-14 14:13:48 +02:00
..
SignalRDatasources [LOADED_DOCS: 2 files, no new loads] 2026-05-13 08:40:42 +02:00
AcBinaryHubProtocolConcurrencyTests.cs [LOADED_DOCS: 3 files, no new loads] 2026-04-30 07:48:01 +02:00
AsyncSegmentPipeTransportWriter.cs [LOADED_DOCS: .github\copilot-instructions.md] 2026-04-18 14:31:27 +02:00
README.md Document AcBinary wire format, sync docs, update conventions 2026-03-29 09:11:57 +02:00
SignalRClientToHubTest.cs Refactor MaxDepth handling: explicit Throw/Truncate/Disable 2026-05-14 14:13:48 +02:00
SignalRTestHelper.cs Zero-copy SignalR: direct object response, no SignalData 2026-04-06 22:45:00 +02:00
SlabTransportWriter.cs Simulate Kestrel slab transport for SignalR BWO tests 2026-04-08 08:25:48 +02:00
TestInvocationBinder.cs Add SignalR protocol round-trip and multi-segment tests 2026-04-07 12:28:32 +02:00
TestMultiSegmentProtocol.cs [LOADED_DOCS: .github\copilot-instructions.md] 2026-04-22 22:44:37 +02:00
TestSignalRService2.cs [LOADED_DOCS: 2 files, no new loads] 2026-05-13 08:40:42 +02:00
TestSignalRTags.cs Add expression serialization & chain API for JSON deserialization 2025-12-29 15:28:46 +01:00
TestableSignalRClient2.cs [LOADED_DOCS: .github\copilot-instructions.md] 2026-04-18 14:31:27 +02:00
TestableSignalRHub2.cs [LOADED_DOCS: .github\copilot-instructions.md] 2026-04-19 12:58:31 +02:00

README.md

SignalRs

Full SignalR client→hub→service test infrastructure with testable components that bypass real network connections.

Key Files

  • SignalRClientToHubTest.cs — Abstract round-trip test base. Tests: Post_SingleInt, Post_TwoInts, Post_Bool, Post_String, Post_Guid, Post_Enum, and more.
  • TestableSignalRClient2.csAcSignalRClientBase implementation: direct hub calls, zero network, zero delays.
  • TestableSignalRHub2.csAcWebSignalRHubBase implementation: simulates connection state, user identity, claims. Captures responses.
  • TestSignalRService2.cs — 50+ methods: primitives (23), complex objects (3), collections (9), arrays (6), mixed (4), async (4), Task.FromResult (4), large datasets, property mismatch, DataSource CRUD (7), production bug reproductions.
  • TestSignalRTags.cs — 50+ const int message tags (100-500 range).
  • SignalRTestHelper.cs — CreatePrimitiveParamsMessage, CreateComplexObjectMessage, GetResponseData, AssertSuccessResponse.

Subfolders

Folder Purpose
SignalRDatasources/ DataSource CRUD and collection tests