workbench / tests /unit /test_mcp_bridge.py
GitHub Actions
Initial ZeroGPU deployment with spaces shim
7f9dfed
Raw
History Blame Contribute Delete
1.19 kB
from __future__ import annotations
import unittest
from mcp_tools.bridge import MCP_PATH, invoke_mcp_tool, mcp_manifest, mcp_tool_definitions
class McpBridgeTest(unittest.TestCase):
def test_manifest_documents_gradio_native_path(self) -> None:
manifest = mcp_manifest()
self.assertEqual(manifest["path"], MCP_PATH)
self.assertEqual(manifest["mode"], "gradio_native_mcp_server")
self.assertIn("launch(mcp_server=True)", manifest["served_by"])
self.assertTrue(manifest["tools"])
def test_tool_definitions_include_registry_tools(self) -> None:
names = [definition.name for definition in mcp_tool_definitions()]
self.assertIn("safe_calculator", names)
self.assertIn("model_inference", names)
def test_invokes_registered_tool(self) -> None:
result = invoke_mcp_tool("safe_calculator", {"expression": "2 + 2"})
self.assertEqual(result.name, "safe_calculator")
self.assertEqual(result.payload["value"], 4)
def test_rejects_unknown_tool(self) -> None:
with self.assertRaises(KeyError):
invoke_mcp_tool("missing", {})
if __name__ == "__main__":
unittest.main()