TestMultiSegmentProtocol now uses a custom MemoryPool to simulate Kestrel's slab allocator with 256-byte segments for both writing and reading. This replaces manual multi-segment sequence creation with a real Pipe backed by SlabSimulatingPool, ensuring more realistic segment boundaries and offsets. Old helpers were removed, and comments updated to clarify the improved simulation of production SignalR/Kestrel pipe behavior. |
||
|---|---|---|
| .. | ||
| SignalRDatasources | ||
| README.md | ||
| SignalRClientToHubTest.cs | ||
| SignalRTestHelper.cs | ||
| TestInvocationBinder.cs | ||
| TestMultiSegmentProtocol.cs | ||
| TestSignalRService2.cs | ||
| TestSignalRTags.cs | ||
| TestableSignalRClient2.cs | ||
| TestableSignalRHub2.cs | ||
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.cs—AcSignalRClientBaseimplementation: direct hub calls, zero network, zero delays.TestableSignalRHub2.cs—AcWebSignalRHubBaseimplementation: 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 |