[jboss-cvs] JBossAS SVN: r57378 - in trunk/tomcat: . src/resources src/tests/org/jboss/test/deployers
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 3 01:47:30 EDT 2006
Author: scott.stark at jboss.org
Date: 2006-10-03 01:47:26 -0400 (Tue, 03 Oct 2006)
New Revision: 57378
Added:
trunk/tomcat/src/resources/war-deployers-beans.xml
trunk/tomcat/src/tests/org/jboss/test/deployers/jboss-web24-ex1.xml
Modified:
trunk/tomcat/.classpath
trunk/tomcat/src/tests/org/jboss/test/deployers/WebAppParsingDeployerTestCase.java
trunk/tomcat/src/tests/org/jboss/test/deployers/web24-ex1.xml
Log:
Tests of the web metadata deployers
Modified: trunk/tomcat/.classpath
===================================================================
--- trunk/tomcat/.classpath 2006-10-03 05:44:39 UTC (rev 57377)
+++ trunk/tomcat/.classpath 2006-10-03 05:47:26 UTC (rev 57378)
@@ -40,7 +40,7 @@
<classpathentry combineaccessrules="false" kind="src" path="/system-jmx"/>
<classpathentry sourcepath="/home/svn/JBossMC/jbossmc/deployers/src/main" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-deployers.jar"/>
<classpathentry sourcepath="/home/svn/JBossMC/jbossmc/container/src/main" kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-container.jar"/>
- <classpathentry sourcepath="/home/svn/JBossHead/projects/test/trunk/test/src/main" kind="lib" path="/thirdparty/jboss/test/lib/jboss-test.jar"/>
+ <classpathentry sourcepath="C:/svn/JBossHead/projects/test/test/src/main" kind="lib" path="/thirdparty/jboss/test/lib/jboss-test.jar"/>
<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/aop/lib/jboss-aop-jdk50.jar"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
Added: trunk/tomcat/src/resources/war-deployers-beans.xml
===================================================================
--- trunk/tomcat/src/resources/war-deployers-beans.xml 2006-10-03 05:44:39 UTC (rev 57377)
+++ trunk/tomcat/src/resources/war-deployers-beans.xml 2006-10-03 05:47:26 UTC (rev 57378)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+Web application deployers
+$Id:$
+-->
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- web.xml parsing deployer -->
+ <bean name="WebAppParsingDeployer" class="org.jboss.deployment.WebAppParsingDeployer">
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+ <bean name="WebAppParsingDeployer" class="org.jboss.deployment.JBossWebAppParsingDeployer">
+ <install bean="MainDeployer" method="addDeployer">
+ <parameter><this/></parameter>
+ </install>
+ <uninstall bean="MainDeployer" method="removeDeployer">
+ <parameter><this/></parameter>
+ </uninstall>
+ </bean>
+
+</deployment>
Modified: trunk/tomcat/src/tests/org/jboss/test/deployers/WebAppParsingDeployerTestCase.java
===================================================================
--- trunk/tomcat/src/tests/org/jboss/test/deployers/WebAppParsingDeployerTestCase.java 2006-10-03 05:44:39 UTC (rev 57377)
+++ trunk/tomcat/src/tests/org/jboss/test/deployers/WebAppParsingDeployerTestCase.java 2006-10-03 05:47:26 UTC (rev 57378)
@@ -1,15 +1,35 @@
package org.jboss.test.deployers;
import java.net.URL;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import org.jboss.deployers.plugins.deployer.AbstractDeploymentUnit;
+import org.jboss.deployers.plugins.deployment.MainDeployerImpl;
import org.jboss.deployers.plugins.structure.AbstractDeploymentContext;
import org.jboss.deployers.spi.deployer.DeploymentUnit;
+import org.jboss.deployers.spi.structure.DeploymentContext;
+import org.jboss.deployers.spi.structure.StructureDetermined;
+import org.jboss.metadata.EjbLocalRefMetaData;
+import org.jboss.metadata.EnvEntryMetaData;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.web.ParamValue;
import org.jboss.test.BaseTestCase;
import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
-import org.jboss.web.tomcat.deployers.WebAppParsingDeployer;
+import org.jboss.deployment.JBossWebAppParsingDeployer;
+import org.jboss.deployment.WebAppParsingDeployer;
+/**
+ * This is a test of the org.jboss.deployment.WebAppParsingDeployer deployer. It should be in a server related testsuite, but
+ * including such a test in the server project slows the workspace build so its here until there is better
+ * separation of tests/projects.
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision:$
+ */
public class WebAppParsingDeployerTestCase extends BaseTestCase
{
@@ -18,21 +38,102 @@
super(name);
}
+ @Override
+ protected void setUp() throws Exception
+ {
+ System.setProperty("org.jboss.test.logging.LogginPlugin",
+ "org.jboss.test.logging.Log4jConsoleLoggingPlugin");
+ super.setUp();
+ }
+
/**
- *
+ * Parse a servlet 2.4 web.xml descriptor
* @throws Exception
*/
public void testWebApp24Ex1()
throws Exception
{
+ log.info("testWebApp24Ex1");
DeploymentUnit unit = createDeploymentUnit("org/jboss/test/deployers");
WebAppParsingDeployer deployer = new WebAppParsingDeployer();
+
deployer.setWebXmlPath("web24-ex1.xml");
deployer.deploy(unit);
- Object dd = unit.getTransientManagedObjects().getAttachment("web24-ex1.xml");
- log.debug("web.xml DD: "+dd);
+ WebMetaData dd = unit.getAttachment(WebMetaData.class);
+ assertNotNull("WebMetaData dd", dd);
+ validateWebMetaData24Ex1(dd, false);
}
+ public void testWebAppJBossWebApp()
+ throws Exception
+ {
+ DeploymentUnit unit = createDeploymentUnit("org/jboss/test/deployers");
+ MainDeployerImpl md = new MainDeployerImpl();
+ WebAppParsingDeployer d1 = new WebAppParsingDeployer();
+ d1.setWebXmlPath("web24-ex1.xml");
+ md.addDeployer(d1);
+ JBossWebAppParsingDeployer d2 = new JBossWebAppParsingDeployer();
+ md.addDeployer(d2);
+ d2.setWebXmlPath("jboss-web24-ex1.xml");
+ DeploymentContext ctx = unit.getDeploymentContext();
+ ctx.setStructureDetermined(StructureDetermined.PREDETERMINED);
+ md.addDeploymentContext(ctx);
+ md.process();
+
+ WebMetaData dd = unit.getAttachment(WebMetaData.class);
+ assertNotNull("WebMetaData dd", dd);
+ validateWebMetaData24Ex1(dd, true);
+ }
+
+ protected void validateWebMetaData24Ex1(WebMetaData dd, boolean hasJBossWeb)
+ {
+ assertEquals("web-app/description", "Web App 2.4 Descriptor", dd.getDescription());
+ assertEquals("web-app/display-name", "Web App 2.4 Descriptor on Display", dd.getDisplayName());
+ assertEquals("web-app/distributable", true, dd.getDistributable());
+ // web-app/context-param
+ List<ParamValue> contextParams = dd.getContextParams();
+ assertEquals("context-params.size = 1", 1, contextParams.size());
+ ParamValue pv = contextParams.get(0);
+ assertEquals("pv.description", "A test context-param", pv.getDescription());
+ assertEquals("pv.name", "contextParam1", pv.getName());
+ assertEquals("pv.value", "contextParam1Value", pv.getValue());
+ // web-app/ejb-local-ref
+ Map<String, EjbLocalRefMetaData> ejbLocalRefs = dd.getEjbLocalReferenceMap();
+ assertEquals("ejb-local-ref.size = 1", 1, ejbLocalRefs.size());
+ EjbLocalRefMetaData elrmd = ejbLocalRefs.get("SomeLocalEJB");
+ assertNotNull("SomeLocalEJB", elrmd);
+ assertEquals("SomeLocalEJB", elrmd.getName());
+ assertEquals("SomeLocalEJB.Local", "org.jboss.ejb.ISomeLocal", elrmd.getLocal());
+ assertEquals("SomeLocalEJB.LocalHome", "org.jboss.ejb.ISomeLocalHome", elrmd.getLocalHome());
+ assertEquals("SomeLocalEJB.Type", "Session", elrmd.getType());
+ // web-app/env-entry
+ HashSet<String> expectedNames = new HashSet<String>();
+ expectedNames.add("aString");
+ expectedNames.add("anInt");
+ Iterator<EnvEntryMetaData> envEntryIter = dd.getEnvironmentEntries();
+ while( envEntryIter.hasNext() )
+ {
+ EnvEntryMetaData entry = envEntryIter.next();
+ if( entry.getName().endsWith("aString") )
+ {
+ assertEquals("type is String", "java.lang.String", entry.getType());
+ assertEquals("aStringValue", "aStringValue", entry.getValue());
+ }
+ else if( entry.getName().endsWith("anInt") )
+ {
+ assertEquals("type is Integer", "java.lang.Integer", entry.getType());
+ assertEquals("aStringValue", "123456", entry.getValue());
+ }
+ expectedNames.remove(entry.getName());
+ }
+ assertEquals("All expected names seen", 0, expectedNames.size());
+ if( hasJBossWeb == false )
+ return;
+
+ String contextRoot = dd.getContextRoot();
+ assertEquals("context-root", "testWebAppJBossWebApp", contextRoot);
+ }
+
/**
*
* @param root
Added: trunk/tomcat/src/tests/org/jboss/test/deployers/jboss-web24-ex1.xml
===================================================================
--- trunk/tomcat/src/tests/org/jboss/test/deployers/jboss-web24-ex1.xml 2006-10-03 05:44:39 UTC (rev 57377)
+++ trunk/tomcat/src/tests/org/jboss/test/deployers/jboss-web24-ex1.xml 2006-10-03 05:47:26 UTC (rev 57378)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE jboss-web PUBLIC
+ "-//JBoss//DTD Web Application 2.3V2//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-web_4_0.dtd">
+
+<jboss-web>
+ <context-root>testWebAppJBossWebApp</context-root>
+</jboss-web>
Modified: trunk/tomcat/src/tests/org/jboss/test/deployers/web24-ex1.xml
===================================================================
--- trunk/tomcat/src/tests/org/jboss/test/deployers/web24-ex1.xml 2006-10-03 05:44:39 UTC (rev 57377)
+++ trunk/tomcat/src/tests/org/jboss/test/deployers/web24-ex1.xml 2006-10-03 05:47:26 UTC (rev 57378)
@@ -33,7 +33,13 @@
<env-entry>
<env-entry-name>aString</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
+ <env-entry-value>aStringValue</env-entry-value>
</env-entry>
+ <env-entry>
+ <env-entry-name>anInt</env-entry-name>
+ <env-entry-type>java.lang.Integer</env-entry-type>
+ <env-entry-value>123456</env-entry-value>
+ </env-entry>
<!-- ### Security -->
<security-constraint>
More information about the jboss-cvs-commits
mailing list