refactor: 流石に行数大杉なので、共通的に使えるものは定数化

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2022-08-04 00:36:12 +09:00
parent f3a1def88a
commit 548a4ad9c6

View File

@ -1,4 +1,5 @@
import logging
from copy import deepcopy
from unittest.mock import MagicMock, patch
import pytest
@ -14,12 +15,39 @@ from src.util.execute_datetime import ExecuteDateTime
from .test_utils.log_message import generate_log_message_tuple
EXPECT_PROCESS_RESULT = {
'Account': 'success',
'Contact': 'success',
'Call2_vod__c': 'success'
COMMON_OBJECT_INFOS = {
'objects': [
{
'object_name': 'Account',
'columns': [],
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'columns': [],
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'columns': [],
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
COMMON_EXECUTE_DATETIME = ExecuteDateTime()
COMMON_FETCH_TARGET_OBJECTS = FetchTargetObjects(COMMON_OBJECT_INFOS)
COMMON_TARGET_OBJECTS_1 = TargetObject(COMMON_OBJECT_INFOS['objects'][0], COMMON_EXECUTE_DATETIME)
COMMON_TARGET_OBJECTS_2 = TargetObject(COMMON_OBJECT_INFOS['objects'][1], COMMON_EXECUTE_DATETIME)
COMMON_TARGET_OBJECTS_3 = TargetObject(COMMON_OBJECT_INFOS['objects'][2], COMMON_EXECUTE_DATETIME)
COMMON_LAST_FETCH_DATETIME = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': ''
}, COMMON_EXECUTE_DATETIME)
class ForTestMeDaCaCRMDataFetchException(MeDaCaCRMDataFetchException):
def __init__(self, error_id: str, func_name: str, message: str) -> None:
@ -43,38 +71,10 @@ class TestController:
dict: プロセス関数呼び出し後のモックの辞書
"""
def _func():
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(return_value=[{}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock()
@ -409,38 +409,11 @@ class TestController:
- オブジェクト情報形式チェック処理で発生した例外のログメッセージが出力されている
- 例外が発生したオブジェクト以外は正常に終了する
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = exception('E-PRE-01', CHK_JP_NAME, '例外発生')
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
raise_object = exception('E-PRE-01', CHK_JP_NAME, '例外発生')
mock_return_values = [raise_object, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_2]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(return_value=[{}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock()
@ -493,39 +466,11 @@ class TestController:
- データ取得期間設定チェック処理で発生した例外のログメッセージが出力されている
- 例外が発生したオブジェクト以外は正常に終了する
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(side_effect=[exception(
'E-DATE-01', DATE_JP_NAME, '例外発生'), mock_last_fetch_datetime, mock_last_fetch_datetime])
'E-DATE-01', DATE_JP_NAME, '例外発生'), COMMON_LAST_FETCH_DATETIME, COMMON_LAST_FETCH_DATETIME])
mock_fetch_crm_data_process = MagicMock(return_value=[{}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock()
@ -577,38 +522,10 @@ class TestController:
- CRMデータ取得処理で例外が発生すること
- CRMデータ取得処理で発生した例外のログメッセージが出力されていること
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(side_effect=[exception(
'E-FETCH-01', FETCH_JP_NAME, '例外発生'), {}, {}])
mock_backup_crm_data_process = MagicMock()
@ -661,38 +578,10 @@ class TestController:
- CRM電文データバックアップ処理で例外が発生すること
- CRM電文データバックアップ処理で発生した例外のログメッセージが出力されていること
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(side_effect=[{}, {}, {}])
mock_backup_crm_data_process = MagicMock(side_effect=[exception(
'E-RESBK-01', RESBK_JP_NAME, '例外発生'), None, None])
@ -745,38 +634,10 @@ class TestController:
- CSV変換処理で例外が発生すること
- CSV変換処理で発生した例外のログメッセージが出力されていること
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(side_effect=[{}, {}, {}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock(side_effect=[exception(
@ -829,38 +690,10 @@ class TestController:
- CSVバックアップ処理で例外が発生すること
- CSVバックアップ処理で発生した例外のログメッセージが出力されていること
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(side_effect=[{}, {}, {}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock()
@ -913,38 +746,10 @@ class TestController:
- CSVアップロード処理で例外が発生すること
- CSVアップロード処理で発生した例外のログメッセージが出力されていること
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(side_effect=[{}, {}, {}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock()
@ -997,38 +802,10 @@ class TestController:
- 前回取得日時ファイル更新処理で例外が発生すること
- 前回取得日時ファイル更新処理で発生した例外のログメッセージが出力されていること
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(side_effect=[{}, {}, {}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock()
@ -1080,38 +857,10 @@ class TestController:
- 取得処理実施結果アップロード処理で例外が発生すること
- 取得処理実施結果アップロード処理で発生した例外のログメッセージが出力されていること
"""
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
mock_execute_datetime = ExecuteDateTime()
objects = {
'objects': [
{
'object_name': 'Account',
'upload_file_name': 'Account_YYYYMMDDHHMMSS'
},
{
'object_name': 'Contact',
'upload_file_name': 'Contact_YYYYMMDDHHMMSS'
},
{
'object_name': 'Call2_vod__c',
'upload_file_name': 'Call2_vod__c_YYYYMMDDHHMMSS'
}
]
}
mock_target_objects = FetchTargetObjects(objects)
mock_target_object_first = TargetObject(objects['objects'][0], mock_execute_datetime)
mock_target_object_second = TargetObject(objects['objects'][1], mock_execute_datetime)
mock_target_object_third = TargetObject(objects['objects'][2], mock_execute_datetime)
mock_return_values = [mock_target_object_first, mock_target_object_second, mock_target_object_third]
mock_last_fetch_datetime = LastFetchDatetime({
'last_fetch_datetime_from': '1900-01-01T00:00:00.000Z',
'last_fetch_datetime_to': '9999-12-31T59:59:59.000Z'
}, mock_execute_datetime)
mock_prepare_data_fetch_process = MagicMock(return_value=(mock_target_objects, mock_execute_datetime, {}))
mock_return_values = [COMMON_TARGET_OBJECTS_1, COMMON_TARGET_OBJECTS_2, COMMON_TARGET_OBJECTS_3]
mock_prepare_data_fetch_process = MagicMock(return_value=(deepcopy(COMMON_FETCH_TARGET_OBJECTS), COMMON_EXECUTE_DATETIME, {}))
mock_check_object_info_process = MagicMock(side_effect=mock_return_values)
mock_set_datetime_period_process = MagicMock(return_value=mock_last_fetch_datetime)
mock_set_datetime_period_process = MagicMock(return_value=COMMON_LAST_FETCH_DATETIME)
mock_fetch_crm_data_process = MagicMock(side_effect=[{}, {}, {}])
mock_backup_crm_data_process = MagicMock()
mock_convert_crm_csv_data_process = MagicMock()