Skip to content

Commit 53a1ae2

Browse files
committed
fix: add missing jsonrpc field to JSONRPCRequest in tests
All JSONRPCRequest instances must include the jsonrpc='2.0' field as required by the Pydantic model validation.
1 parent cf3b71b commit 53a1ae2

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

tests/shared/test_proxy.py

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ async def test_proxy_forwards_client_to_server(create_streams):
3636
client_streams, server_streams, (client_read_writer, _), (_, server_write_reader) = create_streams()
3737

3838
# Create a test message
39-
request = JSONRPCRequest(id="1", method="test_method", params={"key": "value"})
39+
request = JSONRPCRequest(jsonrpc="2.0", id="1", method="test_method", params={"key": "value"})
4040
message = SessionMessage(JSONRPCMessage(request))
4141

4242
async with mcp_proxy(client_streams, server_streams):
@@ -56,7 +56,7 @@ async def test_proxy_forwards_server_to_client(create_streams):
5656
client_streams, server_streams, (_, client_write_reader), (server_read_writer, _) = create_streams()
5757

5858
# Create a test message
59-
request = JSONRPCRequest(id="2", method="server_method", params={"data": "test"})
59+
request = JSONRPCRequest(jsonrpc="2.0", id="2", method="server_method", params={"data": "test"})
6060
message = SessionMessage(JSONRPCMessage(request))
6161

6262
async with mcp_proxy(client_streams, server_streams):
@@ -84,8 +84,8 @@ async def test_proxy_bidirectional_forwarding(create_streams):
8484
) = create_streams()
8585

8686
# Create test messages
87-
client_request = JSONRPCRequest(id="client_1", method="client_method", params={})
88-
server_request = JSONRPCRequest(id="server_1", method="server_method", params={})
87+
client_request = JSONRPCRequest(jsonrpc="2.0", id="client_1", method="client_method", params={})
88+
server_request = JSONRPCRequest(jsonrpc="2.0", id="server_1", method="server_method", params={})
8989

9090
client_msg = SessionMessage(JSONRPCMessage(client_request))
9191
server_msg = SessionMessage(JSONRPCMessage(server_request))
@@ -122,7 +122,7 @@ async def transform_client_message(msg: SessionMessage) -> SessionMessage | None
122122
msg.message.root.id = f"transformed_{original_id}"
123123
return msg
124124

125-
request = JSONRPCRequest(id="original", method="test", params={})
125+
request = JSONRPCRequest(jsonrpc="2.0", id="original", method="test", params={})
126126
message = SessionMessage(JSONRPCMessage(request))
127127

128128
async with mcp_proxy(client_streams, server_streams, on_client_message=transform_client_message):
@@ -143,7 +143,7 @@ async def drop_message(msg: SessionMessage) -> SessionMessage | None:
143143
"""Drop all messages."""
144144
return None
145145

146-
request = JSONRPCRequest(id="dropped", method="test", params={})
146+
request = JSONRPCRequest(jsonrpc="2.0", id="dropped", method="test", params={})
147147
message = SessionMessage(JSONRPCMessage(request))
148148

149149
async with mcp_proxy(client_streams, server_streams, on_client_message=drop_message):
@@ -197,7 +197,7 @@ def error_handler(error: Exception) -> None:
197197
await client_read_writer.send(ValueError("Error 1"))
198198

199199
# Send a valid message
200-
request = JSONRPCRequest(id="after_error", method="test", params={})
200+
request = JSONRPCRequest(jsonrpc="2.0", id="after_error", method="test", params={})
201201
message = SessionMessage(JSONRPCMessage(request))
202202
await client_read_writer.send(message)
203203

@@ -224,7 +224,7 @@ async def failing_transform(msg: SessionMessage) -> SessionMessage | None:
224224
"""Transform that always fails."""
225225
raise RuntimeError("Transform failed")
226226

227-
request = JSONRPCRequest(id="test", method="test", params={})
227+
request = JSONRPCRequest(jsonrpc="2.0", id="test", method="test", params={})
228228
message = SessionMessage(JSONRPCMessage(request))
229229

230230
async with mcp_proxy(client_streams, server_streams, onerror=error_handler, on_client_message=failing_transform):
@@ -262,13 +262,17 @@ async def test_proxy_cleans_up_streams(create_streams):
262262
# All streams should be closed
263263
# Attempting to send/receive should fail
264264
with pytest.raises(anyio.ClosedResourceError):
265-
await client_read_writer.send(SessionMessage(JSONRPCMessage(JSONRPCRequest(id="1", method="test", params={}))))
265+
await client_read_writer.send(
266+
SessionMessage(JSONRPCMessage(JSONRPCRequest(jsonrpc="2.0", id="1", method="test", params={})))
267+
)
266268

267269
with pytest.raises((anyio.ClosedResourceError, anyio.EndOfStream)):
268270
await client_write_reader.receive()
269271

270272
with pytest.raises(anyio.ClosedResourceError):
271-
await server_read_writer.send(SessionMessage(JSONRPCMessage(JSONRPCRequest(id="2", method="test", params={}))))
273+
await server_read_writer.send(
274+
SessionMessage(JSONRPCMessage(JSONRPCRequest(jsonrpc="2.0", id="2", method="test", params={})))
275+
)
272276

273277
with pytest.raises((anyio.ClosedResourceError, anyio.EndOfStream)):
274278
await server_write_reader.receive()
@@ -282,7 +286,7 @@ async def test_proxy_multiple_messages(create_streams):
282286
async with mcp_proxy(client_streams, server_streams):
283287
# Send multiple messages
284288
for i in range(5):
285-
request = JSONRPCRequest(id=str(i), method=f"method_{i}", params={})
289+
request = JSONRPCRequest(jsonrpc="2.0", id=str(i), method=f"method_{i}", params={})
286290
message = SessionMessage(JSONRPCMessage(request))
287291
await client_read_writer.send(message)
288292

0 commit comments

Comments
 (0)