newdwh2021/ecs/crm-datafetch/tests/util/test_logger_out_of_class.py
2022-08-16 14:52:43 +09:00

146 lines
5.9 KiB
Python

import logging
from unittest.mock import MagicMock, patch
import pytest
from src.util.logger import logger_instance as logger
class TestLogger:
def test_logging_debug(self, caplog):
"""
Cases:
Debugレベルを設定したloggerについて、それ以下のログが出力されないこと
Arranges:
- 各レベルでのログを出力する
- ログレベルの設定
Expects:
- 期待値通りのログが出力されること
"""
caplog.set_level(logging.DEBUG)
logger.debug('debugログ出力')
logger.info('infoログ出力')
logger.warning("warningログ出力")
logger.error("errorログ出力")
logger.critical("criticalログ出力")
assert ("root", logging.DEBUG, "debugログ出力") in caplog.record_tuples
assert ("root", logging.INFO, "infoログ出力") in caplog.record_tuples
assert ("root", logging.WARNING, "warningログ出力") in caplog.record_tuples
assert ("root", logging.ERROR, "errorログ出力") in caplog.record_tuples
assert ("root", logging.CRITICAL, "criticalログ出力") in caplog.record_tuples
def test_logging_info(self, caplog):
"""
Cases:
Infoレベルを設定したloggerについて、それ以下のログが出力されないこと
Arranges:
- 各レベルでのログを出力する
- ログレベルの設定
Expects:
- 期待値通りのログが出力されること
"""
caplog.set_level(logging.INFO)
logger.debug('debugログ出力')
logger.info('infoログ出力')
logger.warning("warningログ出力")
logger.error("errorログ出力")
logger.critical("criticalログ出力")
assert ("root", logging.DEBUG, "debugログ出力") not in caplog.record_tuples
assert ("root", logging.INFO, "infoログ出力") in caplog.record_tuples
assert ("root", logging.WARNING, "warningログ出力") in caplog.record_tuples
assert ("root", logging.ERROR, "errorログ出力") in caplog.record_tuples
assert ("root", logging.CRITICAL, "criticalログ出力") in caplog.record_tuples
def test_logging_warning(self, caplog):
"""
Cases:
Warningレベルを設定したloggerについて、それ以下のログが出力されないこと
Arranges:
- 各レベルでのログを出力する
- ログレベルの設定
Expects:
- 期待値通りのログが出力されること
"""
caplog.set_level(logging.WARNING)
logger.debug('debugログ出力')
logger.info('infoログ出力')
logger.warning("warningログ出力")
logger.error("errorログ出力")
logger.critical("criticalログ出力")
assert ("root", logging.DEBUG, "debugログ出力") not in caplog.record_tuples
assert ("root", logging.INFO, "infoログ出力") not in caplog.record_tuples
assert ("root", logging.WARNING, "warningログ出力") in caplog.record_tuples
assert ("root", logging.ERROR, "errorログ出力") in caplog.record_tuples
assert ("root", logging.CRITICAL, "criticalログ出力") in caplog.record_tuples
def test_logging_error(self, caplog):
"""
Cases:
Errorレベルを設定したloggerについて、それ以下のログが出力されないこと
Arranges:
- 各レベルでのログを出力する
- ログレベルの設定
Expects:
- 期待値通りのログが出力されること
"""
caplog.set_level(logging.ERROR)
logger.debug('debugログ出力')
logger.info('infoログ出力')
logger.warning("warningログ出力")
logger.error("errorログ出力")
logger.critical("criticalログ出力")
assert ("root", logging.DEBUG, "debugログ出力") not in caplog.record_tuples
assert ("root", logging.INFO, "infoログ出力") not in caplog.record_tuples
assert ("root", logging.WARNING, "warningログ出力") not in caplog.record_tuples
assert ("root", logging.ERROR, "errorログ出力") in caplog.record_tuples
assert ("root", logging.CRITICAL, "criticalログ出力") in caplog.record_tuples
def test_logging_critical(self, caplog):
"""
Cases:
Criticalレベルを設定したloggerについて、それ以下のログが出力されないこと
Arranges:
- 各レベルでのログを出力する
- ログレベルの設定
Expects:
- 期待値通りのログが出力されること
"""
caplog.set_level(logging.CRITICAL)
logger.debug('debugログ出力')
logger.info('infoログ出力')
logger.warning("warningログ出力")
logger.error("errorログ出力")
logger.critical("criticalログ出力")
assert ("root", logging.DEBUG, "debugログ出力") not in caplog.record_tuples
assert ("root", logging.INFO, "infoログ出力") not in caplog.record_tuples
assert ("root", logging.WARNING, "warningログ出力") not in caplog.record_tuples
assert ("root", logging.ERROR, "errorログ出力") not in caplog.record_tuples
assert ("root", logging.CRITICAL, "criticalログ出力") in caplog.record_tuples
def test_logging_getlogger_boto3(self):
assert logging.getLogger("boto3").getEffectiveLevel() == logging.WARNING
def test_logging_getlogger_botocore(self):
assert logging.getLogger("botocore").getEffectiveLevel() == logging.WARNING
def test_logging_getlogger_s3transfer(self):
assert logging.getLogger("s3transfer").getEffectiveLevel() == logging.WARNING
def test_logging_getlogger_urllib3(self):
assert logging.getLogger("s3transfer").getEffectiveLevel() == logging.WARNING