[jboss-cvs] JBossAS SVN: r77939 - projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Sep 3 22:17:11 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-09-03 22:17:11 -0400 (Wed, 03 Sep 2008)
New Revision: 77939

Modified:
   projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/JARVFSContextUnitTestCase.java
Log:
JBVFS-57, Validate all of the expected jar stream entries

Modified: projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/JARVFSContextUnitTestCase.java
===================================================================
--- projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/JARVFSContextUnitTestCase.java	2008-09-04 01:30:23 UTC (rev 77938)
+++ projects/vfs/trunk/src/test/java/org/jboss/test/virtual/test/JARVFSContextUnitTestCase.java	2008-09-04 02:17:11 UTC (rev 77939)
@@ -24,6 +24,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
+import java.util.Arrays;
+import java.util.HashSet;
 import java.util.jar.JarEntry;
 import java.util.jar.JarInputStream;
 
@@ -232,6 +234,36 @@
       assertEquals(file, same);
    }
 
+   /** All of the following entries should be seen
+jar -tf web_pkg_scope_web.war 
+   106 Wed Sep 03 10:41:36 PDT 2008 META-INF/MANIFEST.MF
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/web/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/web/scope/
+  5074 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/web/scope/ServletTest.class
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/common/
+  1160 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/common/Account.class
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/servlet/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/servlet/common/
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/servlet/common/servlets/
+  2935 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/servlet/common/servlets/HttpTCKServlet.class
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/servlet/common/util/
+   432 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/com/sun/ts/tests/servlet/common/util/Data.class
+     0 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/META-INF/
+   338 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/classes/META-INF/persistence.xml
+  1050 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/web.xml
+   280 Wed Sep 03 10:41:36 PDT 2008 WEB-INF/jboss-web.xml
+    * @throws Exception
+    */
    public void testWarClassesJarInputStream() throws Exception
    {
       URL rootURL = getResource("/vfs/test/web_pkg_scope.ear");
@@ -241,11 +273,45 @@
       VirtualFile classes = file.getParent().getParent();
       // Access the classes contents as a jar file
       URL classesURL = classes.toURL();
+      String[] entryNames = {
+            "META-INF/MANIFEST.MF",
+            "WEB-INF/",
+            "WEB-INF/classes/",
+            "WEB-INF/classes/com/",
+            "WEB-INF/classes/com/sun/",
+            "WEB-INF/classes/com/sun/ts/",
+            "WEB-INF/classes/com/sun/ts/tests/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/web/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/web/scope/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/packaging/web/scope/ServletTest.class",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/common/",
+            "WEB-INF/classes/com/sun/ts/tests/ejb30/persistence/ee/common/Account.class",
+            "WEB-INF/classes/com/sun/ts/tests/servlet/",
+            "WEB-INF/classes/com/sun/ts/tests/servlet/common/",
+            "WEB-INF/classes/com/sun/ts/tests/servlet/common/servlets/",
+            "WEB-INF/classes/com/sun/ts/tests/servlet/common/servlets/HttpTCKServlet.class",
+            "WEB-INF/classes/com/sun/ts/tests/servlet/common/util/",
+            "WEB-INF/classes/com/sun/ts/tests/servlet/common/util/Data.class",
+            "WEB-INF/classes/META-INF/",
+            "WEB-INF/classes/META-INF/persistence.xml",
+            "WEB-INF/web.xml",
+            "WEB-INF/jboss-web.xml"
+      };
       JarInputStream jis = new JarInputStream( classesURL.openStream() );
-      JarEntry jarEntry = jis.getNextJarEntry();
-      assertNotNull(jarEntry);
-      String name = jarEntry.getName();
-      assertNotNull(name);
+      HashSet<String> missingEntries = new HashSet<String>(Arrays.asList(entryNames));
+      int count = 0;
+      JarEntry jarEntry;
+      while((jarEntry = jis.getNextJarEntry()) != null)
+      {
+         String name = jarEntry.getName();
+         missingEntries.remove(name);
+         count ++;
+      }
+      assertEquals("No missing entries: "+missingEntries, 0, missingEntries.size());
       classes.closeStreams();
    }
 




More information about the jboss-cvs-commits mailing list