unittest_for_shared_utils #55
@@ -1,5 +1,4 @@
|
||||
"""Definition of setup_logging function."""
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
import os
|
||||
@@ -17,7 +16,7 @@ def setup_logging() -> None:
|
||||
'%(message)s'
|
||||
)
|
||||
datefmt = '%Y-%m-%d %H:%M:%S'
|
||||
logging.basicConfig(format=fmt, datefmt=datefmt, level=level)
|
||||
logging.basicConfig(format=fmt, datefmt=datefmt, level=level, force=True)
|
||||
# change levels for modules that spam the log
|
||||
logging.getLogger('pymongo').setLevel(logging.WARNING)
|
||||
logging.getLogger('urllib3').setLevel(logging.INFO)
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
"""Definition of tests for setup_logging function."""
|
||||
|
||||
import logging
|
||||
import os
|
||||
import unittest
|
||||
|
||||
from shared.utils import setup_logging
|
||||
|
||||
|
||||
class TestFunctionSetupLogging(unittest.TestCase):
|
||||
"""Testing function setup_logging."""
|
||||
|
||||
def setUp(self):
|
||||
# set log level names to test
|
||||
self.env_var_name = 'LOG_LEVEL'
|
||||
self.log_level_list = [
|
||||
'debug',
|
||||
'info',
|
||||
'error',
|
||||
]
|
||||
self.wrong_log_level_name = 'weird_name'
|
||||
|
||||
def test_log_level_gets_set(self):
|
||||
"""Test that function updates the logging level of the root logger."""
|
||||
for log_level in self.log_level_list:
|
||||
# set env var
|
||||
os.environ[self.env_var_name] = log_level
|
||||
# execute function
|
||||
setup_logging()
|
||||
# get logger
|
||||
logger = logging.getLogger()
|
||||
# check log level
|
||||
level_number = getattr(logging, log_level.upper())
|
||||
self.assertEqual(logger.getEffectiveLevel(), level_number)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user