[jboss-cvs] JBossAS SVN: r66061 - in projects/metadata/trunk/src/test: resources/org/jboss/test/metadata/web and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Oct 11 20:47:56 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-10-11 20:47:56 -0400 (Thu, 11 Oct 2007)
New Revision: 66061
Modified:
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java
projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp5Everything_testEverything.xml
Log:
Add servlet/servlet-mapping tests
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java 2007-10-12 00:12:48 UTC (rev 66060)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java 2007-10-12 00:47:56 UTC (rev 66061)
@@ -21,18 +21,32 @@
*/
package org.jboss.test.metadata.web;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
import org.jboss.metadata.javaee.spec.MessageDestinationMetaData;
import org.jboss.metadata.javaee.spec.MessageDestinationsMetaData;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRoleRefMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRoleRefsMetaData;
+import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.metadata.web.spec.ServletsMetaData;
import org.jboss.metadata.web.spec.Web25MetaData;
import org.jboss.metadata.web.spec.WebMetaData;
import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
/**
- * Test all entries of an application client 5 descriptor.
- *
- * @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * Test all entries of javaee 5 web-app
+ * TODO: still need to add assertions for all elements
+ *
+ * @author Scott.Stark at jboss.org
+ * @version $Revision $
*/
public class WebApp5EverythingUnitTestCase extends AbstractJavaEEEverythingTest
{
@@ -42,14 +56,34 @@
super(name);
}
+ public static SchemaBindingResolver initResolver()
+ {
+ DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+ resolver.addClassBindingForLocation("web-app_2_5.xsd", Web25MetaData.class);
+ return resolver;
+ }
+
+ public void testEverything() throws Exception
+ {
+ WebMetaData webApp = unmarshal();
+ assertEverything(webApp);
+ }
+
+ protected WebMetaData unmarshal() throws Exception
+ {
+ return unmarshal(WebMetaData.class);
+ }
+
protected void assertEverything(WebMetaData webApp)
+ throws Exception
{
- //assertEverythingWithAppMetaData(webApp);
assertDescriptionGroup("web-app", webApp.getDescriptionGroup());
assertRemoteEnvironment("webApp", webApp, true);
assertMessageDestinations5("webAppMessageDestination", 2, webApp.getMessageDestinations(), true);
+ assertServlets(webApp);
+ assertServletMappings(webApp);
}
-
+
private void assertMessageDestinations5(String prefix, int size, MessageDestinationsMetaData messageDestinations, boolean full)
{
assertNotNull("no message destinations are set", messageDestinations);
@@ -61,20 +95,58 @@
count++;
}
}
-
- public static SchemaBindingResolver initResolver()
+ private void assertServlets(WebMetaData webApp)
+ throws Exception
{
- return schemaResolverForClass(Web25MetaData.class);
+ ServletsMetaData servlets = webApp.getServlets();
+ int count = 0;
+ for(ServletMetaData servlet : servlets)
+ {
+ assertEquals("servlet"+count, servlet.getId());
+ assertEquals("servlet"+count+"-name", servlet.getServletName());
+ assertEquals("servlet"+count+".class", servlet.getServletClass());
+ assertEquals(1, servlet.getLoadOnStartup());
+ assertEquals("run-as-role"+count, servlet.getRunAs().getRoleName());
+ List<ParamValueMetaData> params = servlet.getInitParam();
+ assertEquals(2, params.size());
+ int pcount = 0;
+ for(ParamValueMetaData param : params)
+ {
+ assertEquals("servlet"+count+"-init-param"+pcount, param.getId());
+ assertEquals("init-param"+pcount+"-name", param.getParamName());
+ assertEquals("init-param"+pcount+"-value", param.getParamValue());
+ pcount ++;
+ }
+ SecurityRoleRefsMetaData refs = servlet.getSecurityRoleRefs();
+ assertEquals(1, refs.size());
+ for(SecurityRoleRefMetaData ref : refs)
+ {
+ assertEquals("servlet"+count+"-role-ref", ref.getRoleName());
+ assertEquals("role"+count, ref.getRoleLink());
+ }
+ count ++;
+ }
}
-
- public void testEverything() throws Exception
+ private void assertServletMappings(WebMetaData webApp)
+ throws Exception
{
- WebMetaData webApp = unmarshal();
- assertEverything(webApp);
+ List<ServletMappingMetaData> mappings = webApp.getServletMappings();
+ assertEquals(4, mappings.size());
+ int count = 0;
+ for(ServletMappingMetaData mapping : mappings)
+ {
+ int servletCount = count / 2;
+ assertEquals(mapping.getId(), "servlet"+servletCount+"-mapping"+count, mapping.getId());
+ assertEquals("servlet"+servletCount+"-name", mapping.getServletName());
+ if((count % 2) == 0)
+ assertEquals("/servlet"+servletCount+"/*", mapping.getUrlPatterns().get(0));
+ else
+ {
+ assertEquals(2, mapping.getUrlPatterns().size());
+ assertEquals("/servlet"+servletCount+"/*.s", mapping.getUrlPatterns().get(0));
+ assertEquals("/servlet"+servletCount+"/*.sx", mapping.getUrlPatterns().get(1));
+ }
+ count ++;
+ }
}
-
- protected WebMetaData unmarshal() throws Exception
- {
- return unmarshal(Web25MetaData.class);
- }
}
Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp5Everything_testEverything.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp5Everything_testEverything.xml 2007-10-12 00:12:48 UTC (rev 66060)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/web/WebApp5Everything_testEverything.xml 2007-10-12 00:47:56 UTC (rev 66061)
@@ -4,6 +4,10 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5" id="web-app-everything" metadata-complete="true">
+ <icon>
+ <small-icon>en-web-app-small-icon</small-icon>
+ <large-icon>en-web-app-large-icon</large-icon>
+ </icon>
<!-- description group -->
<description>en-web-app-desc</description>
<description xml:lang="fr">fr-web-app-desc</description>
@@ -128,10 +132,11 @@
</init-param>
<load-on-startup>1</load-on-startup>
<run-as>
- <role-name>role0</role-name>
+ <role-name>run-as-role0</role-name>
</run-as>
<security-role-ref>
- <role-name>role1</role-name>
+ <role-name>servlet0-role-ref</role-name>
+ <role-link>role0</role-link>
</security-role-ref>
</servlet>
<servlet id="servlet1">
@@ -147,20 +152,31 @@
</init-param>
<load-on-startup>1</load-on-startup>
<run-as>
- <role-name>role0</role-name>
+ <role-name>run-as-role1</role-name>
</run-as>
<security-role-ref>
- <role-name>role1</role-name>
+ <role-name>servlet1-role-ref</role-name>
+ <role-link>role1</role-link>
</security-role-ref>
</servlet>
- <servlet-mapping id="servlet0-mapping">
+ <servlet-mapping id="servlet0-mapping0">
<servlet-name>servlet0-name</servlet-name>
<url-pattern>/servlet0/*</url-pattern>
</servlet-mapping>
- <servlet-mapping id="servlet1-mapping">
+ <servlet-mapping id="servlet0-mapping1">
+ <servlet-name>servlet0-name</servlet-name>
+ <url-pattern>/servlet0/*.s</url-pattern>
+ <url-pattern>/servlet0/*.sx</url-pattern>
+ </servlet-mapping>
+ <servlet-mapping id="servlet1-mapping2">
<servlet-name>servlet1-name</servlet-name>
<url-pattern>/servlet1/*</url-pattern>
</servlet-mapping>
+ <servlet-mapping id="servlet1-mapping3">
+ <servlet-name>servlet1-name</servlet-name>
+ <url-pattern>/servlet1/*.s</url-pattern>
+ <url-pattern>/servlet1/*.sx</url-pattern>
+ </servlet-mapping>
<security-constraint id="security-constraint0">
<display-name>security-constraint0-display-name</display-name>
More information about the jboss-cvs-commits
mailing list