Files
LangBot/tests/unit_tests/telemetry/test_platform_model.py
T

28 lines
825 B
Python

from types import SimpleNamespace
import pytest
from pydantic import BaseModel
from langbot.pkg.telemetry.platform import observe_adapter
class ModelAdapter(BaseModel):
def get_supported_apis(self):
return ['send_message']
async def send_message(self):
return {'message_id': 'ok'}
@pytest.mark.asyncio
async def test_model_adapter_instrumentation_is_instance_local():
first, second = ModelAdapter(), ModelAdapter()
ap = SimpleNamespace(telemetry=None)
observe_adapter(ap, None, first)
wrapped = first.send_message
observe_adapter(ap, None, first)
assert first.send_message is wrapped
assert not getattr(second, '_execution_observed', False)
assert await first.send_message() == {'message_id': 'ok'}
assert await second.send_message() == {'message_id': 'ok'}