workbench / tests /unit /test_vindex_tool.py
GitHub Actions
Initial ZeroGPU deployment with spaces shim
7f9dfed
Raw
History Blame Contribute Delete
2.61 kB
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()