38 lines
1.4 KiB
Python
38 lines
1.4 KiB
Python
from src.bibapi.schemas.api_types import ALMASchema, DublinCoreSchema, PicaSchema
|
|
from src.bibapi.sru import QueryTransformer
|
|
|
|
arguments = [
|
|
"TITLE=Java ist auch eine Insel",
|
|
"AUTHOR=Ullenboom, Christian",
|
|
"YEAR=2020",
|
|
"PPN=1693321114",
|
|
]
|
|
|
|
|
|
def test_pica_schema():
|
|
transformer = QueryTransformer(PicaSchema, arguments)
|
|
transformed = transformer.transform()
|
|
assert len(transformed) == 4
|
|
assert transformed[0].startswith(PicaSchema.TITLE.value)
|
|
assert transformed[1].startswith(PicaSchema.AUTHOR.value)
|
|
assert transformed[2].startswith(PicaSchema.YEAR.value)
|
|
assert transformed[3].startswith(PicaSchema.PPN.value)
|
|
|
|
|
|
def test_alma_schema():
|
|
transformer = QueryTransformer(ALMASchema, arguments)
|
|
transformed = transformer.transform()
|
|
assert len(transformed) == 3 # PPN is not supported
|
|
assert transformed[0].startswith(ALMASchema.TITLE.value)
|
|
assert transformed[1].startswith(ALMASchema.AUTHOR.value)
|
|
assert transformed[2].startswith(ALMASchema.YEAR.value)
|
|
|
|
|
|
def test_dublin_core_schema():
|
|
transformer = QueryTransformer(DublinCoreSchema, arguments)
|
|
transformed = transformer.transform()
|
|
assert len(transformed) == 3 # YEAR is supported, PPN is not
|
|
assert transformed[0].startswith(DublinCoreSchema.TITLE.value)
|
|
assert transformed[1].startswith(DublinCoreSchema.AUTHOR.value)
|
|
assert transformed[2].startswith(DublinCoreSchema.YEAR.value)
|