Skip to content

Commit f7f12ad

Browse files
author
Jianke LIN
committed
test(streamable-http): cover closed-send helper
1 parent e271dc1 commit f7f12ad

1 file changed

Lines changed: 13 additions & 0 deletions

File tree

tests/client/test_streamable_http.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
MAX_RECONNECTION_ATTEMPTS,
3737
RequestContext,
3838
StreamableHTTPTransport,
39+
_send_or_ignore_closed,
3940
streamable_http_client,
4041
)
4142
from mcp.server import Server
@@ -198,6 +199,18 @@ async def test_sse_message_ignores_closed_read_stream() -> None:
198199
assert complete is True
199200

200201

202+
@pytest.mark.anyio
203+
async def test_send_or_ignore_closed_reports_delivery_status() -> None:
204+
read_stream_writer, read_stream = create_context_streams[SessionMessage | Exception](1)
205+
message = SessionMessage(JSONRPCResponse(jsonrpc="2.0", id=1, result={}))
206+
207+
async with read_stream_writer, read_stream:
208+
assert await _send_or_ignore_closed(read_stream_writer, message) is True # pyright: ignore[reportPrivateUsage]
209+
assert await read_stream.receive() == message
210+
await read_stream.aclose()
211+
assert await _send_or_ignore_closed(read_stream_writer, message) is False # pyright: ignore[reportPrivateUsage]
212+
213+
201214
@pytest.mark.anyio
202215
async def test_post_request_merges_per_message_metadata_headers() -> None:
203216
"""`ClientMessageMetadata.headers` on a `SessionMessage` are merged into the outgoing POST headers

0 commit comments

Comments
 (0)