import asyncio from gitea_mcp import mcp EXPECTED_TOOL_COUNT = 66 def test_all_tools_registered(): tools = asyncio.run(mcp.list_tools()) names = sorted(t.name for t in tools) assert len(tools) == EXPECTED_TOOL_COUNT, ( f"Expected {EXPECTED_TOOL_COUNT} tools, found {len(tools)}.\n" f"Tools: {names}" ) def test_tool_names_unique(): tools = asyncio.run(mcp.list_tools()) names = [t.name for t in tools] assert len(names) == len(set(names)), ( f"Duplicate tool names: {[n for n in names if names.count(n) > 1]}" ) def test_all_tools_have_description(): tools = asyncio.run(mcp.list_tools()) missing = [t.name for t in tools if not t.description] assert not missing, f"Tools without description: {missing}"