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