22
33import sys
44import types
5+ from typing import Any
56from unittest .mock import MagicMock
67
78import pytest
@@ -62,7 +63,7 @@ def end(self):
6263
6364
6465def _install_fake_otel (monkeypatch , * , trace_id = 0xABC , span_id = 0xFF ):
65- record : dict = {"span" : None , "attached" : [], "detached" : []}
66+ record : dict [ str , Any ] = {"span" : None , "attached" : [], "detached" : []}
6667
6768 def start_span (name ):
6869 span = _FakeOtelSpan (name , trace_id , span_id )
@@ -80,7 +81,7 @@ def start_span(name):
8081 attach = lambda ctx : record ["attached" ].append (ctx ) or object (),
8182 detach = lambda token : record ["detached" ].append (token ),
8283 )
83- fake_otel = types .ModuleType ("opentelemetry" )
84+ fake_otel : Any = types .ModuleType ("opentelemetry" )
8485 fake_otel .trace = fake_trace
8586 fake_otel .context = fake_context
8687 monkeypatch .setitem (sys .modules , "opentelemetry" , fake_otel )
@@ -104,7 +105,7 @@ def finish(self):
104105
105106
106107def _install_fake_ddtrace (monkeypatch , * , active = True , trace_id = 0xABC , span_id = 0xFF ):
107- record : dict = {"span" : None , "started" : []}
108+ record : dict [ str , Any ] = {"span" : None , "started" : []}
108109 ctx_obj = object () if active else None
109110 record ["ctx" ] = ctx_obj
110111
@@ -118,8 +119,8 @@ def start_span(name, child_of=None, activate=False):
118119 current_trace_context = lambda : ctx_obj ,
119120 start_span = start_span ,
120121 )
121- fake_ddtrace = types .ModuleType ("ddtrace" )
122- fake_trace = types .ModuleType ("ddtrace.trace" )
122+ fake_ddtrace : Any = types .ModuleType ("ddtrace" )
123+ fake_trace : Any = types .ModuleType ("ddtrace.trace" )
123124 fake_trace .tracer = tracer
124125 monkeypatch .setitem (sys .modules , "ddtrace" , fake_ddtrace )
125126 monkeypatch .setitem (sys .modules , "ddtrace.trace" , fake_trace )
@@ -262,6 +263,7 @@ def test_lgtm_business_span_tagged_with_wrapper_ids(self, monkeypatch):
262263 span = trace .start_span (name = "chat_completion" )
263264
264265 assert record ["span" ].name == "chat_completion" # dedicated named span
266+ assert isinstance (span .data , dict )
265267 assert span .data ["obs_trace_id" ] == "00000000000000000000000000000111"
266268 assert span .data ["obs_span_id" ] == "0000000000000222"
267269 assert span .trace_id == "task-run-1" # business id unchanged
@@ -309,6 +311,7 @@ def test_dd_only_business_span_tagged_via_ddtrace(self, monkeypatch):
309311 span = trace .start_span (name = "get_state" )
310312
311313 assert record ["span" ].name == "get_state"
314+ assert isinstance (span .data , dict )
312315 assert span .data ["obs_trace_id" ] == "00000000000000000000000000000111"
313316 assert span .data ["obs_span_id" ] == "0000000000000222"
314317 assert record ["span" ].tags == {
@@ -444,7 +447,7 @@ def start_span(name):
444447 attach = lambda ctx : object (),
445448 detach = lambda token : None ,
446449 )
447- fake_otel = types .ModuleType ("opentelemetry" )
450+ fake_otel : Any = types .ModuleType ("opentelemetry" )
448451 fake_otel .trace = fake_trace
449452 fake_otel .context = fake_context
450453 monkeypatch .setitem (sys .modules , "opentelemetry" , fake_otel )
0 commit comments