[jboss-cvs] JBossAS SVN: r93589 - in projects/jboss-cl/trunk/classloading-vfs/src/test: java/org/jboss/test/classloading/vfs/policy/test and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Sep 16 04:07:48 EDT 2009


Author: alesj
Date: 2009-09-16 04:07:47 -0400 (Wed, 16 Sep 2009)
New Revision: 93589

Added:
   projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/VFSCLPolicySignedCertsUnitTestCase.java
   projects/jboss-cl/trunk/classloading-vfs/src/test/resources/classloader/signedjar/
   projects/jboss-cl/trunk/classloading-vfs/src/test/resources/classloader/signedjar/wstx.jar
Modified:
   projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java
Log:
[JBCL-67]; port Anil's test from 2.x.

Modified: projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java
===================================================================
--- projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java	2009-09-16 07:33:56 UTC (rev 93588)
+++ projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/ClassLoadingVFSTestSuite.java	2009-09-16 08:07:47 UTC (rev 93589)
@@ -41,6 +41,7 @@
 import org.jboss.test.classloading.vfs.metadata.xml.test.NoopClassLoaderFactoryXMLUnitTestCase;
 import org.jboss.test.classloading.vfs.policy.test.ExportAllUnitTestCase;
 import org.jboss.test.classloading.vfs.policy.test.PackageInfoUnitTestCase;
+import org.jboss.test.classloading.vfs.policy.test.VFSCLPolicySignedCertsUnitTestCase;
 
 /**
  * ClassLoading VFS Test Suite.
@@ -85,6 +86,7 @@
       suite.addTest(ClientClassPathUnitTestCase.suite());
       suite.addTest(PackageInfoUnitTestCase.suite());
       suite.addTest(GeneratedClassesUnitTestCase.suite());
+      suite.addTest(VFSCLPolicySignedCertsUnitTestCase.suite());
 
       return suite;
    }

Added: projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/VFSCLPolicySignedCertsUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/VFSCLPolicySignedCertsUnitTestCase.java	                        (rev 0)
+++ projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/policy/test/VFSCLPolicySignedCertsUnitTestCase.java	2009-09-16 08:07:47 UTC (rev 93589)
@@ -0,0 +1,84 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2007, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.classloading.vfs.policy.test;
+
+import java.net.URL;
+import java.security.ProtectionDomain;
+import java.security.cert.Certificate;
+
+import junit.framework.Test;
+import org.jboss.classloader.plugins.system.DefaultClassLoaderSystem;
+import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.vfs.policy.VFSClassLoaderPolicy;
+import org.jboss.test.BaseTestCase;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+
+/**
+ * Unit test JBCL-67
+ * VFSClassLoaderPolicy and certificates
+ *
+ * @author <a href="anil.saldhana at jboss.org">Anil Saldhana</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+public class VFSCLPolicySignedCertsUnitTestCase extends BaseTestCase
+{
+   public VFSCLPolicySignedCertsUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   public static Test suite()
+   {
+      return suite(VFSCLPolicySignedCertsUnitTestCase.class);
+   }
+
+   /**
+    * Ensure that wstx.jar that is loaded by the base class loader
+    * is able to inject the certs into the protection domain held
+    * by the codesource of the class
+    *
+    * @throws Exception for any error
+    */
+   public void testCertificates() throws Exception
+   {
+      URL signedJarURL = getResource("/classloader/signedjar");
+      VirtualFile signedJarRoot = VFS.getRoot(signedJarURL);
+      VirtualFile signedJar = signedJarRoot.getChild("wstx.jar");
+      VFSClassLoaderPolicy policy = VFSClassLoaderPolicy.createVFSClassLoaderPolicy(signedJar);
+      policy.setExportAll(ExportAll.ALL);
+
+      ClassLoaderSystem system = new DefaultClassLoaderSystem();
+      ClassLoader classLoader = system.registerClassLoaderPolicy(policy);
+
+      Class<?> clazz = classLoader.loadClass("org.codehaus.stax2.validation.XMLValidator");
+      assertNotNull(clazz);
+      ProtectionDomain pd = clazz.getProtectionDomain();
+      assertNotNull("Protection Domain is null: " + clazz , pd);
+      Certificate[] certs = pd.getCodeSource().getCertificates();
+      assertNotNull("Certs are null: " + pd, certs);
+      assertTrue("Certs are empty.", certs.length > 0);
+      //RH, thawte, thawte root CA
+      assertEquals("Should be 3 certs.", 3, certs.length);
+   }
+}
\ No newline at end of file

Added: projects/jboss-cl/trunk/classloading-vfs/src/test/resources/classloader/signedjar/wstx.jar
===================================================================
(Binary files differ)


Property changes on: projects/jboss-cl/trunk/classloading-vfs/src/test/resources/classloader/signedjar/wstx.jar
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream




More information about the jboss-cvs-commits mailing list