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());
+                       }
                }
        }
 

Reply via email to