SIENTIAPDE-1241: Add unit tests for logger_helper module.
This commit is contained in:
90
tests/utils/test_logger_helper.py
Normal file
90
tests/utils/test_logger_helper.py
Normal file
@@ -0,0 +1,90 @@
|
||||
"""Unit tests for logger_helper module with 100% coverage."""
|
||||
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
|
||||
@patch('model_manager.utils.logger_helper.SientiaLogger')
|
||||
def test_get_logger_creates_logger_instance(mock_sientia_logger):
|
||||
"""Test get_logger creates a SientiaLogger instance with the given name."""
|
||||
from model_manager.utils.logger_helper import get_logger
|
||||
|
||||
mock_logger_instance = MagicMock()
|
||||
mock_logger_instance.base_logger = MagicMock()
|
||||
mock_sientia_logger.return_value = mock_logger_instance
|
||||
|
||||
result = get_logger('test_module')
|
||||
|
||||
mock_sientia_logger.assert_called_once_with('test_module')
|
||||
assert result is mock_logger_instance
|
||||
|
||||
|
||||
@patch('model_manager.utils.logger_helper.SientiaLogger')
|
||||
def test_get_logger_disables_propagation(mock_sientia_logger):
|
||||
"""Test get_logger disables log propagation."""
|
||||
from model_manager.utils.logger_helper import get_logger
|
||||
|
||||
mock_logger_instance = MagicMock()
|
||||
mock_base_logger = MagicMock()
|
||||
mock_base_logger.propagate = True
|
||||
mock_logger_instance.base_logger = mock_base_logger
|
||||
mock_sientia_logger.return_value = mock_logger_instance
|
||||
|
||||
get_logger('test_module')
|
||||
|
||||
assert mock_base_logger.propagate is False
|
||||
|
||||
|
||||
@patch('model_manager.utils.logger_helper.SientiaLogger')
|
||||
def test_get_logger_with_different_names(mock_sientia_logger):
|
||||
"""Test get_logger works with different logger names."""
|
||||
from model_manager.utils.logger_helper import get_logger
|
||||
|
||||
mock_logger_instance = MagicMock()
|
||||
mock_logger_instance.base_logger = MagicMock()
|
||||
mock_sientia_logger.return_value = mock_logger_instance
|
||||
|
||||
logger1 = get_logger('module1')
|
||||
logger2 = get_logger('module2')
|
||||
logger3 = get_logger('my.nested.module')
|
||||
|
||||
assert mock_sientia_logger.call_count == 3
|
||||
mock_sientia_logger.assert_any_call('module1')
|
||||
mock_sientia_logger.assert_any_call('module2')
|
||||
mock_sientia_logger.assert_any_call('my.nested.module')
|
||||
assert logger1 is mock_logger_instance
|
||||
assert logger2 is mock_logger_instance
|
||||
assert logger3 is mock_logger_instance
|
||||
|
||||
|
||||
@patch('model_manager.utils.logger_helper.SientiaLogger')
|
||||
def test_get_logger_with_empty_name(mock_sientia_logger):
|
||||
"""Test get_logger with empty string name."""
|
||||
from model_manager.utils.logger_helper import get_logger
|
||||
|
||||
mock_logger_instance = MagicMock()
|
||||
mock_logger_instance.base_logger = MagicMock()
|
||||
mock_sientia_logger.return_value = mock_logger_instance
|
||||
|
||||
result = get_logger('')
|
||||
|
||||
mock_sientia_logger.assert_called_once_with('')
|
||||
assert result is mock_logger_instance
|
||||
assert result.base_logger.propagate is False
|
||||
|
||||
|
||||
@patch('model_manager.utils.logger_helper.SientiaLogger')
|
||||
def test_get_logger_returns_configured_logger(mock_sientia_logger):
|
||||
"""Test get_logger returns the configured logger instance."""
|
||||
from model_manager.utils.logger_helper import get_logger
|
||||
|
||||
mock_logger_instance = MagicMock()
|
||||
mock_logger_instance.base_logger = MagicMock()
|
||||
mock_logger_instance.base_logger.propagate = True
|
||||
mock_sientia_logger.return_value = mock_logger_instance
|
||||
|
||||
result = get_logger('test_logger')
|
||||
|
||||
# Verify the logger is returned after configuration
|
||||
assert result is mock_logger_instance
|
||||
# Verify propagation was disabled
|
||||
assert mock_logger_instance.base_logger.propagate is False
|
||||
Reference in New Issue
Block a user