@@ -102,33 +102,34 @@ async def test_proxy_bidirectional_forwarding(create_streams):
102102 ),
103103 ) = create_streams ()
104104
105- # Create test messages
106- client_request = JSONRPCRequest (jsonrpc = "2.0" , id = "client_1" , method = "client_method" , params = {})
107- server_request = JSONRPCRequest (jsonrpc = "2.0" , id = "server_1" , method = "server_method" , params = {})
108-
109- client_msg = SessionMessage (JSONRPCMessage (client_request ))
110- server_msg = SessionMessage (JSONRPCMessage (server_request ))
111-
112- async with mcp_proxy (client_streams , server_streams ):
113- # Send messages from both sides
114- await client_read_writer .send (client_msg )
115- await server_read_writer .send (server_msg )
116-
117- # Verify both arrive at their destinations
118- with anyio .fail_after (1 ):
119- # Client message should arrive at server
120- received_at_server = await server_write_reader .receive ()
121- assert received_at_server .message .root .id == "client_1"
122-
123- # Server message should arrive at client
124- received_at_client = await client_write_reader .receive ()
125- assert received_at_client .message .root .id == "server_1"
126-
127- # Clean up test streams
128- await client_read_writer .aclose ()
129- await client_write_reader .aclose ()
130- await server_read_writer .aclose ()
131- await server_write_reader .aclose ()
105+ try :
106+ # Create test messages
107+ client_request = JSONRPCRequest (jsonrpc = "2.0" , id = "client_1" , method = "client_method" , params = {})
108+ server_request = JSONRPCRequest (jsonrpc = "2.0" , id = "server_1" , method = "server_method" , params = {})
109+
110+ client_msg = SessionMessage (JSONRPCMessage (client_request ))
111+ server_msg = SessionMessage (JSONRPCMessage (server_request ))
112+
113+ async with mcp_proxy (client_streams , server_streams ):
114+ # Send messages from both sides
115+ await client_read_writer .send (client_msg )
116+ await server_read_writer .send (server_msg )
117+
118+ # Verify both arrive at their destinations
119+ with anyio .fail_after (1 ):
120+ # Client message should arrive at server
121+ received_at_server = await server_write_reader .receive ()
122+ assert received_at_server .message .root .id == "client_1"
123+
124+ # Server message should arrive at client
125+ received_at_client = await client_write_reader .receive ()
126+ assert received_at_client .message .root .id == "server_1"
127+ finally :
128+ # Clean up test streams
129+ await client_read_writer .aclose ()
130+ await client_write_reader .aclose ()
131+ await server_read_writer .aclose ()
132+ await server_write_reader .aclose ()
132133
133134
134135@pytest .mark .anyio
0 commit comments