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