[jboss-svn-commits] JBoss Common SVN: r3517 - shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Sat Sep 12 23:46:43 EDT 2009


Author: johnbailey
Date: 2009-09-12 23:46:43 -0400 (Sat, 12 Sep 2009)
New Revision: 3517

Modified:
   shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExplodedExporterTestCase.java
   shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExportTestBase.java
   shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ZipExporterTestCase.java
Log:
[SHRINKWRAP-12] - Cleaned up some duplicate code from the exporter test cases

Modified: shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExplodedExporterTestCase.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExplodedExporterTestCase.java	2009-09-12 22:58:31 UTC (rev 3516)
+++ shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExplodedExporterTestCase.java	2009-09-13 03:46:43 UTC (rev 3517)
@@ -23,14 +23,13 @@
 import java.io.InputStream;
 import java.util.logging.Logger;
 
+import org.jboss.shrinkwrap.api.Archive;
 import org.jboss.shrinkwrap.api.Asset;
 import org.jboss.shrinkwrap.api.Path;
 import org.jboss.shrinkwrap.api.export.ExplodedExporter;
 import org.jboss.shrinkwrap.impl.base.MemoryMapArchiveImpl;
-import org.jboss.shrinkwrap.impl.base.asset.ClassLoaderAsset;
 import org.jboss.shrinkwrap.impl.base.io.IOUtil;
 import org.jboss.shrinkwrap.impl.base.path.BasicPath;
-import org.jboss.shrinkwrap.spi.MemoryMapArchive;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -54,16 +53,6 @@
     */
    private static final Logger log = Logger.getLogger(ExplodedExporterTestCase.class.getName());
 
-   /**
-    * Name of a properties file upon the test CP
-    */
-   private static final String NAME_TEST_PROPERTIES = "org/jboss/shrinkwrap/impl/base/asset/Test.properties";
-
-   /**
-    * Name of another properties file upon the test CP
-    */
-   private static final String NAME_TEST_PROPERTIES_2 = "org/jboss/shrinkwrap/impl/base/asset/Test2.properties";
-
    //-------------------------------------------------------------------------------------||
    // Tests ------------------------------------------------------------------------------||
    //-------------------------------------------------------------------------------------||
@@ -82,16 +71,8 @@
       File tempDirectory = createTempDirectory("testExportExploded");
 
       // Get an archive instance
-      MemoryMapArchive archive = new MemoryMapArchiveImpl("testArchive.jar");
+      Archive<?> archive = createArchiveWithAssets();
 
-      // Add some content
-      Asset assetOne = new ClassLoaderAsset(NAME_TEST_PROPERTIES);
-      Path pathOne = new BasicPath("test.properties");
-      archive.add(pathOne, assetOne);
-      Asset assetTwo = new ClassLoaderAsset(NAME_TEST_PROPERTIES_2);
-      Path pathTwo = new BasicPath("nested", "test2.properties");
-      archive.add(pathTwo, assetTwo);
-
       // Export as Exploded directory
       File explodedDirectory = ExplodedExporter.exportExploded(archive, tempDirectory);
 
@@ -103,9 +84,8 @@
       Assert.assertEquals(expectedDirectory, explodedDirectory);
 
       // Validate entries were written out
