import pytest import sys import os from unittest.mock import AsyncMock, MagicMock, patch # Add the src directory to the Python path for testing sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../src'))) # Mock the mcp.server.remote module mock_remote = MagicMock() mock_remote.serve_remote = AsyncMock() sys.modules['mcp.server.remote'] = mock_remote @pytest.fixture def hello_world_server(): """Create a HelloWorldServer instance for testing.""" from mcp_server_hello_world.server import HelloWorldServer return HelloWorldServer() @pytest.fixture def mcp_server_mock(): """Create a mock MCP Server instance with all handlers.""" server = MagicMock() server.list_resources = MagicMock(return_value=lambda: None) server.read_resource = MagicMock(return_value=lambda: None) server.list_prompts = MagicMock(return_value=lambda: None) server.get_prompt = MagicMock(return_value=lambda: None) server.list_tools = MagicMock(return_value=lambda: None) server.call_tool = MagicMock(return_value=lambda: None) server.run = AsyncMock() server.get_capabilities = MagicMock(return_value={}) server.request_context = MagicMock() server.request_context.session = MagicMock() server.request_context.session.send_resource_updated = AsyncMock() return server