Spaces:
Running on Zero
Running on Zero
| from __future__ import annotations | |
| import unittest | |
| import requests | |
| from mcp_tools.vindex_tool import ( | |
| VINDEX_METHODS, | |
| build_vindex_call_plan, | |
| vindex_dependency_report, | |
| vindex_verification_report, | |
| ) | |
| class VINDEXToolTest(unittest.TestCase): | |
| def test_builds_non_executing_call_plan_for_supported_method(self) -> None: | |
| plan = build_vindex_call_plan( | |
| "logit_lens", | |
| {"model_id": "minicpm5_1b", "text": "Acer"}, | |
| "http://local-vindex", | |
| ) | |
| self.assertEqual(plan.method, "logit_lens") | |
| self.assertEqual(plan.endpoint, "http://local-vindex/logit_lens") | |
| self.assertFalse(plan.execute) | |
| self.assertEqual(plan.payload["text"], "Acer") | |
| def test_rejects_unknown_method(self) -> None: | |
| with self.assertRaises(ValueError): | |
| build_vindex_call_plan("unknown", {}) | |
| def test_caps_star_spread_neighbors(self) -> None: | |
| plan = build_vindex_call_plan("star_spread", {"n_neighbors": 12}) | |
| self.assertEqual(plan.payload["n_neighbors"], 5) | |
| self.assertTrue(any("capped at 5" in note for note in plan.safety_notes)) | |
| def test_caps_calibrated_edit_window(self) -> None: | |
| plan = build_vindex_call_plan("calibrated_edit", {"causal_window": 9}) | |
| self.assertEqual(plan.payload["causal_window"], 3) | |
| self.assertTrue(any("capped at 3" in note for note in plan.safety_notes)) | |
| def test_dependency_report_includes_methods_and_unreachable_server(self) -> None: | |
| def get_health(url: str, **kwargs): | |
| del url, kwargs | |
| raise requests.ConnectionError("server down") | |
| report = vindex_dependency_report("http://local-vindex", get_health) | |
| self.assertFalse(report["server_reachable"]) | |
| self.assertEqual(report["supported_methods"], sorted(VINDEX_METHODS)) | |
| self.assertIn("server down", report["server_detail"]) | |
| def test_verification_report_keeps_execution_disabled(self) -> None: | |
| def get_health(url: str, **kwargs): | |
| del url, kwargs | |
| response = requests.Response() | |
| response.status_code = 200 | |
| return response | |
| report = vindex_verification_report( | |
| "protect_relations", | |
| {"protected_triplets": []}, | |
| "http://local-vindex", | |
| get_health, | |
| ) | |
| self.assertFalse(report["ready_for_execution"]) | |
| self.assertTrue(report["dependency_report"]["server_reachable"]) | |
| self.assertEqual(report["call_plan"]["method"], "protect_relations") | |
| if __name__ == "__main__": | |
| unittest.main() | |