Просмотр исходного кода

test(langgraph): O-14 终裁执行 - test_memory 3 例改传 embeddings=FakeEmbeddings() 桩(MemoryManager 签名契约演进)

E2E Test Bot 5 дней назад
Родитель
Сommit
2537b43777
1 измененных файлов с 20 добавлено и 4 удалено
  1. 20 4
      cfc-langgraph/tests/test_memory.py

+ 20 - 4
cfc-langgraph/tests/test_memory.py

@@ -2,16 +2,32 @@ 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()
+    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()
+    mgr = MemoryManager(embeddings=FakeEmbeddings())
     mem = mgr.get_working_memory()
     assert mem is not None
     assert mem.memory_key == "history"
@@ -19,7 +35,7 @@ async def test_working_memory():
 
 @pytest.mark.asyncio
 async def test_longterm_memory():
-    mgr = MemoryManager()
+    mgr = MemoryManager(embeddings=FakeEmbeddings())
     mem = mgr.get_longterm_memory(user_id=1)
     assert mem is not None
-    assert mem.memory_key == "long_term_memory"
+    assert mem.memory_key == "long_term_memory"