29 lines
1.0 KiB
Python
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()
|
|
|