test_memory.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import pytest
  2. from app.memory.store import MemoryManager
  3. class FakeEmbeddings:
  4. """最小 Embeddings 桩(O-14 终裁 2026-11-08 09:1x)。
  5. MemoryManager.__init__(embeddings) 已将 embeddings 改为必传
  6. (向量版记忆,langchain_chroma.Chroma 替换已废弃 langchain.memory)。
  7. 本桩实现 langchain Embeddings 兼容接口,返回固定 4 维向量,
  8. 仅用于单测构造 MemoryManager,不触发真实嵌入。
  9. """
  10. def embed_documents(self, texts):
  11. return [[0.0, 0.1, 0.2, 0.3] for _ in texts]
  12. def embed_query(self, text):
  13. return [0.0, 0.1, 0.2, 0.3]
  14. @pytest.mark.asyncio
  15. async def test_memory_manager_init():
  16. mgr = MemoryManager(embeddings=FakeEmbeddings())
  17. assert mgr is not None
  18. assert mgr.memory_vectorstore is not None
  19. @pytest.mark.asyncio
  20. async def test_working_memory():
  21. mgr = MemoryManager(embeddings=FakeEmbeddings())
  22. mem = mgr.get_working_memory()
  23. assert mem is not None
  24. assert mem.memory_key == "history"
  25. @pytest.mark.asyncio
  26. async def test_longterm_memory():
  27. mgr = MemoryManager(embeddings=FakeEmbeddings())
  28. mem = mgr.get_longterm_memory(user_id=1)
  29. assert mem is not None
  30. assert mem.memory_key == "long_term_memory"