"""Tests for the Copilot MCP server schema completeness.""" import os import sys import unittest # Allow importing from the plugin directory sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "plugins", "copilot")) class TestMcpSchema(unittest.TestCase): def test_schema_includes_all_engine_flags(self): from mcp_server import _TOOL_SCHEMA required_params = { "project", "backend", "scope", "source", "model", "tasks_file", "target_skill_path", "progress", "max_sessions", "max_tasks", "lookback_hours", "auto_adopt", "json", "edit_budget", } schema_props = set(_TOOL_SCHEMA["properties"].keys()) missing = required_params - schema_props self.assertEqual(missing, set(), f"MCP schema missing: {missing}") def test_all_backends_in_enum(self): from mcp_server import _TOOL_SCHEMA backends = _TOOL_SCHEMA["properties"]["backend"]["enum"] for b in ["mock", "claude", "codex", "copilot"]: self.assertIn(b, backends) def test_schedule_tools_exist(self): from mcp_server import TOOLS names = {t["name"] for t in TOOLS} self.assertIn("sleep_schedule", names) self.assertIn("sleep_unschedule", names) if __name__ == "__main__": unittest.main()