diff --git a/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_importer.py b/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_importer.py index 23fc8e5d..694f93ac 100644 --- a/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_importer.py +++ b/ecs/jskult-batch-daily/src/batch/vjsk/vjsk_importer.py @@ -150,6 +150,11 @@ def _check_received_files() -> list: if not _check_if_file_exists(received_s3_files, vjsk_mapper.CONDKEY_LOT_NUM_MST): raise BatchOperationException(f'製造ロット番号マスタファイルがありません ファイル一覧:{received_s3_files}') + # 想定外ファイルの受領確認 (想定ファイル数、卸在庫データ取込対象日の場合は15、そうでない場合は14) + naturally_count = 15 if batch_context.is_vjsk_stock_import_day else 14 + if len(received_s3_files) > naturally_count: + raise BatchOperationException(f'想定数を超える受領ファイルがあります ファイル一覧:{received_s3_files}') + logger.debug('_check_received_files done') return received_s3_files diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py index 43afd62c..8dac0688 100644 --- a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py +++ b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/test_vjsk_load.py @@ -2,6 +2,7 @@ from os import path import pytest +from src.aws.s3 import VjskReceiveBucket from src.batch.common.batch_context import BatchContext # from src.batch.vjsk.vjsk_data_load_manager import VjskDataLoadManager from src.batch.vjsk.vjsk_importer import (_check_received_files, @@ -40,9 +41,16 @@ class TestImportFileToDb: 期待値 例外が発生しない """ - # setup + # setup - 卸在庫データ取込対象日 self.batch_context.is_vjsk_stock_import_day = True + # setup - S3受領バケットの内容をすべて削除する + vjsk_recv_bucket = VjskReceiveBucket() + s3_files = vjsk_recv_bucket.get_s3_file_list() + for file_obj in s3_files: + s3_client.delete_object(Bucket=bucket_name, Key=file_obj.get("filename")) + + # setup - テスト用受領ファイルをS3受領バケットにupload test_files = [ "stock_slip_data_202304270000.gz", "slip_data_202304270000.gz", @@ -58,8 +66,7 @@ class TestImportFileToDb: "whs_customer_mst_202304270000.gz", "mdb_conv_mst_202304270000.gz", "bio_slip_data_202304270000.gz", - "lot_num_mst_202304270000.gz", - "dummy.gz" + "lot_num_mst_202304270000.gz" ] for test_file in test_files: file_name = path.join(self.test_file_path, test_file) diff --git a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/dummy.gz b/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/dummy.gz deleted file mode 100644 index fb34f937..00000000 Binary files a/ecs/jskult-batch-daily/tests/batch/vjsk/vjsk_load/testdata/dummy.gz and /dev/null differ