-      assertAssetInExploded(explodedDirectory, pathOne, assetOne);
-      assertAssetInExploded(explodedDirectory, pathTwo, assetTwo);
-
+      assertAssetInExploded(explodedDirectory, PATH_ONE, ASSET_ONE);
+      assertAssetInExploded(explodedDirectory, PATH_TWO, ASSET_TWO);
    }
 
    /**
@@ -122,31 +102,8 @@
       File tempDirectory = createTempDirectory("testExportNestedExploded");
 
       // Get an archive instance
-      MemoryMapArchive archive = new MemoryMapArchiveImpl("testArchive.jar");
-
-      // Add a nested archive
-      MemoryMapArchive nestedArchive = new MemoryMapArchiveImpl("nestedArchive.jar");
-
-      // Add some content
-      Asset assetOne = new ClassLoaderAsset(NAME_TEST_PROPERTIES);
-      Path pathOne = new BasicPath("test.properties");
-      nestedArchive.add(pathOne, assetOne);
-      Asset assetTwo = new ClassLoaderAsset(NAME_TEST_PROPERTIES_2);
-      Path pathTwo = new BasicPath("nested", "test2.properties");
-      nestedArchive.add(pathTwo, assetTwo);
-
-      archive.add(new BasicPath(), nestedArchive);
-
-      // Add an archive nested in a directory
-      MemoryMapArchive nestedArchiveTwo = new MemoryMapArchiveImpl("nestedArchive.jar");
-      Path nestedPath = new BasicPath("nested");
-
-      // Add some content
-      nestedArchiveTwo.add(pathOne, assetOne);
-      nestedArchiveTwo.add(pathTwo, assetTwo);
-
-      archive.add(nestedPath, nestedArchiveTwo);
-
+      Archive<?> archive = createArchiveWithNestedArchives();
+      
       // Export as Exploded directory
       File explodedDirectory = ExplodedExporter.exportExploded(archive, tempDirectory);
 
@@ -158,15 +115,15 @@
       Assert.assertEquals(expectedDirectory, explodedDirectory);
 
       // Validate nested archive entries were written out
-      Path nestedArchivePath = new BasicPath(nestedArchive.getName());
+      Path nestedArchivePath = new BasicPath(NAME_NESTED_ARCHIVE);
 
-      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePath, pathOne), assetOne);
-      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePath, pathTwo), assetTwo);
+      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePath, PATH_ONE), ASSET_ONE);
+      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePath, PATH_TWO), ASSET_TWO);
 
-      Path nestedArchivePathTwo = new BasicPath(nestedPath, nestedArchiveTwo.getName());
+      Path nestedArchivePathTwo = new BasicPath(NESTED_PATH, NAME_NESTED_ARCHIVE_2);
 
-      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePathTwo, pathOne), assetOne);
-      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePathTwo, pathTwo), assetTwo);
+      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePathTwo, PATH_ONE), ASSET_ONE);
+      assertAssetInExploded(explodedDirectory, new BasicPath(nestedArchivePathTwo, PATH_TWO), ASSET_TWO);
    }
 
    /**

Modified: shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExportTestBase.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExportTestBase.java	2009-09-12 22:58:31 UTC (rev 3516)
+++ shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ExportTestBase.java	2009-09-13 03:46:43 UTC (rev 3517)
@@ -20,7 +20,14 @@
 import java.net.URISyntaxException;
 import java.util.logging.Logger;
 
+import org.jboss.shrinkwrap.api.Archive;
+import org.jboss.shrinkwrap.api.Asset;
+import org.jboss.shrinkwrap.api.Path;
+import org.jboss.shrinkwrap.impl.base.MemoryMapArchiveImpl;
+import org.jboss.shrinkwrap.impl.base.asset.ClassLoaderAsset;
 import org.jboss.shrinkwrap.impl.base.io.IOUtil;
+import org.jboss.shrinkwrap.impl.base.path.BasicPath;
+import org.jboss.shrinkwrap.spi.MemoryMapArchive;
 import org.junit.Assert;
 
 /**
@@ -29,9 +36,10 @@
  * Base support for the exporter test cases 
  *
  * @author <a href="mailto:andrew.rubinger at jboss.org">ALR</a>
+ * @author <a href="mailto:baileyje at gmail.com">John Bailey</a>
  * @version $Revision: $
  */
