""" Global pytest configuration for all tests. This conftest.py applies to all test directories. """ import pytest # import asyncio # import tracemalloc # import warnings import logging from unittest.mock import MagicMock # Uncomment the lines below to enable asyncio debug mode and tracemalloc # for tracing unawaited coroutines and their creation points # tracemalloc.start() # asyncio.set_event_loop_policy(asyncio.DefaultEventLoopPolicy()) # warnings.simplefilter("always", ResourceWarning) # warnings.simplefilter("always", RuntimeWarning) @pytest.fixture(scope="session", autouse=True) def mock_loki_handler(session_mocker=None): """ Mock LokiHandler to prevent connection attempts during tests. This fixture runs once per test session and prevents the logging module from trying to connect to a Loki server that doesn't exist in the test environment. """ # Try to import logging_loki and mock it if available try: import logging_loki # Create a mock LokiHandler that does nothing original_loki_handler = logging_loki.LokiHandler class MockLokiHandler(logging.Handler): """Mock LokiHandler that doesn't make network calls.""" def __init__(self, *args, **kwargs): super().__init__() def emit(self, record): return # Replace the real LokiHandler with our mock logging_loki.LokiHandler = MockLokiHandler yield # Restore original after tests logging_loki.LokiHandler = original_loki_handler except ImportError: # If logging_loki isn't installed, no need to mock yield