mirror of
https://github.com/pewdiepie-archdaemon/odysseus.git
synced 2026-06-16 17:55:26 -04:00
refactor(memory): canonicalize memory imports (#50)
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
"""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"
|
||||
Reference in New Issue
Block a user