-class ExportTestBase
+public abstract class ExportTestBase
 {
 
    //-------------------------------------------------------------------------------------||
@@ -43,6 +51,56 @@
     */
    private static final Logger log = Logger.getLogger(ExportTestBase.class.getName());
 
+   /**
+    * Name of an Archive
+    */
+   protected static final String NAME_ARCHIVE = "testArchive.jar";
+
+   /**
+    * Name of a properties file upon the test CP
+    */
+   protected static final String NAME_TEST_PROPERTIES = "org/jboss/shrinkwrap/impl/base/asset/Test.properties";
+
+   /**
+    * Name of another properties file upon the test CP
+    */
+   protected static final String NAME_TEST_PROPERTIES_2 = "org/jboss/shrinkwrap/impl/base/asset/Test2.properties";
+
+   /**
+    * Path of for nested content
+    */
+   protected static final Path NESTED_PATH = new BasicPath("nested");
+
+   /**
+    * Name of a nested archive
+    */
+   protected static final String NAME_NESTED_ARCHIVE = "nestedArchive.jar";
+
+   /**
+    * Name of another nested archive
+    */
+   protected static final String NAME_NESTED_ARCHIVE_2 = "nestedArchive2.jar";
+
+   /** 
+    * Asset used for testing
+    */
+   protected static final Asset ASSET_ONE = new ClassLoaderAsset(NAME_TEST_PROPERTIES);
+
+   /** 
+    * Path used for testing
+    */
+   protected static final Path PATH_ONE = new BasicPath("Test.properties");
+
+   /** 
+    * Another asset used for testing
+    */
+   protected static final Asset ASSET_TWO = new ClassLoaderAsset(NAME_TEST_PROPERTIES_2);
+
+   /** 
+   * Another path used for testing
+   */
+   protected static final Path PATH_TWO = new BasicPath(NESTED_PATH, "Test2.properties");
+
    //-------------------------------------------------------------------------------------||
    // Functional Methods -----------------------------------------------------------------||
    //-------------------------------------------------------------------------------------||
@@ -81,4 +139,58 @@
       }
    }
 
+   /**
+    * Create an archive instance and add some assets
+    */
+   protected Archive<?> createArchiveWithAssets()
+   {
+      // Create an archive
+      Archive<?> archive = new MemoryMapArchiveImpl(NAME_ARCHIVE);
+      // Add some content
+      addContent(archive);
+      // Return archive
+      return archive;
+   }
+
+   /**
+    * Create an archive instance and add some assets and some nested archives
+    */
+   protected Archive<?> createArchiveWithNestedArchives()
+   {
+      // Create an archive
+      Archive<?> archive = createArchiveWithAssets();
+
+      // Create a nested archive
+      MemoryMapArchive nestedArchive = new MemoryMapArchiveImpl(NAME_NESTED_ARCHIVE);
+
+      // Add some content
+      addContent(nestedArchive);
+
+      // Add nested archive
+      archive.add(new BasicPath(), nestedArchive);
+
+      // Add an archive nested in a directory
+      MemoryMapArchive nestedArchiveTwo = new MemoryMapArchiveImpl(NAME_NESTED_ARCHIVE_2);
+
+      // Add some content
+      addContent(nestedArchiveTwo);
+
+      // Add the archive under a nested path
+      archive.add(NESTED_PATH, nestedArchiveTwo);
+
+      // Return archive
+      return archive;
+   }
+
+   /**
+    * Add basic contents to the archive
+    * 
+    * @param archive
+    */
+   protected void addContent(Archive<?> archive)
+   {
+      archive.add(PATH_ONE, ASSET_ONE);
+      archive.add(PATH_TWO, ASSET_TWO);
+   }
+
 }

Modified: shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ZipExporterTestCase.java
===================================================================
--- shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ZipExporterTestCase.java	2009-09-12 22:58:31 UTC (rev 3516)
+++ shrinkwrap/trunk/impl-base/src/test/java/org/jboss/shrinkwrap/impl/base/export/ZipExporterTestCase.java	2009-09-13 03:46:43 UTC (rev 3517)
@@ -29,11 +29,8 @@
 import org.jboss.shrinkwrap.api.Asset;
 import org.jboss.shrinkwrap.api.Path;
 import org.jboss.shrinkwrap.api.export.ZipExporter;
