Repository: incubator-taverna-language Updated Branches: refs/heads/master 2658cc479 -> e50826e64
Test bag-of-bags-manifest.json .. several of these fail for some reason. Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/commit/3c9d0a95 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/3c9d0a95 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/3c9d0a95 Branch: refs/heads/master Commit: 3c9d0a95bc3c3f29f17d724216f76ba2044c1886 Parents: ad352d1 Author: Stian Soiland-Reyes <[email protected]> Authored: Thu May 10 17:38:56 2018 +0100 Committer: Stian Soiland-Reyes <[email protected]> Committed: Thu May 10 17:40:11 2018 +0100 ---------------------------------------------------------------------- .../robundle/manifest/TestRDFToManifest.java | 72 +++++++++++++++++++- 1 file changed, 70 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/3c9d0a95/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java ---------------------------------------------------------------------- diff --git a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java index 4123ce2..13e099e 100644 --- a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java +++ b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/TestRDFToManifest.java @@ -1,5 +1,7 @@ package org.apache.taverna.robundle.manifest; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -18,12 +20,17 @@ package org.apache.taverna.robundle.manifest; * specific language governing permissions and limitations * under the License. */ - - import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import java.io.InputStream; +import java.net.URI; +import java.util.Arrays; +import java.util.List; import java.util.Map; +import org.apache.taverna.robundle.Bundle; +import org.apache.taverna.robundle.Bundles; import org.junit.Test; import com.github.jsonldjava.core.DocumentLoader; @@ -48,4 +55,65 @@ public class TestRDFToManifest { retrievedFrom); } + + @Test + public void multipleConformsTo() throws Exception { + try (Bundle ro = Bundles.createBundle(); + InputStream json = getClass().getResourceAsStream("/bag-of-bags-manifest.json")) { + // Make a new, empty manifest we can inspect + assertNotNull("Can't find bag-of-bags-manifest.json", json); + Manifest manifest = new Manifest(ro); + + // NOTE: Uses RO-BagIt folder metadata/ instead of .ro/ + URI baseURI = ro.getPath("metadata/manifest.json").toUri(); + new RDFToManifest().readTo(json, manifest, baseURI); + + // Check basic metadata + assertEquals(URI.create("https://github.com/ini-bdds/bdbag"), + manifest.getCreatedBy().getUri()); + assertEquals(1, manifest.getAuthoredBy().size()); + Agent author = manifest.getAuthoredBy().get(0); + assertEquals("Stian Soiland-Reyes", + author.getName()); + assertEquals(URI.create("mbox:[email protected]"), + author.getUri()); + // FIXME: Why is ORCID not picked up? +// assertEquals(URI.create("https://orcid.org/0000-0001-9842-9718"), +// author.getOrcid()); + + // FIXME: Why are annotations not picked up? +// assertEquals(1, manifest.getAnnotations().size()); +// PathAnnotation ann = manifest.getAnnotations().get(0); +// assertEquals(ro.getRoot().toUri(), +// ann.getAbout()); +// assertEquals(ro.getPath("data/README").toUri(), ann.getContent()); + + // Now let's check aggregations + assertEquals(1, manifest.getAggregates().size()); + // As aggregates order is not preserved, for simplicity this test + // has only one aggregation + PathMetadata a1 = manifest.getAggregates().get(0); + URI uri = URI.create("http://n2t.net/ark:/57799/b90h3c"); + assertEquals(uri, a1.getUri()); + assertEquals(a1, manifest.getAggregation(uri)); + + // FIXME: More than one? + assertEquals(URI.create("https://w3id.org/ro/bagit/profile"), + a1.getConformsTo()); +// assertEquals(URI.create("https://tools.ietf.org/html/draft-kunze-bagit-14"), +// a1.getConformsTo()); + + + Proxy bundledAs = a1.getBundledAs(); + // FIXME: Why is there no bundledAs? +// assertNotNull(bundledAs); +// assertEquals(ro.getPath("data"), +// bundledAs.getFolder()); +// assertEquals("bag1.zip", a1.getBundledAs().getFilename()); + + // TODO: Enable fetching based on bundledAs URI? + //ro.getRoot().resolve("data/bag1.zip") + + } + } }
