Files
life-echo/api/tests/test_dialogue_lineage_memory_ingest.py
yangshilin e1341c6d18 feat:
1. 建立问题库大纲,对应每个人生阶段槽位
2. 鼓励使用更生活化的交流语言共情与总结
3. 降低评审模型可能发生截断的概率
4. 成稿质量维度强化情感表达和上下文连贯性
2026-04-09 15:32:35 +08:00

62 lines
1.7 KiB
Python

"""ingest_transcript_sync 将 lineage_json 传入 create_source。"""
from __future__ import annotations
from types import SimpleNamespace
from app.features.memory.service import ingest_transcript_sync
def test_ingest_transcript_sync_passes_lineage(monkeypatch) -> None:
captured: dict = {}
class FakeSession:
commit_calls = 0
def commit(self) -> None:
self.commit_calls += 1
def flush(self) -> None:
pass
def begin_nested(self):
from contextlib import nullcontext
return nullcontext()
def fake_create_source(session, **kwargs):
captured.update(kwargs)
return SimpleNamespace(id="src-1")
monkeypatch.setattr("app.core.dependencies.get_embedding_provider", lambda: None)
monkeypatch.setattr(
"app.features.memory.repo.create_source_sync",
fake_create_source,
)
monkeypatch.setattr(
"app.features.memory.repo.create_chunk_sync",
lambda *a, **k: SimpleNamespace(id=f"ch-{k.get('chunk_index')}"),
)
monkeypatch.setattr("app.core.config.settings.memory_enrichment_enabled", False)
lineage = {
"schema_version": 1,
"conversation_id": "c9",
"turns": [
{"user_message_id": "um-1", "assistant_message_id": "as-1"},
],
"primary_user_message_id": "um-1",
}
fake_session = FakeSession()
sid = ingest_transcript_sync(
fake_session,
"u1",
"c9",
"hello there",
lineage_json=lineage,
)
assert sid == "src-1"
assert captured.get("lineage_json") == lineage
assert captured.get("primary_user_message_id") == "um-1"