123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- 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()
|