Terminal / tests /test_model_catalog_scan.py
Baida-A's picture
deploy: disable Qwen reasoning budget for concise responses (#4)
509c85e
Raw
History Blame Contribute Delete
2.58 kB
import unittest
from scripts.model_catalog_scan import diff_catalogs
from scripts.model_catalog_notify import build_body
class ModelCatalogDiffTests(unittest.TestCase):
def test_reports_exact_added_removed_and_unavailable_models(self):
previous = {"state": {"groq/A": {"provider": "groq", "profile": "A", "status": "available", "models": ["old-model", "stable-model"]}}}
current = {"state": {"groq/A": {"provider": "groq", "profile": "A", "status": "available", "models": ["new-model", "stable-model"], "default_model": "old-model", "default_available": False}}}
result = diff_catalogs(previous, current)
self.assertEqual(result["added_models"][0]["model"], "new-model")
self.assertEqual(result["removed_models"][0]["model"], "old-model")
self.assertEqual(result["unavailable_defaults"][0]["model"], "old-model")
self.assertTrue(result["has_changes"])
def test_reports_provider_errors_with_exact_status(self):
current = {"state": {"gemini/default": {"provider": "gemini", "profile": "default", "status": "rate_limited", "models": [], "detail": "retry after 60"}}}
result = diff_catalogs({}, current)
self.assertEqual(result["provider_errors"][0]["status"], "rate_limited")
self.assertIn("gemini", result["provider_errors"][0]["provider"])
def test_empty_profile_configuration_is_reported(self):
from scripts.model_catalog_scan import audit_payload
from benchmarks.model_watch_adapter import ModelWatchConfig, ObserveOnlyModelsAdapter
from types import SimpleNamespace
payload = audit_payload(SimpleNamespace(results=(), skipped_rate_limited=()), ObserveOnlyModelsAdapter(config=ModelWatchConfig()), [], {})
self.assertEqual(payload["profile_count"], 0)
self.assertTrue(payload["diff"]["has_changes"])
self.assertEqual(payload["diff"]["provider_errors"][0]["status"], "missing_profiles")
def test_notification_contains_exact_names_and_closed_gate(self):
body = build_body({
"auto_apply_gate_open": False,
"diff": {
"added_models": [{"provider": "groq", "profile": "A", "model": "new-model"}],
"removed_models": [{"provider": "groq", "profile": "A", "model": "old-model"}],
"unavailable_defaults": [],
"provider_errors": [],
},
})
self.assertIn("new-model", body)
self.assertIn("old-model", body)
self.assertIn("CHIUSA", body)
if __name__ == "__main__":
unittest.main()