File size: 1,009 Bytes
116524e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import pytest
from unittest.mock import MagicMock

pytest.importorskip("mcp.server")
pytest.importorskip("mcp.types")

from ace.integrations.mcp.server import create_server
from mcp.server import Server
from mcp.types import ListToolsRequest

EXPECTED_TOOL_NAMES = {
    "ace.ask",
    "ace.learn.sample",
    "ace.learn.feedback",
    "ace.skillbook.get",
    "ace.skillbook.save",
    "ace.skillbook.load",
}


def test_create_server():
    server = create_server()
    assert isinstance(server, Server)
    assert server.name == "ace-mcp-server"


@pytest.mark.asyncio
async def test_tool_registration():
    """All 6 MVP tools must be registered (FR-002)."""
    server = create_server()

    handler = server.request_handlers.get(ListToolsRequest)
    assert handler is not None, "tools/list handler not registered"

    result = await handler(MagicMock())
    registered_names = {t.name for t in result.root.tools}
    assert registered_names == EXPECTED_TOOL_NAMES