From 50d715885c3e75f0e362d18bd7d0892445523bdc Mon Sep 17 00:00:00 2001 From: "shimoda.m@nds-tyo.co.jp" Date: Tue, 27 May 2025 21:40:51 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=82=A2=E3=83=AB=E3=83=88=E3=83=9E?= =?UTF-8?q?=E3=83=BC=E3=82=AF=E5=8F=96=E8=BE=BC=E5=AE=8C=E4=BA=86=E5=88=A4?= =?UTF-8?q?=E5=AE=9A=E3=81=AE=E3=83=86=E3=82=B9=E3=83=88=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/jskult_batch_status_manager.py | 9 ++- .../test_jskult_batch_status_manager.py | 80 +++++++++++++++++++ 2 files changed, 86 insertions(+), 3 deletions(-) diff --git a/ecs/jskult-batch/src/manager/jskult_batch_status_manager.py b/ecs/jskult-batch/src/manager/jskult_batch_status_manager.py index 92d97c5c..36a1c8d4 100644 --- a/ecs/jskult-batch/src/manager/jskult_batch_status_manager.py +++ b/ecs/jskult-batch/src/manager/jskult_batch_status_manager.py @@ -200,10 +200,13 @@ class JskultBatchStatusManager: internal07.jskult_batch_status_manage WHERE process_name = :process_name - AND - process_date = src07.get_syor_date(); + AND process_date = src07.get_syor_date() + AND process_status = :process_status; """, - {'process_name': constants.PROCESS_NAME_ULTMARC_IO} + { + 'process_name': constants.PROCESS_NAME_ULTMARC_IO, + 'process_status': constants.PROCESS_STATUS_DONE + } ) record_count = len(record) diff --git a/ecs/jskult-batch/tests/manager/test_jskult_batch_status_manager.py b/ecs/jskult-batch/tests/manager/test_jskult_batch_status_manager.py index fe52e1c4..132d87d5 100644 --- a/ecs/jskult-batch/tests/manager/test_jskult_batch_status_manager.py +++ b/ecs/jskult-batch/tests/manager/test_jskult_batch_status_manager.py @@ -680,3 +680,83 @@ class TestJskultBatchStatusManager: """)[0] assert actual_record['max_run_count_flg'] == 1 + + def test_is_done_ultmarc_import_success(self): + """ + アルトマーク取込が完了している場合、trueが返却されること + """ + # Arrange + # 日付テーブルを登録 + db = Database.get_instance() + db.connect() + db.execute(""" + INSERT INTO src07.hdke_tbl + (syor_date, bch_actf, dump_sts_kbn, + creater, create_date, updater, update_date) + VALUES + ('20250530', '1', '2', CURRENT_USER(), CURRENT_TIMESTAMP(), NULL, NULL) + """) + + # バッチステータス管理テーブルを登録 + db.execute(""" + INSERT INTO internal07.jskult_batch_status_manage + (process_name, process_date, process_type, + process_status, total_run_count, max_run_count_flg) + VALUES + ('unittest_process_name', '2025-05-30', 'unittest_process_type', + 'start', '0', '0'), + ('jskult-batch-ultmarc-io', '2025-05-30','data_import', + 'done', '0', '0') + """) + + # Act + sut = JskultBatchStatusManager( + 'unittest_process_name', + 'unittest_process_type', + 3, + 3 + ) + actual = sut.is_done_ultmarc_import() + + # Assert + assert actual is True + + def test_is_done_ultmarc_import_failed(self): + """ + アルトマーク取込が完了していない場合、falseが返却されること + """ + # Arrange + # 日付テーブルを登録 + db = Database.get_instance() + db.connect() + db.execute(""" + INSERT INTO src07.hdke_tbl + (syor_date, bch_actf, dump_sts_kbn, + creater, create_date, updater, update_date) + VALUES + ('20250530', '1', '2', CURRENT_USER(), CURRENT_TIMESTAMP(), NULL, NULL) + """) + + # バッチステータス管理テーブルを登録 + db.execute(""" + INSERT INTO internal07.jskult_batch_status_manage + (process_name, process_date, process_type, + process_status, total_run_count, max_run_count_flg) + VALUES + ('unittest_process_name', '2025-05-30', 'unittest_process_type', + 'start', '0', '0'), + ('jskult-batch-ultmarc-io', '2025-05-30','data_import', + 'start', '0', '0') + """) + + # Act + sut = JskultBatchStatusManager( + 'unittest_process_name', + 'unittest_process_type', + 3, + 3 + ) + actual = sut.is_done_ultmarc_import() + + # Assert + assert actual is False