blob: 3ff4c0fc6ae97df005e1046a353e4a4ff87d709f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import os
import sys
from typing import TYPE_CHECKING
from unittest.mock import AsyncMock, MagicMock
import pytest
# 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
if TYPE_CHECKING:
from mcp_server_taskwarrior.server import TaskWarriorServer
@pytest.fixture
def taskwarrior_server() -> "TaskWarriorServer":
"""Create a TaskWarriorServer instance for testing."""
from mcp_server_taskwarrior.server import TaskWarriorServer
return TaskWarriorServer()
@pytest.fixture
def mcp_server_mock() -> MagicMock:
"""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
|