[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