Skip to content

Commit e05c684

Browse files
committed
Remove pragma in the new test
1 parent 273808b commit e05c684

File tree

1 file changed

+44
-61
lines changed

1 file changed

+44
-61
lines changed

tests/server/test_session.py

Lines changed: 44 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ async def test_server_session_initialize():
3535
client_to_server_send, client_to_server_receive = anyio.create_memory_object_stream[SessionMessage](1)
3636

3737
# Create a message handler to catch exceptions
38-
async def message_handler(
38+
async def message_handler( # pragma: no cover
3939
message: RequestResponder[types.ServerRequest, types.ClientResult] | types.ServerNotification | Exception,
4040
) -> None:
4141
if isinstance(message, Exception):
@@ -55,15 +55,15 @@ async def run_server():
5555
capabilities=ServerCapabilities(),
5656
),
5757
) as server_session:
58-
async for message in server_session.incoming_messages:
59-
assert message is not None, "Expected to receive messages"
60-
if isinstance(message, Exception):
58+
async for message in server_session.incoming_messages: # pragma: no branch
59+
if isinstance(message, Exception): # pragma: no cover
6160
raise message
6261

63-
assert isinstance(message, ClientNotification), "Expected ClientNotification"
64-
assert isinstance(message.root, InitializedNotification), "Expected InitializedNotification"
65-
received_initialized = True
66-
return
62+
if isinstance(message, ClientNotification) and isinstance(
63+
message.root, InitializedNotification
64+
): # pragma: no branch
65+
received_initialized = True
66+
return
6767

6868
try:
6969
async with (
@@ -77,8 +77,7 @@ async def run_server():
7777
tg.start_soon(run_server)
7878

7979
await client_session.initialize()
80-
except anyio.ClosedResourceError:
81-
# This can happen if the server closes before the client finishes
80+
except anyio.ClosedResourceError: # pragma: no cover
8281
pass
8382

8483
assert received_initialized
@@ -90,12 +89,6 @@ async def test_server_session_initialize_with_title_and_description():
9089
server_to_client_send, server_to_client_receive = anyio.create_memory_object_stream[SessionMessage](1)
9190
client_to_server_send, client_to_server_receive = anyio.create_memory_object_stream[SessionMessage](1)
9291

93-
async def message_handler(
94-
message: RequestResponder[types.ServerRequest, types.ClientResult] | types.ServerNotification | Exception,
95-
) -> None:
96-
if isinstance(message, Exception):
97-
raise message
98-
9992
async def run_server():
10093
async with ServerSession(
10194
client_to_server_receive,
@@ -107,32 +100,22 @@ async def run_server():
107100
description="A description of what this server does.",
108101
capabilities=ServerCapabilities(),
109102
),
110-
) as server_session:
111-
async for message in server_session.incoming_messages:
112-
assert message is not None, "Expected to receive messages"
113-
if isinstance(message, Exception):
114-
raise message
115-
116-
assert isinstance(message, ClientNotification), "Expected ClientNotification"
117-
assert isinstance(message.root, InitializedNotification), "Expected InitializedNotification"
118-
return
103+
) as _:
104+
# Just run the server without handling incoming messages
105+
# The server will process messages internally
106+
await anyio.sleep(0.1) # Give time for initialization to complete
119107

120108
result: types.InitializeResult | None = None
121-
try:
122-
async with (
123-
ClientSession(
124-
server_to_client_receive,
125-
client_to_server_send,
126-
message_handler=message_handler,
127-
) as client_session,
128-
anyio.create_task_group() as tg,
129-
):
130-
tg.start_soon(run_server)
109+
async with (
110+
ClientSession(
111+
server_to_client_receive,
112+
client_to_server_send,
113+
) as client_session,
114+
anyio.create_task_group() as tg,
115+
):
116+
tg.start_soon(run_server)
131117

