virtual-characters / tests /test_model_status.py
ShadowInk's picture
Deploy Virtual Characters for Build Small Hackathon
005e075 verified
Raw
History Blame Contribute Delete
1.2 kB
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()