def test_init(self): m_pip_logger = Mock() m_pip_s_logger = Mock() def se_get_logger(lname): if lname == 'pip': return m_pip_logger if lname == 'pip.subprocessor': return m_pip_s_logger with patch('%s.inspect.stack' % pbm, autospec=True) as m_stack: with patch('%s.logger' % pbm, autospec=True) as m_logger: with patch('%s.logging.getLogger' % pbm, autospec=True) as m_get_log: m_get_log.side_effect = se_get_logger cls = VersionFinder('foobar', package_file='/foo/bar/baz.py') assert m_stack.mock_calls == [] assert cls.package_name == 'foobar' assert cls.package_file == '/foo/bar/baz.py' assert cls.package_dir == '/foo/bar' assert m_logger.mock_calls == [ call.setLevel(logging.CRITICAL), call.debug('Finding package version for: %s', 'foobar'), call.debug('Explicit package file: %s', '/foo/bar/baz.py'), call.debug('package_dir: /foo/bar') ] assert m_get_log.mock_calls == [call('pip'), call('pip.subprocessor')] assert m_pip_logger.mock_calls == [call.setLevel(logging.CRITICAL)] assert m_pip_s_logger.mock_calls == []
def test_set_log_level_format(self): m_log = Mock() mock_handler = Mock(spec_set=logging.Handler) with patch('%s.logging.Formatter' % pbm) as mock_formatter: type(m_log).handlers = [mock_handler] set_log_level_format(m_log, 5, 'foo') assert mock_formatter.mock_calls == [call(fmt='foo')] assert mock_handler.mock_calls == [ call.setFormatter(mock_formatter.return_value) ] assert m_log.mock_calls == [call.setLevel(5)]
def test_global_log_level(self): """ Test setting log level for all Bear loggers. """ mock_logger = MagicMock() patch_get = patch('bear.__main__.logging.getLogger', return_value=mock_logger) with patch_get as get: set_log_levels(9000) self.assertEqual(get.mock_calls, [ call('bear.hashing'), call('bear'), call('bear.output'), call('bear.__main__') ]) self.assertEqual(mock_logger.mock_calls, [call.setLevel(9000)] * 4)
def test_log_config(mock_makedirs, mock_getLogger, mock_get_handlers): mock_log = MagicMock(autospec=True) mock_getLogger.return_value = mock_log assert log_config( 'root', 'name', 'INFO', ) assert [ call.setLevel(20), call.debug('%s: %s %s\n=> %s', 'log_config', ('root', 'name', 'INFO'), {}, { 'console_handler': 'handler1', 'file_handler': 'handler2' }) ] == mock_log.mock_calls assert [call('root', exist_ok=True)] == mock_makedirs.mock_calls assert [call(), call('schmetterling.core.log')] == mock_getLogger.mock_calls assert call('root', 'name') == mock_get_handlers.mock_calls[0] assert ['handler1', 'handler2'] == mock_log.handlers