from __future__ import annotations import os import unittest from src.model_status import ModelStatus, statuses_with_llm_status, warm_llm_model class ModelStatusTests(unittest.TestCase): def test_warm_llm_model_skips_remote_when_mock_enabled(self) -> None: old_value = os.environ.get("VC_USE_MOCK") os.environ["VC_USE_MOCK"] = "1" try: status = warm_llm_model(timeout_s=0.01) finally: if old_value is None: os.environ.pop("VC_USE_MOCK", None) else: os.environ["VC_USE_MOCK"] = old_value self.assertEqual(status.kind, "llm") self.assertEqual(status.state, "mock") self.assertIn("mock", status.message.lower()) def test_statuses_with_llm_status_replaces_initial_llm_row(self) -> None: llm_status = ModelStatus("llm", "loading", "载入中", message="正在启动主模型") statuses = statuses_with_llm_status(llm_status) self.assertGreaterEqual(len(statuses), 1) self.assertEqual(statuses[0], llm_status) self.assertEqual(statuses[0].message, "正在启动主模型") if __name__ == "__main__": unittest.main()