Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 5 additions & 4 deletions tests/observability/test_multi_exporters.py
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def test_empty_list_uses_console_exporter(self):
@mock.patch.dict("os.environ", {"BASALT_OTEL_EXPORTER_OTLP_ENDPOINT": "http://localhost:4318"}, clear=False)
@mock.patch("basalt.observability.instrumentation.OTLPSpanExporter")
def test_user_exporters_plus_env_exporter(self, mock_otlp_exporter):
"""Test that user exporters are combined with environment exporter."""
"""Test that user exporters are used instead of environment exporter."""
# Mock the OTLP exporter creation
mock_env_exporter = mock.Mock()
mock_otlp_exporter.return_value = mock_env_exporter
Expand All @@ -127,12 +127,13 @@ def test_user_exporters_plus_env_exporter(self, mock_otlp_exporter):
manager = InstrumentationManager()
manager.initialize(config)

# Verify both exporters were used
# Verify user exporter was used
provider = manager._tracer_provider
self.assertIsInstance(provider, TracerProvider)
# Should have 2 exporters + 4 Basalt processors = 6 total processors
# Should have 1 exporter + 4 Basalt processors = 5 total processors
# Basalt processors: Context, CallEvaluator, ShouldEvaluate, AutoInstrumentation
self.assertEqual(len(provider._active_span_processor._span_processors), 6)
# Note: Environment exporter is only used if no user exporter is provided
self.assertEqual(len(provider._active_span_processor._span_processors), 5)

def test_mixed_console_and_otlp_exporters(self):
"""Test mix of ConsoleSpanExporter and regular exporters."""
Expand Down