blob: 4ebcbfb050473c02d4df3841792fc72232ef4f7d [file] [log] [blame]
Tim Hammerquist545ba4e2017-12-12 02:36:17 +00001#!/usr/bin/env python -tt
2
3"""
4unittests.test_logger
5"""
6
7try:
8 import unittest2 as unittest
9except ImportError:
10 import unittest
11
12import logging
13
14import dbsign.logger as L
15
16
17class TestLogger(unittest.TestCase):
18 def test_logger(self): # type: () -> ()
19 # This test assumes the initial, intended semantics of the various
20 # loggers returned. If semantics change, so must the tests.
21 init_level = L._root.level
22 test_level = 7
23 log_name = "TestLoggerLogger"
24 log = L.get_logger(log_name)
25
26 with self.subTest(method=L.get_logger):
27 self.assertEqual(log.__class__, logging.Logger)
28 self.assertEqual(log_name, log.name)
29 # Returned loggers should default to 0 (inherit parent level)
30 self.assertEqual(0, log.level)
31
32 with self.subTest(method=L.set_level):
33 # Assert set_level() sets root level, not sublogger level
34 L.set_level(test_level)
35 self.assertEqual(test_level, L._root.level)
36 self.assertEqual(0, log.level)
37
38 # Restore and verify
39 L.set_level(init_level)
40 self.assertEqual(init_level, L._root.level)
41 self.assertEqual(0, log.level)
42
43 def test_normalize(self): # type: () -> ()
44 self.assertEqual(logging.WARN, L.normalize(logging.WARN))
45 self.assertEqual(logging.DEBUG, L.normalize(logging.DEBUG - 1))
46 self.assertEqual(logging.CRITICAL, L.normalize(logging.CRITICAL + 1))