[jboss-cvs] JBossAS SVN: r70001 - in projects/microcontainer/trunk/deployers-vfs/src: resources/tests/classloader and 25 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Feb 21 09:15:56 EST 2008
Author: adrian at jboss.org
Date: 2008-02-21 09:15:56 -0500 (Thu, 21 Feb 2008)
New Revision: 70001
Added:
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment1/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment1/META-INF/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment1/META-INF/jboss-classloading.xml
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment2/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment2/META-INF/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment2/META-INF/jboss-beans.xml
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/META-INF/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/META-INF/jboss-classloading.xml
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/a/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/a/b/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/a/b/c/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/a/b/c/test-resource-deployment3
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment4/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment4/META-INF/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment4/META-INF/jboss-beans.xml
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/META-INF/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/META-INF/jboss-classloading.xml
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/a/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/a/b/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/a/b/c/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/a/b/c/test-resource-deployment5
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment6/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment6/META-INF/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment6/META-INF/jboss-classloading.xml
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/a/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/a/b/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/a/b/c/
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/a/b/c/test-resource-external-deployment2
projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnDeploymentClassLoaderUnitTestCase.java
projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnManualClassLoaderUnitTestCase.java
projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/ManualDependsOnDeploymentClassLoaderUnitTestCase.java
Modified:
projects/microcontainer/trunk/deployers-vfs/src/resources/tests/bootstrap/bootstrap.xml
projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/BootstrapDeployersTest.java
projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/ClassLoaderTestSuite.java
Log:
Add tests for deployments dependening on manual classloaders and vice-versa
Modified: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/bootstrap/bootstrap.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/bootstrap/bootstrap.xml 2008-02-21 14:14:06 UTC (rev 70000)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/bootstrap/bootstrap.xml 2008-02-21 14:15:56 UTC (rev 70001)
@@ -100,7 +100,10 @@
<bean name="ClassLoaderSystem" class="org.jboss.classloader.spi.ClassLoaderSystem">
<constructor factoryClass="org.jboss.classloader.spi.ClassLoaderSystem" factoryMethod="getInstance"/>
</bean>
- <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading"/>
+ <bean name="ClassLoading" class="org.jboss.classloading.spi.dependency.ClassLoading">
+ <incallback method="addModule" state="Configured"/>
+ <uncallback method="removeModule" state="Configured"/>
+ </bean>
<bean name="ClassLoadingMetaDataParser" class="org.jboss.deployers.vfs.spi.deployer.SchemaResolverDeployer">
<constructor>
<parameter>org.jboss.classloading.spi.metadata.ClassLoadingMetaData</parameter>
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment1/META-INF/jboss-classloading.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment1/META-INF/jboss-classloading.xml (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment1/META-INF/jboss-classloading.xml 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,6 @@
+<classloading xmlns="urn:jboss:classloading:1.0">
+ <requirements>
+ <module name="test2"/>
+ </requirements>
+</classloading>
+
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment2/META-INF/jboss-beans.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment2/META-INF/jboss-beans.xml (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment2/META-INF/jboss-beans.xml 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,7 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <classloader name="test2" xmlns="urn:jboss:classloader:1.0" export-all="NON_EMPTY">
+ <root>${test.classloader.url}/external-deployment2</root>
+ </classloader>
+
+</deployment>
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/META-INF/jboss-classloading.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/META-INF/jboss-classloading.xml (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/META-INF/jboss-classloading.xml 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,6 @@
+<classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY">
+ <capabilities>
+ <module name="test3"/>
+ </capabilities>
+</classloading>
+
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/a/b/c/test-resource-deployment3
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/a/b/c/test-resource-deployment3 (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment3/a/b/c/test-resource-deployment3 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1 @@
+empty
\ No newline at end of file
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment4/META-INF/jboss-beans.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment4/META-INF/jboss-beans.xml (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment4/META-INF/jboss-beans.xml 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,10 @@
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <classloader name="test4" xmlns="urn:jboss:classloader:1.0">
+ <requirements>
+ <module name="test3"/>
+ </requirements>
+ <root>${test.classloader.url}/external-deployment2</root>
+ </classloader>
+
+</deployment>
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/META-INF/jboss-classloading.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/META-INF/jboss-classloading.xml (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/META-INF/jboss-classloading.xml 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,6 @@
+<classloading xmlns="urn:jboss:classloading:1.0" export-all="NON_EMPTY">
+ <capabilities>
+ <module name="test5"/>
+ </capabilities>
+</classloading>
+
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/a/b/c/test-resource-deployment5
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/a/b/c/test-resource-deployment5 (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment5/a/b/c/test-resource-deployment5 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1 @@
+empty
\ No newline at end of file
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment6/META-INF/jboss-classloading.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment6/META-INF/jboss-classloading.xml (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/deployment6/META-INF/jboss-classloading.xml 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,6 @@
+<classloading xmlns="urn:jboss:classloading:1.0">
+ <requirements>
+ <module name="test5"/>
+ </requirements>
+</classloading>
+
Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/a/b/c/test-resource-external-deployment2
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/a/b/c/test-resource-external-deployment2 (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/classloader/external-deployment2/a/b/c/test-resource-external-deployment2 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1 @@
+empty
\ No newline at end of file
Modified: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/BootstrapDeployersTest.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/BootstrapDeployersTest.java 2008-02-21 14:14:06 UTC (rev 70000)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/BootstrapDeployersTest.java 2008-02-21 14:15:56 UTC (rev 70001)
@@ -107,6 +107,14 @@
return (VFSDeploymentUnit) getMainDeployerStructure().getDeploymentUnit(deployment.getName(), true);
}
+ protected VFSDeploymentUnit addDeployment(String root, String child) throws Exception
+ {
+ VFSDeployment deployment = createVFSDeployment(root, child);
+ getDeployerClient().addDeployment(deployment);
+ getDeployerClient().process();
+ return (VFSDeploymentUnit) getMainDeployerStructure().getDeploymentUnit(deployment.getName(), true);
+ }
+
protected void undeploy(DeploymentUnit unit)
{
try
@@ -233,6 +241,18 @@
return unit.getClassLoader();
}
+ protected void assertNoClassLoader(DeploymentUnit unit)
+ {
+ try
+ {
+ assertNull("Should not be a classloader: " + unit.getClassLoader());
+ }
+ catch (Throwable e)
+ {
+ checkThrowable(IllegalStateException.class, e);
+ }
+ }
+
protected ClassLoader getClassLoader(Object name)
{
ControllerContext ctx = getControllerContext(name);
Modified: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/ClassLoaderTestSuite.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/ClassLoaderTestSuite.java 2008-02-21 14:14:06 UTC (rev 70000)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/ClassLoaderTestSuite.java 2008-02-21 14:15:56 UTC (rev 70001)
@@ -22,7 +22,10 @@
package org.jboss.test.deployers.vfs.classloader;
import org.jboss.test.deployers.vfs.classloader.test.BootstrapDeployersSmokeTestUnitTestCase;
+import org.jboss.test.deployers.vfs.classloader.test.DeploymentDependsOnDeploymentClassLoaderUnitTestCase;
+import org.jboss.test.deployers.vfs.classloader.test.DeploymentDependsOnManualClassLoaderUnitTestCase;
import org.jboss.test.deployers.vfs.classloader.test.InMemoryClasesUnitTestCase;
+import org.jboss.test.deployers.vfs.classloader.test.ManualDependsOnDeploymentClassLoaderUnitTestCase;
import org.jboss.test.deployers.vfs.classloader.test.VFSClassLoaderDependenciesUnitTestCase;
import org.jboss.test.deployers.vfs.classloader.test.VFSUndeployOrderClassLoaderUnitTestCase;
@@ -51,6 +54,9 @@
suite.addTest(VFSClassLoaderDependenciesUnitTestCase.suite());
suite.addTest(VFSUndeployOrderClassLoaderUnitTestCase.suite());
suite.addTest(InMemoryClasesUnitTestCase.suite());
+ suite.addTest(DeploymentDependsOnManualClassLoaderUnitTestCase.suite());
+ suite.addTest(ManualDependsOnDeploymentClassLoaderUnitTestCase.suite());
+ suite.addTest(DeploymentDependsOnDeploymentClassLoaderUnitTestCase.suite());
return suite;
}
Added: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnDeploymentClassLoaderUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnDeploymentClassLoaderUnitTestCase.java (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnDeploymentClassLoaderUnitTestCase.java 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,172 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.deployers.vfs.classloader.test;
+
+import junit.framework.Test;
+
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.test.deployers.BootstrapDeployersTest;
+
+/**
+ * DeploymentDependsOnManualClassLoaderUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class DeploymentDependsOnDeploymentClassLoaderUnitTestCase extends BootstrapDeployersTest
+{
+ public static Test suite()
+ {
+ return suite(DeploymentDependsOnDeploymentClassLoaderUnitTestCase.class);
+ }
+
+ public DeploymentDependsOnDeploymentClassLoaderUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testDependencyCorrectWay() throws Exception
+ {
+ VFSDeploymentUnit unit5 = assertDeploy("/classloader", "deployment5");
+ try
+ {
+ ClassLoader cl5 = getClassLoader(unit5);
+ assertGetResource("a/b/c/test-resource-deployment5", cl5);
+ VFSDeploymentUnit unit6 = assertDeploy("/classloader", "deployment6");
+ try
+ {
+ ClassLoader cl6 = getClassLoader(unit6);
+ assertGetResource("a/b/c/test-resource-deployment5", cl6);
+ }
+ finally
+ {
+ undeploy(unit6);
+ }
+ }
+ finally
+ {
+ undeploy(unit5);
+ }
+ }
+
+ public void testDependencyWrongWay() throws Exception
+ {
+ VFSDeploymentUnit unit6 = addDeployment("/classloader", "deployment6");
+ try
+ {
+ assertNoClassLoader(unit6);
+ VFSDeploymentUnit unit5 = assertDeploy("/classloader", "deployment5");
+ try
+ {
+ ClassLoader cl5 = getClassLoader(unit5);
+ assertGetResource("a/b/c/test-resource-deployment5", cl5);
+ ClassLoader cl6 = getClassLoader(unit6);
+ assertGetResource("a/b/c/test-resource-deployment5", cl6);
+ }
+ finally
+ {
+ undeploy(unit5);
+ }
+ }
+ finally
+ {
+ undeploy(unit6);
+ }
+ }
+
+ public void testDependencyRedeploy5() throws Exception
+ {
+ VFSDeploymentUnit unit5 = assertDeploy("/classloader", "deployment5");
+ try
+ {
+ ClassLoader cl5 = getClassLoader(unit5);
+ assertGetResource("a/b/c/test-resource-deployment5", cl5);
+ VFSDeploymentUnit unit6 = assertDeploy("/classloader", "deployment6");
+ try
+ {
+ ClassLoader cl6 = getClassLoader(unit6);
+ assertGetResource("a/b/c/test-resource-deployment5", cl6);
+ undeploy(unit5);
+ try
+ {
+ assertNoClassLoader(unit5);
+ assertNoClassLoader(unit6);
+ }
+ finally
+ {
+ unit5 = assertDeploy("/classloader", "deployment5");
+ }
+ cl5 = getClassLoader(unit5);
+ assertGetResource("a/b/c/test-resource-deployment5", cl5);
+ cl6 = getClassLoader(unit6);
+ assertGetResource("a/b/c/test-resource-deployment5", cl6);
+ }
+ finally
+ {
+ undeploy(unit6);
+ }
+ }
+ finally
+ {
+ undeploy(unit5);
+ }
+ }
+
+ public void testDependencyRedeploy6() throws Exception
+ {
+ VFSDeploymentUnit unit5 = assertDeploy("/classloader", "deployment5");
+ try
+ {
+ ClassLoader cl5 = getClassLoader(unit5);
+ assertGetResource("a/b/c/test-resource-deployment5", cl5);
+ VFSDeploymentUnit unit6 = assertDeploy("/classloader", "deployment6");
+ try
+ {
+ ClassLoader cl6 = getClassLoader(unit6);
+ assertGetResource("a/b/c/test-resource-deployment5", cl6);
+ undeploy(unit6);
+ try
+ {
+ cl5 = getClassLoader(unit5);
+ assertGetResource("a/b/c/test-resource-deployment5", cl5);
+ assertNoClassLoader(unit6);
+ }
+ finally
+ {
+ unit6 = assertDeploy("/classloader", "deployment6");
+ }
+ cl5 = getClassLoader(unit5);
+ assertGetResource("a/b/c/test-resource-deployment5", cl5);
+ cl6 = getClassLoader(unit6);
+ assertGetResource("a/b/c/test-resource-deployment5", cl6);
+ }
+ finally
+ {
+ undeploy(unit6);
+ }
+ }
+ finally
+ {
+ undeploy(unit5);
+ }
+ }
+}
Added: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnManualClassLoaderUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnManualClassLoaderUnitTestCase.java (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/DeploymentDependsOnManualClassLoaderUnitTestCase.java 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,174 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.deployers.vfs.classloader.test;
+
+import java.net.URL;
+
+import junit.framework.Test;
+
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.test.deployers.BootstrapDeployersTest;
+
+/**
+ * DeploymentDependsOnManualClassLoaderUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class DeploymentDependsOnManualClassLoaderUnitTestCase extends BootstrapDeployersTest
+{
+ public static Test suite()
+ {
+ return suite(DeploymentDependsOnManualClassLoaderUnitTestCase.class);
+ }
+
+ public DeploymentDependsOnManualClassLoaderUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+ URL classLoaderResource = getResource("/classloader");
+ System.setProperty("test.classloader.url", classLoaderResource.toString());
+ }
+
+ public void testDependencyCorrectWay() throws Exception
+ {
+ VFSDeploymentUnit unit2 = assertDeploy("/classloader", "deployment2");
+ try
+ {
+ ClassLoader cl2 = assertBean("test2:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl2);
+ VFSDeploymentUnit unit1 = assertDeploy("/classloader", "deployment1");
+ try
+ {
+ ClassLoader cl1 = getClassLoader(unit1);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl1);
+ }
+ finally
+ {
+ undeploy(unit1);
+ }
+ }
+ finally
+ {
+ undeploy(unit2);
+ }
+ }
+
+ public void testDependencyWrongWay() throws Exception
+ {
+ VFSDeploymentUnit unit1 = addDeployment("/classloader", "deployment1");
+ try
+ {
+ assertNoClassLoader(unit1);
+ VFSDeploymentUnit unit2 = assertDeploy("/classloader", "deployment2");
+ try
+ {
+ ClassLoader cl2 = assertBean("test2:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl2);
+ }
+ finally
+ {
+ undeploy(unit2);
+ }
+ }
+ finally
+ {
+ undeploy(unit1);
+ }
+ }
+
+ public void testDependencyRedeploy1() throws Exception
+ {
+ VFSDeploymentUnit unit2 = assertDeploy("/classloader", "deployment2");
+ try
+ {
+ ClassLoader cl2 = assertBean("test2:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl2);
+ VFSDeploymentUnit unit1 = assertDeploy("/classloader", "deployment1");
+ try
+ {
+ ClassLoader cl1 = getClassLoader(unit1);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl1);
+ undeploy(unit1);
+ try
+ {
+ assertNoClassLoader(unit1);
+ }
+ finally
+ {
+ unit1 = assertDeploy("/classloader", "deployment1");
+ }
+ cl1 = getClassLoader(unit1);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl1);
+ }
+ finally
+ {
+ undeploy(unit1);
+ }
+ }
+ finally
+ {
+ undeploy(unit2);
+ }
+ }
+
+ public void testDependencyRedeploy2() throws Exception
+ {
+ VFSDeploymentUnit unit2 = assertDeploy("/classloader", "deployment2");
+ try
+ {
+ ClassLoader cl2 = assertBean("test2:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl2);
+ VFSDeploymentUnit unit1 = assertDeploy("/classloader", "deployment1");
+ try
+ {
+ ClassLoader cl1 = getClassLoader(unit1);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl1);
+ undeploy(unit2);
+ try
+ {
+ assertNoClassLoader(unit1);
+ }
+ finally
+ {
+ unit2 = assertDeploy("/classloader", "deployment2");
+ }
+ cl1 = getClassLoader(unit1);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl1);
+ cl2 = assertBean("test2:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-external-deployment2", cl2);
+ }
+ finally
+ {
+ undeploy(unit1);
+ }
+ }
+ finally
+ {
+ undeploy(unit2);
+ }
+ }
+}
Added: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/ManualDependsOnDeploymentClassLoaderUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/ManualDependsOnDeploymentClassLoaderUnitTestCase.java (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/classloader/test/ManualDependsOnDeploymentClassLoaderUnitTestCase.java 2008-02-21 14:15:56 UTC (rev 70001)
@@ -0,0 +1,168 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.deployers.vfs.classloader.test;
+
+import junit.framework.Test;
+
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.test.deployers.BootstrapDeployersTest;
+
+/**
+ * ManualDependsOnDeploymentClassLoaderUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class ManualDependsOnDeploymentClassLoaderUnitTestCase extends BootstrapDeployersTest
+{
+ public static Test suite()
+ {
+ return suite(ManualDependsOnDeploymentClassLoaderUnitTestCase.class);
+ }
+
+ public ManualDependsOnDeploymentClassLoaderUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testDependencyCorrectWay() throws Exception
+ {
+ VFSDeploymentUnit unit3 = assertDeploy("/classloader", "deployment3");
+ try
+ {
+ ClassLoader cl3 = getClassLoader(unit3);
+ assertGetResource("a/b/c/test-resource-deployment3", cl3);
+ VFSDeploymentUnit unit4 = assertDeploy("/classloader", "deployment4");
+ try
+ {
+ ClassLoader cl4 = assertBean("test4:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-deployment3", cl4);
+ }
+ finally
+ {
+ undeploy(unit4);
+ }
+ }
+ finally
+ {
+ undeploy(unit3);
+ }
+ }
+
+ public void testDependencyWrongWay() throws Exception
+ {
+ VFSDeploymentUnit unit4 = addDeployment("/classloader", "deployment4");
+ try
+ {
+ assertNoBean("test4:0:0:0");
+ VFSDeploymentUnit unit3 = assertDeploy("/classloader", "deployment3");
+ try
+ {
+ ClassLoader cl3 = getClassLoader(unit3);
+ assertGetResource("a/b/c/test-resource-deployment3", cl3);
+ ClassLoader cl4 = assertBean("test4:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-deployment3", cl4);
+ }
+ finally
+ {
+ undeploy(unit3);
+ }
+ }
+ finally
+ {
+ undeploy(unit4);
+ }
+ }
+
+ public void testDependencyRedeploy3() throws Exception
+ {
+ VFSDeploymentUnit unit3 = assertDeploy("/classloader", "deployment3");
+ try
+ {
+ ClassLoader cl3 = getClassLoader(unit3);
+ assertGetResource("a/b/c/test-resource-deployment3", cl3);
+ VFSDeploymentUnit unit4 = assertDeploy("/classloader", "deployment4");
+ try
+ {
+ ClassLoader cl4 = assertBean("test4:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-deployment3", cl4);
+ undeploy(unit3);
+ try
+ {
+ assertNoBean("test4:0.0.0");
+ }
+ finally
+ {
+ unit3 = assertDeploy("/classloader", "deployment3");
+ }
+ cl3 = getClassLoader(unit3);
+ assertGetResource("a/b/c/test-resource-deployment3", cl3);
+ cl4 = assertBean("test4:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-deployment3", cl4);
+ }
+ finally
+ {
+ undeploy(unit4);
+ }
+ }
+ finally
+ {
+ undeploy(unit3);
+ }
+ }
+
+ public void testDependencyRedeploy4() throws Exception
+ {
+ VFSDeploymentUnit unit3 = assertDeploy("/classloader", "deployment3");
+ try
+ {
+ ClassLoader cl3 = getClassLoader(unit3);
+ assertGetResource("a/b/c/test-resource-deployment3", cl3);
+ VFSDeploymentUnit unit4 = assertDeploy("/classloader", "deployment4");
+ try
+ {
+ ClassLoader cl4 = assertBean("test4:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-deployment3", cl4);
+ undeploy(unit4);
+ try
+ {
+ assertNoBean("test4:0.0.0");
+ assertGetResource("a/b/c/test-resource-deployment3", cl3);
+ }
+ finally
+ {
+ unit4 = assertDeploy("/classloader", "deployment4");
+ }
+ cl4 = assertBean("test4:0.0.0", ClassLoader.class);
+ assertGetResource("a/b/c/test-resource-deployment3", cl4);
+ }
+ finally
+ {
+ undeploy(unit4);
+ }
+ }
+ finally
+ {
+ undeploy(unit3);
+ }
+ }
+}
More information about the jboss-cvs-commits
mailing list