Files
Jarvis-Ai/tests/unit/test_chat_service_hybrid.py

41 lines
1.2 KiB
Python

from __future__ import annotations
import tempfile
import unittest
from pathlib import Path
from javis.core.chat_service import ChatService
from javis.memory.sqlite_store import SQLiteSessionStore
from javis.providers.base import ChatMessage
class _CompatibleHybrid:
name = "hybrid"
model = "auto"
def chat(self, messages: list[ChatMessage]) -> str:
return "Antwort"
def supports_session(self, provider: str, model: str) -> bool:
return (provider, model) in {
("hybrid", "auto"),
("ollama", "qwen3:8b"),
}
class HybridChatServiceTests(unittest.TestCase):
def test_old_local_session_remains_loadable_after_hybrid_upgrade(self) -> None:
with tempfile.TemporaryDirectory() as temporary_directory:
store = SQLiteSessionStore(Path(temporary_directory) / "sessions.sqlite3")
old_session = store.create_session("ollama", "qwen3:8b")
store.append_exchange(old_session.id, "Alt", "Verlauf")
service = ChatService(store, _CompatibleHybrid())
loaded = service.load_session(old_session.id)
self.assertEqual([message.content for message in loaded.messages], ["Alt", "Verlauf"])
if __name__ == "__main__":
unittest.main()