from unittest.mock import Mock import pytest from src.backend.utils import performance @pytest.fixture(autouse=True) def mock_logger(mocker): yield mocker.patch.object(performance, "logger") def test_timer(mock_logger): with performance.timer("test_timer"): pass assert mock_logger.info.called @pytest.mark.parametrize("initially_enabled", [True, False]) def test_no_garbage_collection(initially_enabled): mock_gc = Mock(isenabled=Mock(return_value=initially_enabled)) with performance.no_garbage_collection(mock_gc): assert mock_gc.disable.called assert mock_gc.enable.called == initially_enabled