自動テスト実装 V製品価格マスタ

This commit is contained in:
x.azuma.m@nds-tyo.co.jp 2023-06-05 17:01:17 +09:00
parent 800f3eba45
commit 5ac63d6f4f
3 changed files with 73 additions and 0 deletions

View File

@ -759,3 +759,66 @@ class TestImportFileToDb:
assert result_src_count[0]['count(*)'] == 6
# teardown
def test_load_11_phm_price_mst_ok(self, mapper):
table_name_org = mapper.get_org_table(mapper.CONDKEY_PHM_PRICE_MST)
table_name_src = mapper.get_src_table(mapper.CONDKEY_PHM_PRICE_MST)
# setup
self.batch_context.is_vjsk_stock_import_day = True
self.db.execute(f"truncate table {table_name_src}")
# assertion1 (insert 4row)
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRICE_MST,
"src_file_path": path.join(self.test_file_path_load_individual, "phm_price_mst_202304280000.tsv")
}
VjskDataLoadManager.load(target_dict)
# 期待値データファイル読み込み
assert_list = create_vjsk_assertion_list(target_dict["src_file_path"])
# orgテーブル結果を取得
result_org = self.db.execute_select(f"select * from {table_name_org}")
# 突合から除外する項目
ignore_columns = ['dwh_upd_dt']
# orgテーブル結果が期待値通りかを突合
assert_table_results(result_org, assert_list, ignore_columns)
# srcテーブル結果を取得
result_src = self.db.execute_select(f"select * from {table_name_src}")
# 突合から除外する項目
ignore_columns = ['dwh_upd_dt']
# srcテーブル結果が期待値通りかを突合
assert_table_results(result_src, assert_list, ignore_columns)
# assertion2 (update 2row +insert 2row)
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRICE_MST,
"src_file_path": path.join(self.test_file_path_load_individual, "phm_price_mst_202304290000.tsv")
}
VjskDataLoadManager.load(target_dict)
# 期待値データファイル読み込み
assert_list = create_vjsk_assertion_list(target_dict["src_file_path"])
# orgテーブル結果を取得
result_org = self.db.execute_select(f"select * from {table_name_org}")
# 突合から除外する項目
ignore_columns = ['dwh_upd_dt']
# orgテーブル結果が期待値通りかを突合
assert_table_results(result_org, assert_list, ignore_columns)
# srcテーブル結果(orgテーブル結果のPK値で一致するもの)を取得
result_src = self.db.execute_select(
f"select * from {table_name_src} s inner join {table_name_org} o on (s.phm_prd_cd = o.phm_prd_cd and s.phm_price_kind = o.phm_price_kind and s.sub_num = o.sub_num)")
# 突合から除外する項目
ignore_columns = ['dwh_upd_dt']
# srcテーブル結果が期待値通りかを突合
assert_table_results(result_src, assert_list, ignore_columns)
# srcテーブル結果のレコード件数 (insert 4row + update 2row + insert 2row = 6row)
result_src_count = self.db.execute_select(f"select count(*) from {table_name_src} ")
assert result_src_count[0]['count(*)'] == 6
# teardown

View File

@ -0,0 +1,5 @@
"phm_prd_cd" "phm_price_kind" "sub_no" "price" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"114430502" "01" "2" "10060.2" "20180401" "20190930" "10" "0" "18-03-07 09:33:37" "19-09-19 11:23:47"
"114430502" "01" "3" "10237.2" "20191001" "99991231" "10" "0" "19-09-19 11:24:05" "19-09-19 11:24:05"
"114430502" "03" "2" "100602" "20180401" "20190930" "30" "0" "18-03-07 09:39:48" "19-09-19 11:23:47"
"114430502" "03" "3" "102372" "20191001" "99991231" "30" "0" "19-09-19 11:24:05" "19-09-19 11:24:05"
1 phm_prd_cd phm_price_kind sub_no price start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt
2 114430502 01 2 10060.2 20180401 20190930 10 0 18-03-07 09:33:37 19-09-19 11:23:47
3 114430502 01 3 10237.2 20191001 99991231 10 0 19-09-19 11:24:05 19-09-19 11:24:05
4 114430502 03 2 100602 20180401 20190930 30 0 18-03-07 09:39:48 19-09-19 11:23:47
5 114430502 03 3 102372 20191001 99991231 30 0 19-09-19 11:24:05 19-09-19 11:24:05

View File

@ -0,0 +1,5 @@
"phm_prd_cd" "phm_price_kind" "sub_no" "price" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"114430502" "03" "2" "100602" "20180401" "20190930" "30" "0" "18-03-07 09:39:48" "19-09-19 11:23:47"
"114430502" "03" "3" "102372" "20191001" "99991231" "30" "0" "19-09-19 11:24:05" "19-09-19 11:24:05"
"114430601" "01" "2" "12362.4" "20180401" "20190930" "10" "0" "18-03-07 09:48:00" "19-09-19 11:23:47"
"114430601" "01" "3" "12587.8" "20191001" "99991231" "10" "0" "19-09-19 11:24:05" "19-09-19 11:24:05"
1 phm_prd_cd phm_price_kind sub_no price start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt
2 114430502 03 2 100602 20180401 20190930 30 0 18-03-07 09:39:48 19-09-19 11:23:47
3 114430502 03 3 102372 20191001 99991231 30 0 19-09-19 11:24:05 19-09-19 11:24:05
4 114430601 01 2 12362.4 20180401 20190930 10 0 18-03-07 09:48:00 19-09-19 11:23:47
5 114430601 01 3 12587.8 20191001 99991231 10 0 19-09-19 11:24:05 19-09-19 11:24:05