1+ import pytest
2+ import logging
3+ from unittest .mock import patch , MagicMock
4+
5+ @pytest .fixture (autouse = True )
6+ def mock_logger (monkeypatch ):
7+ """
8+ Mock the logger to prevent test failures.
9+ """
10+ # Create a proper logger with a handler that won't cause errors
11+ test_logger = logging .getLogger ("test-logger" )
12+ test_logger .setLevel (logging .INFO )
13+ handler = logging .NullHandler ()
14+ handler .setLevel (logging .INFO )
15+ test_logger .addHandler (handler )
16+ test_logger .propagate = False
17+
18+ # Replace the real logger with our test logger
19+ monkeypatch .setattr ("api_to_dataframe.utils.logger.logger" , test_logger )
20+ monkeypatch .setattr ("api_to_dataframe.models.retainer.logger" , test_logger )
21+
22+ yield test_logger
23+
24+ @pytest .fixture (autouse = True )
25+ def mock_otel_wrapper ():
26+ """
27+ Mock the OpenTelemetry wrapper to prevent test failures.
28+ This is applied to all tests automatically.
29+ """
30+ # Create mock objects for each component
31+ mock_span = MagicMock ()
32+ mock_context = MagicMock ()
33+
34+ # Configure the traces mock
35+ mock_traces = MagicMock ()
36+ mock_traces .span_in_context .return_value .__enter__ .return_value = (mock_span , mock_context )
37+ mock_traces .get_tracer .return_value = MagicMock ()
38+
39+ # Configure the logs mock
40+ mock_logs = MagicMock ()
41+ mock_logs .new_log .return_value = None
42+ mock_logs .get_logger .return_value = MagicMock ()
43+
44+ # Configure the metrics mock
45+ mock_metrics = MagicMock ()
46+
47+ # Configure the main telemetry object
48+ mock_wrapper = MagicMock ()
49+ mock_wrapper .traces .return_value = mock_traces
50+ mock_wrapper .logs .return_value = mock_logs
51+ mock_wrapper .metrics .return_value = mock_metrics
52+
53+ # Apply the patch to the wrapper_builder function
54+ with patch ('otel_wrapper.deps_injector.wrapper_builder' , return_value = mock_wrapper ):
55+ yield mock_wrapper
0 commit comments