-import org.jboss.shrinkwrap.impl.base.MemoryMapArchiveImpl;
-import org.jboss.shrinkwrap.impl.base.asset.ClassLoaderAsset;
 import org.jboss.shrinkwrap.impl.base.io.IOUtil;
 import org.jboss.shrinkwrap.impl.base.path.BasicPath;
-import org.jboss.shrinkwrap.spi.MemoryMapArchive;
 import org.junit.Assert;
 import org.junit.Test;
 
@@ -55,17 +52,7 @@
     * Logger
     */
    private static final Logger log = Logger.getLogger(ZipExporterTestCase.class.getName());
-   
-   /**
-    * Name of a properties file upon the test CP
-    */
-   private static final String NAME_TEST_PROPERTIES = "org/jboss/shrinkwrap/impl/base/asset/Test.properties";
 
-   /**
-    * Name of another properties file upon the test CP
-    */
-   private static final String NAME_TEST_PROPERTIES_2 = "org/jboss/shrinkwrap/impl/base/asset/Test2.properties";
-
    //-------------------------------------------------------------------------------------||
    // Tests ------------------------------------------------------------------------------||
    //-------------------------------------------------------------------------------------||
@@ -83,25 +70,17 @@
       File tempDirectory = createTempDirectory("testExportZip");
 
       // Get an archive instance
-      MemoryMapArchive archive = new MemoryMapArchiveImpl("testArchive.jar");
+      Archive<?> archive = createArchiveWithAssets();
 
-      // Add some content
-      Asset assetOne = new ClassLoaderAsset(NAME_TEST_PROPERTIES);
-      Path pathOne = new BasicPath("test.properties");
-      archive.add(pathOne, assetOne);
-      Asset assetTwo = new ClassLoaderAsset(NAME_TEST_PROPERTIES_2);
-      Path pathTwo = new BasicPath("nested", "test2.properties");
-      archive.add(pathTwo, assetTwo);
-
       // Export as Zip InputStream
       InputStream zipStream = ZipExporter.exportZip(archive);
 
       // Write zip content to temporary file 
-      ZipFile expectedZip = getExportedZipFile(archive, zipStream, tempDirectory);
+      ZipFile expectedZip = getExportedZipFile(NAME_ARCHIVE, zipStream, tempDirectory);
 
       // Validate entries were written out
-      assertAssetInZip(expectedZip, pathOne, assetOne);
-      assertAssetInZip(expectedZip, pathTwo, assetTwo);
+      assertAssetInZip(expectedZip, PATH_ONE, ASSET_ONE);
+      assertAssetInZip(expectedZip, PATH_TWO, ASSET_TWO);
 
    }
 
@@ -118,46 +97,48 @@
       File tempDirectory = createTempDirectory("testExportNestedZip");
 
       // Get an archive instance
-      MemoryMapArchive archive = new MemoryMapArchiveImpl("testArchive.jar");
+      Archive<?> archive = createArchiveWithNestedArchives();
 
-      // Add some content
-      Asset assetOne = new ClassLoaderAsset(NAME_TEST_PROPERTIES);
-      Path pathOne = new BasicPath("test.properties");
-      archive.add(pathOne, assetOne);
-      Asset assetTwo = new ClassLoaderAsset(NAME_TEST_PROPERTIES);
-      Path pathTwo = new BasicPath("nested", "test2.properties");
-      archive.add(pathTwo, assetTwo);
-
-      // Add a nested archive for good measure
-      MemoryMapArchive nestedArchive = new MemoryMapArchiveImpl("nestedArchive.jar");
-      nestedArchive.add(pathOne, assetOne);
-      nestedArchive.add(pathTwo, assetTwo);
-      archive.add(new BasicPath(), nestedArchive);
-
       // Export as Zip InputStream
       InputStream zipStream = ZipExporter.exportZip(archive);
 
       // Write out and retrieve Zip 
