import os from unittest.mock import patch import logging import pytest from scouter.utils.logger import get_logger @pytest.fixture def mock_env_vars(): with patch.dict(os.environ, {}, clear=True): yield @pytest.mark.usefixtures("mock_env_vars") @patch('scouter.utils.logger.logging.Formatter') @patch('scouter.utils.logger.logging.StreamHandler') def test_get_logger_defaults(mock_stream_handler, mock_formatter): """Test logger creation with default settings""" # Mock the StreamHandler and Formatter logger = get_logger('test_logger') # Verify logger settings assert logger.name == 'test_logger' assert logger.level == logging.INFO # Verify handler configuration mock_stream_handler.return_value.setLevel.assert_called_once_with('INFO') mock_stream_handler.return_value.setFormatter.assert_called_once() # Verify formatter configuration mock_formatter.assert_called_once_with( '%(asctime)s - %(name)s - %(levelname)s - %(message)s' ) # Verify handler was added to logger assert len(logger.handlers) == 1