@@ -58,7 +58,10 @@ def mock_set_tracer_provider():
5858
5959@pytest .fixture
6060def mock_otlp_exporter ():
61- with mock .patch ("opentelemetry.exporter.otlp.proto.http.trace_exporter.OTLPSpanExporter" ) as mock_exporter :
61+ with (
62+ mock .patch ("strands.telemetry.tracer.HAS_OTEL_EXPORTER_MODULE" , True ),
63+ mock .patch ("opentelemetry.exporter.otlp.proto.http.trace_exporter.OTLPSpanExporter" ) as mock_exporter ,
64+ ):
6265 yield mock_exporter
6366
6467
@@ -199,7 +202,11 @@ def test_initialize_tracer_with_otlp(
199202 mock_resource .create .return_value = mock_resource_instance
200203
201204 # Initialize Tracer
202- Tracer (otlp_endpoint = "http://test-endpoint" )
205+ with (
206+ mock .patch ("strands.telemetry.tracer.HAS_OTEL_EXPORTER_MODULE" , True ),
207+ mock .patch ("strands.telemetry.tracer.OTLPSpanExporter" , mock_otlp_exporter ),
208+ ):
209+ Tracer (otlp_endpoint = "http://test-endpoint" )
203210
204211 # Verify the tracer provider was created with correct resource
205212 mock_tracer_provider .assert_called_once_with (resource = mock_resource_instance )
@@ -508,7 +515,11 @@ def test_initialize_tracer_with_invalid_otlp_endpoint(
508515 # This should not raise an exception, but should log an error
509516
510517 # Initialize Tracer
511- Tracer (otlp_endpoint = "http://invalid-endpoint" )
518+ with (
519+ mock .patch ("strands.telemetry.tracer.HAS_OTEL_EXPORTER_MODULE" , True ),
520+ mock .patch ("strands.telemetry.tracer.OTLPSpanExporter" , mock_otlp_exporter ),
521+ ):
522+ Tracer (otlp_endpoint = "http://invalid-endpoint" )
512523
513524 # Verify the tracer provider was created with correct resource
514525 mock_tracer_provider .assert_called_once_with (resource = mock_resource_instance )
0 commit comments