From 2262dcf4a0f57fced324e045e8651d92de3011e0 Mon Sep 17 00:00:00 2001 From: Bruno Domingues Date: Thu, 23 Oct 2025 09:15:09 -0300 Subject: [PATCH] SIENTIAPDE-1241: Add unit tests for logger_helper module. --- tests/utils/test_logger_helper.py | 90 +++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 tests/utils/test_logger_helper.py diff --git a/tests/utils/test_logger_helper.py b/tests/utils/test_logger_helper.py new file mode 100644 index 0000000..51d815c --- /dev/null +++ b/tests/utils/test_logger_helper.py @@ -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