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)