132-
result = await client_session.initialize()
133-
except anyio.ClosedResourceError:
134-
# This can happen if the server closes before the client finishes
135-
pass
118+
result = await client_session.initialize()
136119

137120
assert result is not None
138121
assert result.serverInfo.name == "test-server"
@@ -155,7 +138,7 @@ async def test_server_capabilities():
155138

156139
# Add a prompts handler
157140
@server.list_prompts()
158-
async def list_prompts() -> list[Prompt]:
141+
async def list_prompts() -> list[Prompt]: # pragma: no cover
159142
return []
160143

161144
caps = server.get_capabilities(notification_options, experimental_capabilities)
@@ -165,7 +148,7 @@ async def list_prompts() -> list[Prompt]:
165148

166149
# Add a resources handler
167150
@server.list_resources()
168-
async def list_resources() -> list[Resource]:
151+
async def list_resources() -> list[Resource]: # pragma: no cover
169152
return []
170153

171154
caps = server.get_capabilities(notification_options, experimental_capabilities)
@@ -175,7 +158,7 @@ async def list_resources() -> list[Resource]:
175158

176159
# Add a complete handler
177160
@server.completion()
178-
async def complete(
161+
async def complete( # pragma: no cover
179162
ref: PromptReference | ResourceTemplateReference,
180163
argument: CompletionArgument,
181164
context: CompletionContext | None,
@@ -211,15 +194,15 @@ async def run_server():
211194
capabilities=ServerCapabilities(),
212195
),
213196
) as server_session:
214-
async for message in server_session.incoming_messages:
215-
assert message is not None, "Expected to receive messages"
216-
if isinstance(message, Exception):
197+
async for message in server_session.incoming_messages: # pragma: no branch
198+
if isinstance(message, Exception): # pragma: no cover
217199
raise message
218200

219-
assert isinstance(message, types.ClientNotification), "Expected ClientNotification"
220-
assert isinstance(message.root, InitializedNotification), "Expected InitializedNotification"
221-
received_initialized = True
222-
return
201+
if isinstance(message, types.ClientNotification) and isinstance(
202+
message.root, InitializedNotification
203+
): # pragma: no branch
204+
received_initialized = True
205+
return
223206

224207
async def mock_client():
225208
nonlocal received_protocol_version
@@ -297,18 +280,18 @@ async def run_server():
297280
capabilities=ServerCapabilities(),
298281
),
299282
) as server_session:
300-
async for message in server_session.incoming_messages:
301-
assert message is not None, "Expected to receive messages"
302-
if isinstance(message, Exception):
283+
async for message in server_session.incoming_messages: # pragma: no branch
284+
if isinstance(message, Exception): # pragma: no cover
303285
raise message
304286

305287
# We should receive a ping request before initialization
306-
assert isinstance(message, RequestResponder), "Expected RequestResponder"
307-
assert isinstance(message.request.root, types.PingRequest), "Expected PingRequest"
308-
# Respond to the ping
309-
with message:
310-
await message.respond(types.ServerResult(types.EmptyResult()))
311-
return
288+
if isinstance(message, RequestResponder) and isinstance(
289+
message.request.root, types.PingRequest
290+
): # pragma: no branch
291+
# Respond to the ping
292+
with message:
293+
await message.respond(types.ServerResult(types.EmptyResult()))
294+
return
312295

313296
async def mock_client():
314297
nonlocal ping_response_received, ping_response_id
@@ -566,9 +549,9 @@ async def mock_client():
566549

567550
# Wait for the error response
568551
error_message = await server_to_client_receive.receive()
569-
assert isinstance(error_message.message.root, types.JSONRPCError), "Expected JSONRPCError response"
570-
error_response_received = True
571-
error_code = error_message.message.root.error.code
552+
if isinstance(error_message.message.root, types.JSONRPCError): # pragma: no branch
553+
error_response_received = True
554+
error_code = error_message.message.root.error.code
572555

573556
async with (
574557
client_to_server_send,

0 commit comments

Comments
 (0)