1515from urllib .parse import urlparse
1616
1717import pytest
18- import ydb
1918
2019from tests .docker_utils import start_ydb_container , stop_container , wait_for_port
2120from ydb_mcp .server import AUTH_MODE_ANONYMOUS , YDBMCPServer
@@ -198,34 +197,6 @@ def ydb_server():
198197 stop_container (container )
199198
200199
201- @pytest .fixture (scope = "session" )
202- async def mcp_server (ydb_server ):
203- """Create a YDB MCP server instance for testing."""
204- # Create the server with anonymous credentials
205- server = YDBMCPServer (endpoint = YDB_ENDPOINT , database = YDB_DATABASE )
206-
207- # Store the event loop
208- server ._loop = ensure_event_loop ()
209-
210- try :
211- # Initialize the server by creating the driver
212- await server .create_driver ()
213- yield server
214-
215- # Clean up after tests
216- logger .info ("Cleaning up YDB server resources after tests" )
217- await cleanup_pending_tasks ()
218- if server .driver :
219- await cleanup_driver (server .driver )
220-
221- except Exception as e :
222- logger .error (f"Failed to initialize YDB MCP server: { e } " )
223- pytest .fail (f"Failed to initialize YDB MCP server: { e } " )
224- finally :
225- # Final cleanup
226- await cleanup_pending_tasks ()
227-
228-
229200# Create a global variable to cache the server instance
230201_mcp_server_instance = None
231202
@@ -237,9 +208,7 @@ async def session_mcp_server(ydb_server):
237208
238209 if _mcp_server_instance is None :
239210 # Create the server with anonymous credentials
240- _mcp_server_instance = YDBMCPServer (
241- endpoint = YDB_ENDPOINT , database = YDB_DATABASE , auth_mode = AUTH_MODE_ANONYMOUS
242- )
211+ _mcp_server_instance = YDBMCPServer (endpoint = YDB_ENDPOINT , database = YDB_DATABASE , auth_mode = AUTH_MODE_ANONYMOUS )
243212
244213 try :
245214 # Ensure we have a valid event loop
@@ -372,11 +341,7 @@ async def cleanup_after_all_tests():
372341 loop = asyncio .get_running_loop ()
373342 if not loop .is_closed ():
374343 # Cancel all tasks
375- pending = [
376- task
377- for task in asyncio .all_tasks (loop )
378- if not task .done () and task != asyncio .current_task ()
379- ]
344+ pending = [task for task in asyncio .all_tasks (loop ) if not task .done () and task != asyncio .current_task ()]
380345
381346 if pending :
382347 logger .debug (f"Cleaning up { len (pending )} pending tasks in final cleanup" )
@@ -394,9 +359,7 @@ async def cleanup_after_all_tests():
394359 for task in pending :
395360 if not task .done ():
396361 with suppress (asyncio .CancelledError , Exception ):
397- task ._log_destroy_pending = (
398- False # Suppress the warning about task destruction
399- )
362+ task ._log_destroy_pending = False # Suppress the warning about task destruction
400363
401364 # Close the loop
402365 loop .stop ()
0 commit comments