Spaces:
Sleeping
Sleeping
| 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" | |
| 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 | |