97 lines
2.6 KiB
Python
97 lines
2.6 KiB
Python
"""
|
|
Unit test file for logger.py
|
|
"""
|
|
|
|
import logging
|
|
from freqtrade.logger import Logger
|
|
|
|
|
|
def test_logger_object() -> None:
|
|
"""
|
|
Test the Constants object has the mandatory Constants
|
|
:return: None
|
|
"""
|
|
logger = Logger()
|
|
assert logger.name == ''
|
|
assert logger.level == 20
|
|
assert logger.level is logging.INFO
|
|
assert hasattr(logger, 'get_logger')
|
|
|
|
logger = Logger(name='Foo', level=logging.WARNING)
|
|
assert logger.name == 'Foo'
|
|
assert logger.name != ''
|
|
assert logger.level == 30
|
|
assert logger.level is logging.WARNING
|
|
|
|
|
|
def test_get_logger() -> None:
|
|
"""
|
|
Test Logger.get_logger() and Logger._init_logger()
|
|
:return: None
|
|
"""
|
|
logger = Logger(name='get_logger', level=logging.WARNING)
|
|
get_logger = logger.get_logger()
|
|
assert logger.logger is get_logger
|
|
assert get_logger is not None
|
|
assert hasattr(get_logger, 'debug')
|
|
assert hasattr(get_logger, 'info')
|
|
assert hasattr(get_logger, 'warning')
|
|
assert hasattr(get_logger, 'critical')
|
|
assert hasattr(get_logger, 'exception')
|
|
|
|
|
|
def test_set_name() -> None:
|
|
"""
|
|
Test Logger.set_name()
|
|
:return: None
|
|
"""
|
|
logger = Logger(name='set_name')
|
|
assert logger.name == 'set_name'
|
|
|
|
logger.set_name('set_name_new')
|
|
assert logger.name == 'set_name_new'
|
|
|
|
|
|
def test_set_level() -> None:
|
|
"""
|
|
Test Logger.set_name()
|
|
:return: None
|
|
"""
|
|
logger = Logger(name='Foo', level=logging.WARNING)
|
|
assert logger.level == logging.WARNING
|
|
assert logger.get_logger().level == logging.WARNING
|
|
|
|
logger.set_level(logging.INFO)
|
|
assert logger.level == logging.INFO
|
|
assert logger.get_logger().level == logging.INFO
|
|
|
|
|
|
def test_sending_msg(caplog) -> None:
|
|
"""
|
|
Test send a logging message
|
|
:return: None
|
|
"""
|
|
logger = Logger(name='sending_msg', level=logging.WARNING).get_logger()
|
|
|
|
logger.info('I am an INFO message')
|
|
assert('sending_msg', logging.INFO, 'I am an INFO message') not in caplog.record_tuples
|
|
|
|
logger.warning('I am an WARNING message')
|
|
assert ('sending_msg', logging.WARNING, 'I am an WARNING message') in caplog.record_tuples
|
|
|
|
|
|
def test_set_format(caplog) -> None:
|
|
"""
|
|
Test Logger.set_format()
|
|
:return: None
|
|
"""
|
|
log = Logger(name='set_format')
|
|
logger = log.get_logger()
|
|
|
|
logger.info('I am the first message')
|
|
assert ('set_format', logging.INFO, 'I am the first message') in caplog.record_tuples
|
|
|
|
log.set_format(log_format='%(message)s', propagate=True)
|
|
logger.info('I am the second message')
|
|
assert ('set_format', logging.INFO, 'I am the second message') in caplog.record_tuples
|