Files
2026-07-22 13:48:46 +08:00

44 lines
1.2 KiB
Python

import os
import sys
from contextlib import contextmanager
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
if PROJECT_ROOT not in sys.path:
sys.path.insert(0, PROJECT_ROOT)
from observability.langfuse_tracing import propagate_conversation_session
import observability.langfuse_tracing as tracing_module
def test_propagate_conversation_session_uses_conversation_id_as_session(monkeypatch):
captured: dict[str, object] = {}
@contextmanager
def fake_propagate_attributes(**kwargs):
captured.update(kwargs)
yield
monkeypatch.setattr(tracing_module, "_langfuse_is_configured", lambda: True)
monkeypatch.setattr(
tracing_module,
"propagate_attributes",
fake_propagate_attributes,
)
with propagate_conversation_session(
conversation_id="conversation-123",
metadata={"model": "cadagent", "turn": 2},
tags=["cadagent", "event_stream"],
):
pass
assert captured["session_id"] == "conversation-123"
assert captured["tags"] == ["cadagent", "event_stream"]
assert captured["metadata"] == {
"conversation_id": "conversation-123",
"model": "cadagent",
"turn": "2",
}