From a4c500331a7e5047753d257f4c2c61bfa5900a6d Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Fri, 5 Aug 2022 23:13:17 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BE=9D=E5=AD=98=E3=83=A2=E3=82=B8?= =?UTF-8?q?=E3=83=A5=E3=83=BC=E3=83=AB=E3=81=8C=E5=91=BC=E3=81=B0=E3=82=8C?= =?UTF-8?q?=E3=81=A6=E3=81=84=E3=82=8B=E3=81=8B=E3=81=A9=E3=81=86=E3=81=8B?= =?UTF-8?q?=E3=82=92=E7=A2=BA=E8=AA=8D=E3=81=99=E3=82=8B=E3=83=86=E3=82=B9?= =?UTF-8?q?=E3=83=88=E8=BF=BD=E5=8A=A0=E3=80=81json=5Fparse=20=E2=86=92=20?= =?UTF-8?q?json=5Fparser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../parser/{json_parse.py => json_parser.py} | 0 .../src/prepare_data_fetch_process.py | 2 +- .../src/set_datetime_period_process.py | 2 +- .../tests/test_prepare_data_fetch_process.py | 36 +++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) rename ecs/crm-datafetch/src/parser/{json_parse.py => json_parser.py} (100%) diff --git a/ecs/crm-datafetch/src/parser/json_parse.py b/ecs/crm-datafetch/src/parser/json_parser.py similarity index 100% rename from ecs/crm-datafetch/src/parser/json_parse.py rename to ecs/crm-datafetch/src/parser/json_parser.py diff --git a/ecs/crm-datafetch/src/prepare_data_fetch_process.py b/ecs/crm-datafetch/src/prepare_data_fetch_process.py index 03427265..f0ea9ab6 100644 --- a/ecs/crm-datafetch/src/prepare_data_fetch_process.py +++ b/ecs/crm-datafetch/src/prepare_data_fetch_process.py @@ -1,7 +1,7 @@ from src.aws.s3 import ConfigBucket from src.config.objects import FetchTargetObjects from src.error.exceptions import FileNotFoundException, InvalidConfigException -from src.parser.json_parse import JsonParser +from src.parser.json_parser import JsonParser from src.system_var.constants import PRE_JP_NAME from src.system_var.environments import (CRM_CONFIG_BUCKET, OBJECT_INFO_FILENAME, diff --git a/ecs/crm-datafetch/src/set_datetime_period_process.py b/ecs/crm-datafetch/src/set_datetime_period_process.py index bfebd5c2..062fac97 100644 --- a/ecs/crm-datafetch/src/set_datetime_period_process.py +++ b/ecs/crm-datafetch/src/set_datetime_period_process.py @@ -1,7 +1,7 @@ from src.aws.s3 import ConfigBucket from src.config.objects import LastFetchDatetime, TargetObject from src.error.exceptions import FileNotFoundException, InvalidConfigException -from src.parser.json_parse import JsonParser +from src.parser.json_parser import JsonParser from src.system_var.constants import DATE_JP_NAME from src.system_var.environments import (CRM_CONFIG_BUCKET, LAST_FETCH_DATE_FOLDER) diff --git a/ecs/crm-datafetch/tests/test_prepare_data_fetch_process.py b/ecs/crm-datafetch/tests/test_prepare_data_fetch_process.py index 8eff4b2a..298eb192 100644 --- a/ecs/crm-datafetch/tests/test_prepare_data_fetch_process.py +++ b/ecs/crm-datafetch/tests/test_prepare_data_fetch_process.py @@ -1,6 +1,7 @@ import json import logging from datetime import datetime +from unittest.mock import MagicMock, patch import pytest from src.config.objects import FetchTargetObjects @@ -92,3 +93,38 @@ class TestPrepareDataFetchProcess: assert generate_log_message_tuple(log_message='I-PRE-01 データ取得準備処理を開始します') in caplog.record_tuples assert generate_log_message_tuple(log_message=f'I-PRE-02 データ取得処理開始日時:{str(actual_execute_datetime)}') in caplog.record_tuples assert generate_log_message_tuple(log_message='I-PRE-09 データ取得準備処理を終了します') in caplog.record_tuples + + def mock_get_object_info_file(): + return {} + + def mock_parse(): + return {} + + def mock_constructor(): + pass + + def test_call_depended_modules(self, s3_client, prepare_bucket, bucket_name, monkeypatch, caplog): + """ + Cases: + データ取得準備処理内で依存しているモジュールが正しく呼ばれていること + Arranges: + - データ取得準備処理の依存モジュールをモック化する + Expects: + - 依存しているモジュールが正しく呼ばれている + """ + + # Arrange + mock_config_bucket = MagicMock(return_value='') + mock_json_parser = MagicMock(return_value={}) + mock_fetch_target_objects = MagicMock(return_value=None) + # Act + with patch('src.aws.s3.ConfigBucket.get_object_info_file', mock_config_bucket), \ + patch('src.parser.json_parser.JsonParser.parse', mock_json_parser), \ + patch('src.config.objects.FetchTargetObjects.__init__', mock_fetch_target_objects): + prepare_data_fetch_process() + + # Assert + + assert mock_config_bucket.called is True + assert mock_json_parser.called is True + assert mock_fetch_target_objects.called is True