57 lines
2.0 KiB
Python
57 lines
2.0 KiB
Python
"""Regression tests for memory import-path compatibility."""
|
|
|
|
|
|
def test_services_memory_manager_is_canonical_src_class():
|
|
from services.memory import MemoryManager as package_manager
|
|
from services.memory.memory import MemoryManager as module_manager
|
|
from src.memory import MemoryManager as canonical_manager
|
|
|
|
assert module_manager is canonical_manager
|
|
assert package_manager is canonical_manager
|
|
assert hasattr(package_manager, "increment_uses")
|
|
assert hasattr(package_manager, "claim_ownerless")
|
|
|
|
|
|
def test_services_memory_vector_is_canonical_src_class():
|
|
from services.memory import MemoryVectorStore as package_vector_store
|
|
from services.memory.memory_vector import MemoryVectorStore as module_vector_store
|
|
from src.memory_vector import MemoryVectorStore as canonical_vector_store
|
|
|
|
assert module_vector_store is canonical_vector_store
|
|
assert package_vector_store is canonical_vector_store
|
|
|
|
|
|
def test_memory_service_uses_canonical_manager_api(tmp_path):
|
|
import asyncio
|
|
|
|
from services.memory import MemoryService
|
|
|
|
service = MemoryService(str(tmp_path))
|
|
|
|
remembered = asyncio.run(service.remember("User prefers dark mode", session_id="sess-1"))
|
|
assert remembered.text == "User prefers dark mode"
|
|
assert remembered.session_id == "sess-1"
|
|
|
|
all_memories = service.get_all()
|
|
assert [m.id for m in all_memories] == [remembered.id]
|
|
|
|
recalled = asyncio.run(service.recall("dark mode", top_k=5))
|
|
assert [m.id for m in recalled.memories] == [remembered.id]
|
|
|
|
assert service.delete(remembered.id) is True
|
|
assert service.delete(remembered.id) is False
|
|
assert service.get_all() == []
|
|
|
|
|
|
def test_canonical_manager_keeps_ownerless_claim_helper(tmp_path):
|
|
from src.memory import MemoryManager
|
|
|
|
manager = MemoryManager(str(tmp_path))
|
|
entry = manager.add_entry("User likes compact code reviews")
|
|
manager.save([entry])
|
|
|
|
manager.claim_ownerless("alice")
|
|
|
|
memories = manager.load_all()
|
|
assert memories[0]["owner"] == "alice"
|