feta: テスト対象作成処理を共通化

This commit is contained in:
shimoda.m@nds-tyo.co.jp 2023-04-07 11:34:45 +09:00
parent cbf6c09025
commit d5f305c561
2 changed files with 34 additions and 31 deletions

View File

@ -4,14 +4,13 @@ import pytest
from src.batch.common.batch_config import BatchConfig
from src.batch.ultmarc.utmp_tables.table_mapper.concrete import com_alma_mapper
from src.batch.ultmarc.utmp_tables.ultmarc_table_mapper_factory import \
UltmarcTableMapperFactory
from src.db.database import Database
from tests.testing_utility import (assert_table_results,
create_delete_sql_with_parameter,
create_insert_sql_with_parameter,
create_ultmarc_common_column_names,
create_ultmarc_common_column_values,
create_ultmarc_table_mapper_sut,
create_ultmarc_test_csv, get_module_name)
@ -62,16 +61,8 @@ class TestComAlmaMapper:
# sut(system under test)作成
for i, line in enumerate(test_dat_file, start=1):
layout_class = line.layout_class
record_id = line.record_id
factory = UltmarcTableMapperFactory()
sut: com_alma_mapper.ComAlmaMapper = factory.create(
layout_class=layout_class,
record_id=record_id,
records=line.records,
db=self.db
)
assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目:マッパークラスが期待通りか'
sut: com_alma_mapper.ComAlmaMapper = create_ultmarc_table_mapper_sut(line, self.db)
assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目:マッパークラスが期通りか'
# Act
sut.make_query()
@ -137,15 +128,7 @@ class TestComAlmaMapper:
# sut(system under test)作成
for i, line in enumerate(test_dat_file, start=1):
layout_class = line.layout_class
record_id = line.record_id
factory = UltmarcTableMapperFactory()
sut: com_alma_mapper.ComAlmaMapper = factory.create(
layout_class=layout_class,
record_id=record_id,
records=line.records,
db=self.db
)
sut: com_alma_mapper.ComAlmaMapper = create_ultmarc_table_mapper_sut(line, self.db)
assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目: マッパークラスが期待通りか'
# Act
@ -220,15 +203,7 @@ class TestComAlmaMapper:
# sut(system under test)作成
for i, line in enumerate(test_dat_file, start=1):
layout_class = line.layout_class
record_id = line.record_id
factory = UltmarcTableMapperFactory()
sut: com_alma_mapper.ComAlmaMapper = factory.create(
layout_class=layout_class,
record_id=record_id,
records=line.records,
db=self.db
)
sut: com_alma_mapper.ComAlmaMapper = create_ultmarc_table_mapper_sut(line, self.db)
assert type(sut) is com_alma_mapper.ComAlmaMapper, f'{i}行目: マッパークラスが期待通りか'
# Act

View File

@ -3,7 +3,12 @@
import io
from types import ModuleType
from src.batch.ultmarc.datfile import DatFile
from src.batch.ultmarc.datfile import DatFile, DatFileLine
from src.batch.ultmarc.utmp_tables.table_mapper.ultmarc_table_mapper import \
UltmarcTableMapper
from src.batch.ultmarc.utmp_tables.ultmarc_table_mapper_factory import \
UltmarcTableMapperFactory
from src.db.database import Database
def create_ultmarc_test_csv(*csv_rows: str) -> DatFile:
@ -114,6 +119,29 @@ def create_ultmarc_common_column_values(**kwargs) -> list:
]
def create_ultmarc_table_mapper_sut(line: DatFileLine, db: Database) -> UltmarcTableMapper:
"""アルトマークテーブルマッパーのインスタンスを返す
Args:
line (DatFileLine): テストデータの1行
db (Database): 接続済みDBインスタンス
Returns:
UltmarcTableMapper: マッパークラス
"""
layout_class = line.layout_class
record_id = line.record_id
factory = UltmarcTableMapperFactory()
sut = factory.create(
layout_class=layout_class,
record_id=record_id,
records=line.records,
db=db
)
return sut
def get_module_name(module: ModuleType) -> str:
"""登録プログラムID、更新プログラムIDに登録するモジュール名を作成