| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| from collections.abc import AsyncGenerator | ||
|
|
||
| import pytest | ||
| from anyio.streams.memory import MemoryObjectSendStream | ||
|
|
||
| from mcp.shared.memory import create_client_server_memory_streams | ||
| from mcp.shared.message import SessionMessage | ||
| from mcp.shared.session import BaseSession | ||
| from mcp.types import ClientNotification, ClientRequest, JSONRPCMessage, JSONRPCRequest | ||
|
|
||
|
|
||
| @pytest.fixture | ||
| async def client_write() -> ( | ||
| AsyncGenerator[MemoryObjectSendStream[SessionMessage], None] | ||
| ): | ||
| """A stream that allows to write to a running session.""" | ||
| async with create_client_server_memory_streams() as ( | ||
| (_, client_write), | ||
| (server_read, server_write), | ||
| ): | ||
| async with BaseSession( | ||
| read_stream=server_read, | ||
| write_stream=server_write, | ||
| receive_request_type=ClientRequest, | ||
| receive_notification_type=ClientNotification, | ||
| ) as _: | ||
| yield client_write | ||
|
|
||
|
|
||
| @pytest.mark.anyio | ||
| async def test_session_does_not_raise_error_with_bad_input( | ||
| client_write: MemoryObjectSendStream[SessionMessage], | ||
| ): | ||
| # Given a running session | ||
|
|
||
| # When the client sends a bad request to the session | ||
| request = JSONRPCRequest(jsonrpc="2.0", id=1, method="bad_method", params=None) | ||
| message = SessionMessage(message=JSONRPCMessage(root=request)) | ||
| await client_write.send(message) | ||
|
|
||
| # Then the session can still be talked to | ||
| await client_write.send(message) |
| Back | FazBrowse Home | New Git URL |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Qualitywe should send back some feedback about invalid request to the client here (and update the tests to check for that)
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.