You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Remove MRTR Core tests redundant with MapMcpTests theory rows
Phase 1 of this restoration brought back three Core MRTR happy-path tests
that duplicate scenarios already covered by `MapMcpTests.Mrtr` theory rows
(across StreamableHttp / SSE / Stateless transports with both
`experimentalClient: true` and `experimentalClient: false`):
* `CallToolAsync_BothExperimental_ElicitCompletesViaMrtr`
→ covered by `Mrtr_MultiRoundTrip_Completes(experimentalClient: true)`
* `CallToolAsync_ConcurrentElicitAndSample_PropagatesError`
→ covered by `Mrtr_ParallelAwaits(experimentalClient: true)`
* `CallToolAsync_ElicitThenIncompleteResultException_WorksEndToEnd`
→ covered by `Mrtr_MixedExceptionAndAwaitStyle(experimentalClient: true)`
The MapMcpTests versions assert the same MrtrContext gate ("Concurrent
server-to-client requests are not supported"), the same MrtrUsed message
tracker assertions, and run against multiple transports. The Core stdio
mirrors added no transport-independent coverage.
Also removed two now-unused tool definitions in the test fixture:
`concurrent-tool`, `incomplete-result-tool`, `elicit-then-incomplete-result-tool`.
Retained the rest of MrtrIntegrationTests:
* `ClientHandlerException_DuringMrtrInputResolution_SurfacesToCaller`
(draft client retry-loop error propagation — not covered by the legacy
`Mrtr_Backcompat_ClientHandlerThrows_PropagatesError` which exercises
a different code path)
* `SendMessageAsync_WithJsonRpcRequest_ThrowsAlways` (client API contract)
* `LegacyRequestOnMrtrSession_LogsWarning` (fake-stream protocol-compliance assertion)
* `IncompleteResultOnNonMrtrSession_LogsWarning` (fake-stream protocol-compliance assertion)
* `IncompleteResultRetry_OmittingRequestState_StripsStaleStateFromRetryParams` (regression test)
The server-side lifecycle tests (MrtrHandlerLifecycleTests), message
filter tests (MrtrMessageFilterTests), and per-session limit pattern tests
(MrtrSessionLimitTests) are intentionally kept — they exercise the internal
MRTR machinery (continuation cancellation, handler drain, outgoing filter
visibility) which is not naturally testable at the HTTP transport layer.
Test counts: Core 2024 → 2021 (-3); AspNetCore unchanged at 435.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
0 commit comments