Files
llm-backend/tests/test_manager.py
T

29 lines
1.0 KiB
Python

import tempfile
import unittest
from pathlib import Path
from localpilot.config import AppConfig, ModelConfig, RuntimeConfig
from localpilot.manager import ModelManager, parse_keep_alive
class ManagerTests(unittest.TestCase):
def test_parse_keep_alive(self) -> None:
self.assertEqual(parse_keep_alive("5m", 30), 300)
self.assertEqual(parse_keep_alive("30s", 30), 30)
self.assertEqual(parse_keep_alive(0, 30), 0)
self.assertEqual(parse_keep_alive(-1, 30), float("inf"))
self.assertEqual(parse_keep_alive("bad", 30), 30)
def test_register_and_remove_only_changes_registry(self) -> None:
with tempfile.TemporaryDirectory() as folder:
path = Path(folder) / "config.json"
manager = ModelManager(AppConfig(runtime=RuntimeConfig()), path)
manager.register_model(ModelConfig(id="demo", kind="gguf", path="E:/model/demo.gguf"))
self.assertEqual(manager.config.models[0].id, "demo")
self.assertTrue(path.exists())
if __name__ == "__main__":
unittest.main()