From ee519c2205a35a6ecd8e04be6a3b1d82285ff149 Mon Sep 17 00:00:00 2001 From: Y_SAKAI Date: Tue, 16 Aug 2022 14:52:43 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20logger=E3=83=86=E3=82=B9=E3=83=88?= =?UTF-8?q?=E3=82=B3=E3=83=BC=E3=83=89=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tests/util/test_logger_out_of_class.py | 145 ++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 ecs/crm-datafetch/tests/util/test_logger_out_of_class.py diff --git a/ecs/crm-datafetch/tests/util/test_logger_out_of_class.py b/ecs/crm-datafetch/tests/util/test_logger_out_of_class.py new file mode 100644 index 00000000..b5a54f01 --- /dev/null +++ b/ecs/crm-datafetch/tests/util/test_logger_out_of_class.py @@ -0,0 +1,145 @@ +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