# -*- coding: utf-8 -*- ''' tests.unit.log_test ~~~~~~~~~~~~~~~~~~~ Test salt's "hacked" logging :codeauthor: :email:`Pedro Algarvio (pedro@algarvio.me)` :copyright: © 2012 by the SaltStack Team, see AUTHORS for more details. :license: Apache 2.0, see LICENSE for more details. ''' # Import salt libs from saltunittest import ( TestCase, TestLoader, TextTestRunner, TestsLoggingHandler ) class TestLog(TestCase): '''Test several logging settings''' def test_issue_2853_regex_TypeError(self): from salt import log as saltlog # Now, python's logging logger class is ours. # Let's make sure we have at least one instance log = saltlog.SaltLoggingClass(__name__) # Test for a format which includes digits in name formatting. log_format = '[%(name)-15s] %(message)s' handler = TestsLoggingHandler(format=log_format) log.addHandler(handler) # Trigger TestsLoggingHandler.__enter__ with handler: # Let's create another log instance to trigger salt's logging class # calculations. try: saltlog.SaltLoggingClass('{0}.with_digits'.format(__name__)) except Exception, err: raise AssertionError( 'No exception should have been raised: {0}'.format(err) ) # Remove the testing handler log.removeHandler(handler) # Test for a format which does not include digits in name formatting. log_format = '[%(name)s] %(message)s' handler = TestsLoggingHandler(format=log_format) log.addHandler(handler) # Trigger TestsLoggingHandler.__enter__ with handler: # Let's create another log instance to trigger salt's logging class # calculations. try: saltlog.SaltLoggingClass('{0}.without_digits'.format(__name__)) except Exception, err: raise AssertionError( 'No exception should have been raised: {0}'.format(err) ) # Remove the testing handler log.removeHandler(handler) if __name__ == "__main__": loader = TestLoader() tests = loader.loadTestsFromTestCase(TestLog) TextTestRunner(verbosity=1).run(tests)