Files
basicmachines-co-basic-memory/tests/mcp/test_server_telemetry.py
Paul Hernandez 1b39062ecd refactor(core): rip telemetry wrappers, use logfire directly (#754)
Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-17 13:58:19 -05:00

30 lines
720 B
Python

"""Telemetry coverage for MCP server lifecycle spans."""
from __future__ import annotations
from contextlib import contextmanager
import logfire
import pytest
from basic_memory.mcp.server import lifespan, mcp
@pytest.mark.asyncio
async def test_mcp_lifespan_wraps_startup_and_shutdown(config_manager, monkeypatch) -> None:
spans: list[tuple[str, dict]] = []
@contextmanager
def fake_span(name: str, **attrs):
spans.append((name, attrs))
yield
monkeypatch.setattr(logfire, "span", fake_span)
async with lifespan(mcp):
pass
span_names = [name for name, _ in spans]
assert "mcp.lifecycle.startup" in span_names
assert "mcp.lifecycle.shutdown" in span_names