from isc.log.log import * import unittest import os class TestRotateFileHandler(unittest.TestCase): def setUp(self): self.handler = RotatingFileHandler(filename = '/var/log/rotate_file_handler.log', maxBytes = 1024, backupCount = 5) def test_shouldRollover(self): if(os.path.exists('/var/log/rotate_file_handler.log')): os.remove('/var/log/rotate_file_handler.log') record = logging.LogRecord(None, None, "", 0, "rotate file handler", (), None, None) self.handler.shouldRollover(record) self.assertTrue(os.path.exists('/var/log/rotate_file_handler.log')) def test_update_config(self): self.handler.update_config('/var/log/rotate_file_handler2.log', 3, 512) self.assertEqual(self.handler.baseFilename, '/var/log/rotate_file_handler2.log') self.assertEqual(self.handler.maxBytes, 512) self.assertEqual(self.handler.backupCount, 3) self.handler.update_config('/var/ZZZXXX/rotate_file_handler2.log', 4, 1024) self.assertEqual(self.handler.baseFilename, '/var/log/rotate_file_handler2.log') self.assertEqual(self.handler.maxBytes, 1024) self.assertEqual(self.handler.backupCount, 4) class TestLogging(unittest.TestCase): def setUp(self): self.file_stream_logger = ModuleLogger('File_Stream_Logger', '/var/log/FileStreamLogger.log', 'debug', 5, 1024, True) self.syslog_logger = ModuleLogger('SysLogger', '', 'info', 5, 1024, False) def test_logging_init(self): self.assertNotEqual(self.file_stream_logger.null_handler, None) self.assertNotEqual(self.file_stream_logger.rotating_handler, None) self.assertNotEqual(self.file_stream_logger.stream_handler, None) self.assertEqual(self.file_stream_logger.syslog_handler, None) ret = self.file_stream_logger.null_handler in self.file_stream_logger.handlers self.assertTrue(ret) ret = self.file_stream_logger.rotating_handler in self.file_stream_logger.handlers self.assertTrue(ret) ret = self.file_stream_logger.stream_handler in self.file_stream_logger.handlers self.assertTrue(ret) ret = self.file_stream_logger.syslog_handler in self.file_stream_logger.handlers self.assertFalse(ret) logLevel = LEVELS.get('debug', logging.NOTSET) self.assertEqual(self.file_stream_logger.getEffectiveLevel(), logLevel) self.assertNotEqual(self.syslog_logger.null_handler, None) self.assertEqual(self.syslog_logger.rotating_handler, None) self.assertEqual(self.syslog_logger.stream_handler, None) self.assertNotEqual(self.syslog_logger.syslog_handler, None) ret = self.syslog_logger.null_handler in self.syslog_logger.handlers self.assertTrue(ret) ret = self.syslog_logger.rotating_handler in self.syslog_logger.handlers self.assertFalse(ret) ret = self.syslog_logger.stream_handler in self.syslog_logger.handlers self.assertFalse(ret) ret = self.syslog_logger.syslog_handler in self.syslog_logger.handlers self.assertTrue(ret) logLevel = LEVELS.get('info', logging.NOTSET) self.assertEqual(self.syslog_logger.getEffectiveLevel(), logLevel) def test_add_null_handler(self): if(self.syslog_logger.null_handler in self.syslog_logger.handlers): self.syslog_logger.removeHandler(self.syslog_logger.null_handler) self.syslog_logger.add_null_handler() ret = self.syslog_logger.null_handler in self.syslog_logger.handlers self.assertTrue(ret) def test_add_rotate_handler(self): if(self.syslog_logger.rotating_handler in self.syslog_logger.handlers): self.syslog_logger.removeHandler(self.syslog_logger.rotating_handler) self.syslog_logger.add_rotate_handler('', 5, 1024) ret = self.syslog_logger.rotating_handler in self.syslog_logger.handlers self.assertFalse(ret) self.syslog_logger.add_rotate_handler('/var/log/RotateFile.log', 5, 1024) ret = self.syslog_logger.rotating_handler in self.syslog_logger.handlers self.assertTrue(ret) def test_add_stream_handler(self): if(self.file_stream_logger.stream_handler in self.file_stream_logger.handlers): self.file_stream_logger.removeHandler(self.file_stream_logger.stream_handler) self.file_stream_logger.add_stream_handler() ret = self.file_stream_logger.stream_handler in self.file_stream_logger.handlers self.assertTrue(ret) def test_add_syslog_handler(self): if(self.syslog_logger.syslog_handler in self.syslog_logger.handlers): self.syslog_logger.removeHandler(self.syslog_logger.syslog_handler) self.syslog_logger.add_syslog_handler() ret = self.syslog_logger.syslog_handler in self.syslog_logger.handlers self.assertTrue(ret) def test_update_rotate_handler(self): self.file_stream_logger.update_rotate_handler('/var/log/RotateFile', 4, 1024) ret = self.file_stream_logger.rotating_handler in self.file_stream_logger.handlers self.assertTrue(ret) self.file_stream_logger.update_rotate_handler('', 5, 1024) ret = self.file_stream_logger.rotating_handler in self.file_stream_logger.handlers self.assertFalse(ret) self.file_stream_logger.update_rotate_handler('/var/log/RotateFile', 4, 1024) ret = self.file_stream_logger.rotating_handler in self.file_stream_logger.handlers self.assertTrue(ret) def test_update_config(self): self.file_stream_logger.update_config('/var/log/RotateFile','error', 4, 1024) logLevel = LEVELS.get('error', logging.NOTSET) self.assertEqual(self.file_stream_logger.getEffectiveLevel(), logLevel) def test_log_message(self): print ('\r') #output log message to stderr and file self.file_stream_logger.log_message('debug', 'Debug message') self.file_stream_logger.log_message('info', 'Info message') self.file_stream_logger.log_message('warning', 'Warning message') self.file_stream_logger.log_message('error', 'Error message') self.file_stream_logger.log_message('critical', 'Critical message') #output log message to syslog self.syslog_logger.log_message('debug', 'Debug message') self.syslog_logger.log_message('info', 'Info message') self.syslog_logger.log_message('warning', 'Warning message') self.syslog_logger.log_message('error', 'Error message') self.syslog_logger.log_message('critical', 'Critical message') if __name__ == '__main__': unittest.main()