surf-spot-finder / tests /unit /test_unit_tracing.py
Nathan Brake
Uniform Trace extraction and inferring agent_type (#27)
7c69831 unverified
raw
history blame
1.62 kB
from unittest.mock import patch, MagicMock
import pytest
from surf_spot_finder.agents import AgentType
from surf_spot_finder.tracing import get_tracer_provider, setup_tracing
@pytest.mark.parametrize("json_tracer", [True, False])
def test_get_tracer_provider(tmp_path, json_tracer):
mock_tracer_provider = MagicMock()
mock_register = MagicMock()
with (
patch("surf_spot_finder.tracing.TracerProvider", mock_tracer_provider),
patch("phoenix.otel.register", mock_register),
):
get_tracer_provider(
project_name="test_project",
json_tracer=json_tracer,
agent_type=AgentType.SMOLAGENTS,
output_dir=tmp_path / "telemetry",
)
assert (tmp_path / "telemetry").exists() == json_tracer
if not json_tracer:
mock_register.assert_called_once_with(
project_name="test_project", set_global_tracer_provider=True
)
@pytest.mark.parametrize(
"agent_type,instrumentor",
[
("openai", "openai_agents.OpenAIAgentsInstrumentor"),
("openai_multi_agent", "openai_agents.OpenAIAgentsInstrumentor"),
("smolagents", "smolagents.SmolagentsInstrumentor"),
],
)
def test_setup_tracing(agent_type, instrumentor):
with patch(f"openinference.instrumentation.{instrumentor}") as mock_instrumentor:
setup_tracing(MagicMock(), agent_type)
mock_instrumentor.assert_called_once()
def test_invalid_agent_type():
with pytest.raises(ValueError, match="agent_type must be one of"):
setup_tracing(MagicMock(), "invalid_agent_type")