Spaces:
Sleeping
Sleeping
File size: 2,079 Bytes
06671aa | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | from __future__ import annotations
import os
import sys
import unittest
from pathlib import Path
SERVICE_ROOT = Path(__file__).resolve().parents[1]
BACKEND_ROOT = SERVICE_ROOT.parent
if str(SERVICE_ROOT) not in sys.path:
sys.path.insert(0, str(SERVICE_ROOT))
from inference.config import reset_inference_manifest_cache # noqa: E402
from tabular_agent import model_name # noqa: E402
CANONICAL_MANIFEST = BACKEND_ROOT / "config" / "inference.manifest.json"
class ModelSelectionTests(unittest.TestCase):
def setUp(self) -> None:
reset_inference_manifest_cache()
self._old_manifest_path = os.environ.pop("INFERENCE_MANIFEST_PATH", None)
self._old_model = os.environ.pop("TABULAR_AGENT_MODEL", None)
os.environ["INFERENCE_MANIFEST_PATH"] = str(CANONICAL_MANIFEST)
def tearDown(self) -> None:
reset_inference_manifest_cache()
if self._old_manifest_path is not None:
os.environ["INFERENCE_MANIFEST_PATH"] = self._old_manifest_path
else:
os.environ.pop("INFERENCE_MANIFEST_PATH", None)
if self._old_model is not None:
os.environ["TABULAR_AGENT_MODEL"] = self._old_model
else:
os.environ.pop("TABULAR_AGENT_MODEL", None)
def test_model_name_honors_request_model_id(self) -> None:
self.assertEqual(
model_name("gemini-3.5-flash", feature_id="python-review"),
"gemini-3.5-flash",
)
def test_model_name_uses_manifest_feature_for_review(self) -> None:
self.assertEqual(model_name(None, feature_id="python-review"), "gemini-3.5-flash")
def test_model_name_uses_python_chat_fallback(self) -> None:
self.assertEqual(model_name(None, feature_id="python-chat"), "gemini-3.5-flash")
def test_model_name_respects_env_override(self) -> None:
os.environ["TABULAR_AGENT_MODEL"] = "gemini-3-flash"
reset_inference_manifest_cache()
self.assertEqual(model_name(None, feature_id="python-review"), "gemini-3-flash")
if __name__ == "__main__":
unittest.main()
|