Skip to content

Commit 235dbc2

Browse files
committed
refactor(tests): remove global statement in notification tests
Removes the use of a `global` statement in `tests/shared/test_notifications.py` to resolve a `PLW0603` linting error reported by Ruff. The `serv_sesh` global variable has been replaced with a mutable list (`server_session_ref`) to share the server session object between the `run_server` and `handle_call_tool` functions within the test. This maintains the test's functionality while adhering to better coding practices.
1 parent 75af8a0 commit 235dbc2

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

tests/shared/test_notifications.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ async def test_bidirectional_progress_notifications():
2323
server_to_client_send, server_to_client_receive = anyio.create_memory_object_stream[SessionMessage](5)
2424
client_to_server_send, client_to_server_receive = anyio.create_memory_object_stream[SessionMessage](5)
2525

26+
server_session_ref: list[ServerSession | None] = [None]
27+
2628
# Run a server session so we can send progress updates in tool
2729
async def run_server():
2830
# Create a server session
@@ -35,9 +37,7 @@ async def run_server():
3537
capabilities=server.get_capabilities(NotificationOptions(), {}),
3638
),
3739
) as server_session:
38-
global serv_sesh
39-
40-
serv_sesh = server_session
40+
server_session_ref[0] = server_session
4141
async for message in server_session.incoming_messages:
4242
try:
4343
await server._handle_message(message, server_session, {})
@@ -87,6 +87,10 @@ async def handle_list_tools() -> list[types.Tool]:
8787
# Register tool handler
8888
@server.call_tool()
8989
async def handle_call_tool(name: str, arguments: dict[str, Any] | None) -> list[types.TextContent]:
90+
serv_sesh = server_session_ref[0]
91+
if not serv_sesh:
92+
raise ValueError("Server session not available")
93+
9094
# Make sure we received a progress token
9195
if name == "test_tool":
9296
if arguments and "_meta" in arguments:

0 commit comments

Comments
 (0)