-      ZipFile expectedZip = getExportedZipFile(archive, zipStream, tempDirectory);
+      ZipFile expectedZip = getExportedZipFile(NAME_ARCHIVE, zipStream, tempDirectory);
 
       // Validate entries were written out
-      assertAssetInZip(expectedZip, pathOne, assetOne);
-      assertAssetInZip(expectedZip, pathTwo, assetTwo);
+      assertAssetInZip(expectedZip, PATH_ONE, ASSET_ONE);
+      assertAssetInZip(expectedZip, PATH_TWO, ASSET_TWO);
 
       // Validate nested archive entries were written out
-      Path nestedArchivePath = new BasicPath(nestedArchive.getName());
+      Path nestedArchivePath = new BasicPath(NAME_NESTED_ARCHIVE);
 
       // Get nested archive entry from exported zip
       ZipEntry nestedArchiveEntry = expectedZip.getEntry(nestedArchivePath.get());
-      
+
       // Get inputstream for entry 
       InputStream nesterArchiveStream = expectedZip.getInputStream(nestedArchiveEntry);
 
-      // Write out and retrieve Zip
-      ZipFile nestedZip = getExportedZipFile(nestedArchive, nesterArchiveStream, tempDirectory);
+      // Write out and retrieve nested Zip
+      ZipFile nestedZip = getExportedZipFile(NAME_NESTED_ARCHIVE, nesterArchiveStream, tempDirectory);
 
-      assertAssetInZip(nestedZip, pathOne, assetOne);
-      assertAssetInZip(nestedZip, pathTwo, assetTwo);
+      assertAssetInZip(nestedZip, PATH_ONE, ASSET_ONE);
+      assertAssetInZip(nestedZip, PATH_TWO, ASSET_TWO);
+
+      // Validate nested archive entries were written out
+      Path nestedArchiveTwoPath = new BasicPath(NESTED_PATH, NAME_NESTED_ARCHIVE_2);
+
+      // Get second nested archive entry from exported zip
+      ZipEntry nestedArchiveTwoEntry = expectedZip.getEntry(nestedArchiveTwoPath.get());
+
+      // Get inputstream for entry 
+      InputStream nesterArchiveTwoStream = expectedZip.getInputStream(nestedArchiveTwoEntry);
+
+      // Write out and retrieve second nested Zip
+      ZipFile nestedZipTwo = getExportedZipFile(NAME_NESTED_ARCHIVE_2, nesterArchiveTwoStream, tempDirectory);
+
+      assertAssetInZip(nestedZipTwo, PATH_ONE, ASSET_ONE);
+      assertAssetInZip(nestedZipTwo, PATH_TWO, ASSET_TWO);
+
    }
 
    /**
@@ -183,20 +164,18 @@
    // Internal Helper Methods ------------------------------------------------------------||
    //-------------------------------------------------------------------------------------||
 
-   private ZipFile getExportedZipFile(Archive<?> archive, InputStream zipStream, File tempDirectory) throws Exception
+   private ZipFile getExportedZipFile(String archiveName, InputStream zipStream, File tempDirectory) throws Exception
    {
 
       // Validate the InputStream was created 
       Assert.assertNotNull(zipStream);
 
       // Create a temp file
-      File outFile = new File(tempDirectory, archive.getName());
+      File outFile = new File(tempDirectory, archiveName);
 
       // Write Zip contents to file
       writeOutFile(outFile, zipStream);
-      
-     System.out.println(outFile.length());
-     
+
       // Use standard ZipFile library to read in written Zip file
       ZipFile expectedZip = new ZipFile(outFile);
 



More information about the jboss-svn-commits mailing list