Skip to content

Commit 36805b6

Browse files
committed
Apply ruff formatting to test file
1 parent d4e14a4 commit 36805b6

File tree

1 file changed

+35
-58
lines changed

1 file changed

+35
-58
lines changed

tests/server/test_cancel_handling.py

Lines changed: 35 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -17,145 +17,122 @@ def __init__(self):
1717
self._responded = False
1818
self.request_meta = {}
1919
self.message_metadata = None
20-
20+
2121
async def send(self, response):
2222
if self._responded:
2323
raise AssertionError(f"Request {self.request_id} already responded to")
2424
self._responded = True
25-
25+
2626
async def respond(self, response):
2727
await self.send(response)
28-
28+
2929
def cancel(self):
3030
"""Simulate the cancel() method sending an error response."""
31-
asyncio.create_task(self.send(ServerResult(
32-
error=types.ErrorData(
33-
code=-32800,
34-
message="Request cancelled"
35-
)
36-
)))
31+
asyncio.create_task(self.send(ServerResult(error=types.ErrorData(code=-32800, message="Request cancelled"))))
3732

3833

3934
@pytest.mark.asyncio
4035
async def test_cancelled_request_no_double_response():
4136
"""Verify server handles cancelled requests without double response."""
42-
37+
4338
# Create a server instance
4439
server = Server("test-server")
45-
40+
4641
# Track if multiple responses are attempted
4742
response_count = 0
48-
43+
4944
# Override the send method to track calls
5045
mock_message = MockRequestResponder()
5146
original_send = mock_message.send
52-
47+
5348
async def tracked_send(response):
5449
nonlocal response_count
5550
response_count += 1
5651
await original_send(response)
57-
52+
5853
mock_message.send = tracked_send
59-
54+
6055
# Create a slow handler that will be cancelled
6156
async def slow_handler(req):
6257
await asyncio.sleep(10)
6358
return types.ServerResult(types.EmptyResult())
64-
59+
6560
# Use PingRequest as it's a valid request type
6661
server.request_handlers[types.PingRequest] = slow_handler
67-
62+
6863
# Create mock message and session
6964
mock_req = PingRequest(method="ping", params={})
7065
mock_session = MagicMock()
7166
mock_context = None
72-
67+
7368
# Start the request
7469
handle_task = asyncio.create_task(
75-
server._handle_request(
76-
mock_message,
77-
mock_req,
78-
mock_session,
79-
mock_context,
80-
raise_exceptions=False
81-
)
70+
server._handle_request(mock_message, mock_req, mock_session, mock_context, raise_exceptions=False)
8271
)
83-
72+
8473
# Give it time to start
8574
await asyncio.sleep(0.1)
86-
75+
8776
# Simulate cancellation
8877
mock_message.cancel()
8978
handle_task.cancel()
90-
79+
9180
# Wait for cancellation to propagate
9281
try:
9382
await handle_task
9483
except asyncio.CancelledError:
9584
pass
96-
85+
9786
# Give time for any duplicate response attempts
9887
await asyncio.sleep(0.1)
99-
88+
10089
# Should only have one response (from cancel())
10190
assert response_count == 1, f"Expected 1 response, got {response_count}"
10291

10392

104-
@pytest.mark.asyncio
93+
@pytest.mark.asyncio
10594
async def test_server_remains_functional_after_cancel():
10695
"""Verify server can handle new requests after a cancellation."""
107-
96+
10897
server = Server("test-server")
109-
98+
11099
# Add handlers
111100
async def slow_handler(req):
112101
await asyncio.sleep(5)
113102
return types.ServerResult(types.EmptyResult())
114-
103+
115104
async def fast_handler(req):
116105
return types.ServerResult(types.EmptyResult())
117-
106+
118107
# Override ping handler for our test
119108
server.request_handlers[types.PingRequest] = slow_handler
120-
109+
121110
# First request (will be cancelled)
122111
mock_message1 = MockRequestResponder()
123112
mock_req1 = PingRequest(method="ping", params={})
124-
113+
125114
handle_task = asyncio.create_task(
126-
server._handle_request(
127-
mock_message1,
128-
mock_req1,
129-
MagicMock(),
130-
None,
131-
raise_exceptions=False
132-
)
115+
server._handle_request(mock_message1, mock_req1, MagicMock(), None, raise_exceptions=False)
133116
)
134-
117+
135118
await asyncio.sleep(0.1)
136119
mock_message1.cancel()
137120
handle_task.cancel()
138-
121+
139122
try:
140123
await handle_task
141124
except asyncio.CancelledError:
142125
pass
143-
126+
144127
# Change handler to fast one
145128
server.request_handlers[types.PingRequest] = fast_handler
146-
129+
147130
# Second request (should work normally)
148131
mock_message2 = MockRequestResponder()
149132
mock_req2 = PingRequest(method="ping", params={})
150-
133+
151134
# This should complete successfully
152-
await server._handle_request(
153-
mock_message2,
154-
mock_req2,
155-
MagicMock(),
156-
None,
157-
raise_exceptions=False
158-
)
159-
135+
await server._handle_request(mock_message2, mock_req2, MagicMock(), None, raise_exceptions=False)
136+
160137
# Server handled the second request successfully
161-
assert mock_message2._responded
138+
assert mock_message2._responded

0 commit comments

Comments
 (0)