From 2890c8f5aa75eeef9b335bb51052c85be09c28e2 Mon Sep 17 00:00:00 2001 From: Jesper Zedlitz <jesper@zedlitz.de> Date: Mon, 16 Jan 2023 14:56:28 +0100 Subject: [PATCH] Test --- .../catalogproxy/CatalogFilterTest.java | 114 ++++++++++-------- 1 file changed, 63 insertions(+), 51 deletions(-) diff --git a/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java b/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java index 8d36f4a..3fd6bb1 100644 --- a/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java +++ b/src/test/java/de/landsh/opendata/catalogproxy/CatalogFilterTest.java @@ -57,9 +57,9 @@ public class CatalogFilterTest { @Test public void work() throws Exception { - final InputStream inputStream = getClass().getResourceAsStream("/catalog.xml"); - catalogFilter.work(inputStream); - inputStream.close(); + try (final InputStream inputStream = getClass().getResourceAsStream("/catalog.xml")) { + catalogFilter.work(inputStream); + } } @Test @@ -145,13 +145,13 @@ public class CatalogFilterTest { */ @Test public void work_will_preseve_collections() throws Exception { - final InputStream inputStream = getClass().getResourceAsStream("/with_collection.xml"); - final Model model = catalogFilter.work(inputStream); + try (final InputStream inputStream = getClass().getResourceAsStream("/with_collection.xml")) { + final Model model = catalogFilter.work(inputStream); - Assertions.assertEquals(8, countInstances(model, DCAT.Dataset)); - Assertions.assertEquals(7, countInstances(model, DCAT.Distribution)); + Assertions.assertEquals(8, countInstances(model, DCAT.Dataset)); + Assertions.assertEquals(7, countInstances(model, DCAT.Distribution)); - inputStream.close(); + } } /** @@ -160,23 +160,22 @@ public class CatalogFilterTest { */ @Test public void work_will_add_accessRights() throws Exception { - final InputStream inputStream = getClass().getResourceAsStream("/with_collection.xml"); - final Model model = catalogFilter.work(inputStream); - - // Every dataset has a dct:accessRights statement - final ResIterator it = model.listSubjectsWithProperty(RDF.type, DCAT.Dataset); - int count = 0; - while (it.hasNext()) { - final Resource distribution = it.next(); - count++; - final Resource accessRights = distribution.getPropertyResourceValue(DCTerms.accessRights); - assertNotNull(accessRights); - assertEquals("http://publications.europa.eu/resource/authority/access-right/PUBLIC", accessRights.getURI()); + try (final InputStream inputStream = getClass().getResourceAsStream("/with_collection.xml")) { + final Model model = catalogFilter.work(inputStream); + + // Every dataset has a dct:accessRights statement + final ResIterator it = model.listSubjectsWithProperty(RDF.type, DCAT.Dataset); + int count = 0; + while (it.hasNext()) { + final Resource distribution = it.next(); + count++; + final Resource accessRights = distribution.getPropertyResourceValue(DCTerms.accessRights); + assertNotNull(accessRights); + assertEquals("http://publications.europa.eu/resource/authority/access-right/PUBLIC", accessRights.getURI()); + } + + assertEquals(8, count); } - - assertEquals(8, count); - - inputStream.close(); } /** @@ -184,24 +183,23 @@ public class CatalogFilterTest { */ @Test public void work_will_add_rights() throws Exception { - final InputStream inputStream = getClass().getResourceAsStream("/with_collection.xml"); - final Model model = catalogFilter.work(inputStream); - - // Every dataset has a dct:accessRights statement - final ResIterator it = model.listSubjectsWithProperty(RDF.type, DCAT.Distribution); - int count = 0; - while (it.hasNext()) { - final Resource distribution = it.next(); - count++; - final Resource rights = distribution.getPropertyResourceValue(DCTerms.rights); - final Resource license = distribution.getPropertyResourceValue(DCTerms.license); - assertNotNull(rights); - assertEquals(license, rights); + try (final InputStream inputStream = getClass().getResourceAsStream("/with_collection.xml")) { + final Model model = catalogFilter.work(inputStream); + + // Every dataset has a dct:accessRights statement + final ResIterator it = model.listSubjectsWithProperty(RDF.type, DCAT.Distribution); + int count = 0; + while (it.hasNext()) { + final Resource distribution = it.next(); + count++; + final Resource rights = distribution.getPropertyResourceValue(DCTerms.rights); + final Resource license = distribution.getPropertyResourceValue(DCTerms.license); + assertNotNull(rights); + assertEquals(license, rights); + } + + assertEquals(7, count); } - - assertEquals(7, count); - - inputStream.close(); } /** @@ -211,7 +209,7 @@ public class CatalogFilterTest { @Test public void work_invalid_iri() { final InputStream inputStream = getClass().getResourceAsStream("/invalid_iri.xml"); - final Model model = catalogFilter.work(inputStream); + catalogFilter.work(inputStream); } /** @@ -221,13 +219,12 @@ public class CatalogFilterTest { public void work_will_remove_non_government_organization() throws IOException { catalogFilter.unwantedPublishers = Collections.singletonList("https://opendata.schleswig-holstein.de/organization/ee4df032-ec5f-4726-b7ad-a2c708fb53ec"); - final InputStream inputStream = getClass().getResourceAsStream("/two-organizations.xml"); - final Model model = catalogFilter.work(inputStream); - - Assertions.assertEquals(1, countInstances(model, DCAT.Dataset)); - Assertions.assertEquals(1, countInstances(model, DCAT.Distribution)); + try (final InputStream inputStream = getClass().getResourceAsStream("/two-organizations.xml")) { + final Model model = catalogFilter.work(inputStream); - inputStream.close(); + Assertions.assertEquals(1, countInstances(model, DCAT.Dataset)); + Assertions.assertEquals(1, countInstances(model, DCAT.Distribution)); + } } /** @@ -235,9 +232,24 @@ public class CatalogFilterTest { * catalog proxy must be able to cope with this. */ @Test - public void work_invalid_uri() { - final InputStream inputStream = getClass().getResourceAsStream("/invalid_uri.xml"); - catalogFilter.work(inputStream); + public void work_invalid_uri() throws IOException { + try (InputStream inputStream = getClass().getResourceAsStream("/invalid_uri.xml")) { + catalogFilter.work(inputStream); + } } + @Test + @org.junit.jupiter.api.Disabled + public void repairMediaType() { + final Model model = parseRdf(getClass().getResourceAsStream("/with_downloadURL.xml")); + catalogFilter.rewriteDownloadAndAccessURLs(model); + + final ResIterator it = model.listSubjectsWithProperty(RDF.type, DCAT.Distribution); + final Resource distribution = it.next(); + + final Resource mediaType = distribution.getPropertyResourceValue(DCAT.mediaType); + assertNotNull(mediaType); + + assertEquals("https://www.iana.org/assignments/media-types/text/csv", mediaType.getURI()); + } } -- GitLab