feat: include memory sources in profile sync events
This commit is contained in:
@@ -150,21 +150,26 @@ async def test_profile_snapshot_and_projection_events_are_created_on_promotion(
|
||||
) -> None:
|
||||
"""批准候选必须生成新画像版本和两个待投影事件。"""
|
||||
class FakeSession:
|
||||
def __init__(self) -> None:
|
||||
def __init__(self, memory_units: list[MemoryUnit]) -> None:
|
||||
self.added: list[object] = []
|
||||
self.memory_units = memory_units
|
||||
|
||||
async def scalar(self, statement: object) -> None:
|
||||
del statement
|
||||
return None
|
||||
|
||||
async def scalars(self, statement: object) -> list[object]:
|
||||
del statement
|
||||
return self.memory_units
|
||||
|
||||
def add(self, item: object) -> None:
|
||||
self.added.append(item)
|
||||
|
||||
async def flush(self) -> None:
|
||||
return None
|
||||
|
||||
session = FakeSession()
|
||||
target = candidate()
|
||||
session = FakeSession([target])
|
||||
monkeypatch.setattr(
|
||||
"app.service.customer_profile_candidate_service.get_memory_cache_adapter",
|
||||
lambda: None,
|
||||
@@ -180,3 +185,5 @@ async def test_profile_snapshot_and_projection_events_are_created_on_promotion(
|
||||
assert value == "稳健型"
|
||||
events = [item for item in session.added if isinstance(item, MemorySyncOutbox)]
|
||||
assert {item.target_store for item in events} == {"milvus", "neo4j"}
|
||||
for event in events:
|
||||
assert event.payload["memory_sources"][0]["memory_uuid"] == target.memory_uuid
|
||||
|
||||
Reference in New Issue
Block a user