Repository: incubator-taverna-language Updated Branches: refs/heads/master 8b09ece25 -> 89407f060
Avoid accidental overwrite of test resources .. as bundle.close() would overwrite a bundle opened from URL if it was file:/// something 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/89407f06 Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/tree/89407f06 Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/diff/89407f06 Branch: refs/heads/master Commit: 89407f060d3cbbdd268924b46f739e2557ce2832 Parents: 8b09ece Author: Stian Soiland-Reyes <[email protected]> Authored: Thu Apr 26 09:28:12 2018 +0100 Committer: Stian Soiland-Reyes <[email protected]> Committed: Thu Apr 26 09:37:59 2018 +0100 ---------------------------------------------------------------------- .../apache/taverna/robundle/TestBundles.java | 16 ++++-- .../robundle/manifest/odf/TestODFManifest.java | 58 ++++++++++---------- 2 files changed, 41 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/89407f06/taverna-robundle/src/test/java/org/apache/taverna/robundle/TestBundles.java ---------------------------------------------------------------------- diff --git a/taverna-robundle/src/test/java/org/apache/taverna/robundle/TestBundles.java b/taverna-robundle/src/test/java/org/apache/taverna/robundle/TestBundles.java index 05ab53e..50c302d 100644 --- a/taverna-robundle/src/test/java/org/apache/taverna/robundle/TestBundles.java +++ b/taverna-robundle/src/test/java/org/apache/taverna/robundle/TestBundles.java @@ -38,6 +38,7 @@ import java.nio.file.DirectoryNotEmptyException; import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; +import java.nio.file.StandardCopyOption; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -46,15 +47,13 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import org.apache.commons.io.IOUtils; -import org.apache.taverna.robundle.Bundle; -import org.apache.taverna.robundle.Bundles; import org.apache.taverna.robundle.fs.BundleFileSystem; import org.apache.taverna.robundle.fs.BundleFileSystemProvider; import org.apache.taverna.robundle.manifest.Manifest; import org.apache.taverna.robundle.manifest.PathMetadata; import org.apache.taverna.robundle.utils.TemporaryFiles; -import org.junit.Test; import org.junit.Ignore; +import org.junit.Test; public class TestBundles { @@ -446,8 +445,15 @@ public class TestBundles { @Test public void openBundleURL() throws Exception { - URL url = getClass().getResource("/workflowrun.bundle.zip"); - assertNotNull(url); + Path temp = Files.createTempFile("workflowrun", ".bundle.zip"); + // Don't use URL from getResource(), copy to + // temporary file to make sure our classpath file is not + // overwritten on b.close()! + try (InputStream stream = getClass().getResourceAsStream( + "/workflowrun.bundle.zip")) { + Files.copy(stream, temp, StandardCopyOption.REPLACE_EXISTING); + } + URL url = temp.toUri().toURL(); try (Bundle b = Bundles.openBundle(url)) { checkWorkflowrunBundle(b); } http://git-wip-us.apache.org/repos/asf/incubator-taverna-language/blob/89407f06/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/odf/TestODFManifest.java ---------------------------------------------------------------------- diff --git a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/odf/TestODFManifest.java b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/odf/TestODFManifest.java index 539c289..df28593 100644 --- a/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/odf/TestODFManifest.java +++ b/taverna-robundle/src/test/java/org/apache/taverna/robundle/manifest/odf/TestODFManifest.java @@ -24,7 +24,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertTrue; -import java.net.URL; +import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Path; @@ -37,37 +37,39 @@ import org.junit.Test; public class TestODFManifest { @Test public void openHelloWorld() throws Exception { - URL helloworld = getClass().getResource("/helloworld.wfbundle"); - assertNotNull(helloworld); - try (Bundle bundle = Bundles.openBundle(helloworld)) { - assertEquals("application/vnd.taverna.scufl2.workflow-bundle", - Bundles.getMimeType(bundle)); - Path t2flow = bundle - .getPath("history/8781d5f4-d0ba-48a8-a1d1-14281bd8a917.t2flow"); - assertEquals("application/vnd.taverna.t2flow+xml", bundle - .getManifest().getAggregation(t2flow).getMediatype()); - Path manifestRdf = bundle.getPath("META-INF/manifest.xml"); - assertTrue(Files.exists(manifestRdf)); - assertTrue(bundle.getManifest().getManifest().contains(manifestRdf)); - } + try (InputStream is = getClass().getResourceAsStream("/helloworld.wfbundle")) { + assertNotNull(is); + try (Bundle bundle = Bundles.openBundle(is)) { + assertEquals("application/vnd.taverna.scufl2.workflow-bundle", + Bundles.getMimeType(bundle)); + Path t2flow = bundle + .getPath("history/8781d5f4-d0ba-48a8-a1d1-14281bd8a917.t2flow"); + assertEquals("application/vnd.taverna.t2flow+xml", bundle + .getManifest().getAggregation(t2flow).getMediatype()); + Path manifestRdf = bundle.getPath("META-INF/manifest.xml"); + assertTrue(Files.exists(manifestRdf)); + assertTrue(bundle.getManifest().getManifest().contains(manifestRdf)); + } + } } @Test public void openODTDocument() throws Exception { - URL url = getClass().getResource("/document.odt"); - assertNotNull(url); - try (Bundle bundle = Bundles.openBundle(url)) { - assertEquals("application/vnd.oasis.opendocument.text", - Bundles.getMimeType(bundle)); - - Path contentXml = bundle.getPath("content.xml"); - Manifest manifest = bundle.getManifest(); - assertEquals("text/xml", manifest.getAggregation(contentXml) - .getMediatype()); - PathMetadata rootMeta = manifest.getAggregation(bundle.getRoot()); - assertEquals("1.2", rootMeta.getConformsTo() + ""); - assertEquals("application/vnd.oasis.opendocument.text", - rootMeta.getMediatype()); + try (InputStream is = getClass().getResourceAsStream("/document.odt")) { + assertNotNull(is); + try (Bundle bundle = Bundles.openBundle(is)) { + assertEquals("application/vnd.oasis.opendocument.text", + Bundles.getMimeType(bundle)); + + Path contentXml = bundle.getPath("content.xml"); + Manifest manifest = bundle.getManifest(); + assertEquals("text/xml", manifest.getAggregation(contentXml) + .getMediatype()); + PathMetadata rootMeta = manifest.getAggregation(bundle.getRoot()); + assertEquals("1.2", rootMeta.getConformsTo() + ""); + assertEquals("application/vnd.oasis.opendocument.text", + rootMeta.getMediatype()); + } } }
