Files
agent_platform_oci/tests/unit/test_langgraph_telemetry.py
2026-06-19 22:17:09 -03:00

30 lines
1.1 KiB
Python

import pytest
from agent_framework.observability.langgraph_telemetry import LangGraphDeepTelemetry
class FakeTelemetry:
def __init__(self): self.events=[]
async def event(self, name, payload=None, kind='event'):
self.events.append((name, payload or {}, kind))
def span(self, name, **attrs):
class CM:
async def __aenter__(self_inner): return None
async def __aexit__(self_inner, exc_type, exc, tb): return False
return CM()
@pytest.mark.asyncio
async def test_langgraph_node_emits_started_completed():
telemetry = FakeTelemetry()
tracer = LangGraphDeepTelemetry(telemetry)
async with tracer.node('router', {'session_id': 's1'}):
pass
names = [e[0] for e in telemetry.events]
assert 'langgraph.node.started' in names
assert 'langgraph.node.completed' in names
@pytest.mark.asyncio
async def test_langgraph_edge_event():
telemetry = FakeTelemetry()
tracer = LangGraphDeepTelemetry(telemetry)
await tracer.edge('routing', 'billing', {'session_id': 's1'}, {'confidence': 0.9})
assert telemetry.events[0][0] == 'langgraph.edge.selected'