refactor:テストデータと期待値はなるべくベタ書きするようにした
This commit is contained in:
parent
dba0060130
commit
d56a6c079d
@ -1,4 +1,3 @@
|
||||
import copy
|
||||
import logging
|
||||
from unittest.mock import MagicMock, patch
|
||||
|
||||
@ -12,23 +11,6 @@ from src.util.execute_datetime import ExecuteDateTime
|
||||
|
||||
from .test_utils.log_message import generate_log_message_tuple
|
||||
|
||||
TEST_OBJECT_INFO_LIST = {
|
||||
'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'
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
EXPECT_PROCESS_RESULT = {
|
||||
'Account': 'success',
|
||||
'Contact': 'success',
|
||||
@ -55,10 +37,26 @@ class TestController:
|
||||
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
|
||||
monkeypatch.setattr(LastFetchDatetime, '_LastFetchDatetime__validate', lambda x: None)
|
||||
mock_execute_datetime = ExecuteDateTime()
|
||||
mock_target_objects = FetchTargetObjects(TEST_OBJECT_INFO_LIST)
|
||||
mock_target_object_first = TargetObject(TEST_OBJECT_INFO_LIST['objects'][0], mock_execute_datetime)
|
||||
mock_target_object_second = TargetObject(TEST_OBJECT_INFO_LIST['objects'][1], mock_execute_datetime)
|
||||
mock_target_object_third = TargetObject(TEST_OBJECT_INFO_LIST['objects'][2], mock_execute_datetime)
|
||||
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',
|
||||
@ -146,9 +144,9 @@ class TestController:
|
||||
assert generate_log_message_tuple(log_message='I-CTRL-01 CRMデータ取得処理を開始します') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message='I-CTRL-02 データ取得準備処理呼び出し') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message='I-CTRL-03 取得対象オブジェクトのループ処理開始') in caplog.record_tuples
|
||||
for obj in TEST_OBJECT_INFO_LIST['objects']:
|
||||
object_name = obj['object_name']
|
||||
upload_file_name = obj['upload_file_name']
|
||||
for name in ['Account', 'Contact', 'Call2_vod__c']:
|
||||
object_name = name
|
||||
upload_file_name = f'{name}_YYYYMMDDHHMMSS'
|
||||
assert generate_log_message_tuple(log_message='I-CTRL-05 オブジェクト情報形式チェック処理呼び出し') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-06 [{object_name}]のデータ取得を開始します') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-08 [{object_name}]のデータ取得期間設定処理呼び出し') in caplog.record_tuples
|
||||
@ -160,7 +158,13 @@ class TestController:
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-14 [{object_name}] CSVデータアップロード処理呼び出し') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-15 [{object_name}] 前回取得日時ファイル更新処理呼び出し') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-16 [{object_name}] 処理正常終了') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-17 すべてのオブジェクトの処理が終了しました 実行結果:[{EXPECT_PROCESS_RESULT}]') in caplog.record_tuples
|
||||
|
||||
expect_process_result = {
|
||||
'Account': 'success',
|
||||
'Contact': 'success',
|
||||
'Call2_vod__c': 'success'
|
||||
}
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-17 すべてのオブジェクトの処理が終了しました 実行結果:[{expect_process_result}]') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-18 CRM_取得処理実施結果ファイルアップロード処理開始') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-19 すべてのデータの取得に成功しました') in caplog.record_tuples
|
||||
assert generate_log_message_tuple(log_message=f'I-CTRL-20 CRMデータ取得処理を終了します') in caplog.record_tuples
|
||||
@ -219,8 +223,11 @@ class TestController:
|
||||
- オブジェクト情報形式チェック処理以降のプロセスが実行されないこと
|
||||
- 処理をスキップする旨を示すログメッセージが出力されていること
|
||||
"""
|
||||
mock_check_object_info = copy.deepcopy(TEST_OBJECT_INFO_LIST)['objects'][0]
|
||||
mock_check_object_info['is_skip'] = True
|
||||
mock_check_object_info = {
|
||||
'object_name': 'Account',
|
||||
'is_skip': True
|
||||
}
|
||||
|
||||
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
|
||||
mock_execute_datetime = ExecuteDateTime()
|
||||
mock_return_values = [TargetObject(mock_check_object_info, mock_execute_datetime)]
|
||||
@ -274,8 +281,22 @@ class TestController:
|
||||
- 処理をスキップする旨を示すログメッセージが出力されていること
|
||||
- オブジェクト情報.is_skipがFalseのものはCSVアップロード処理のログメッセージが出力されていること
|
||||
"""
|
||||
mock_check_object_infos = copy.deepcopy(TEST_OBJECT_INFO_LIST)
|
||||
mock_check_object_infos['objects'][1]['is_skip'] = True
|
||||
mock_check_object_infos = {
|
||||
'objects': [
|
||||
{
|
||||
'object_name': 'Account',
|
||||
'is_skip': False
|
||||
},
|
||||
{
|
||||
'object_name': 'Contact',
|
||||
'is_skip': True
|
||||
},
|
||||
{
|
||||
'object_name': 'Call2_vod__c',
|
||||
'is_skip': False
|
||||
}
|
||||
]
|
||||
}
|
||||
monkeypatch.setattr(FetchTargetObjects, '_FetchTargetObjects__validate', lambda x: None)
|
||||
monkeypatch.setattr(TargetObject, '_TargetObject__validate', lambda x: None)
|
||||
mock_execute_datetime = ExecuteDateTime()
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user