[jboss-cvs] JBossAS SVN: r67261 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/web and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 19 14:38:09 EST 2007
Author: anil.saldhana at jboss.com
Date: 2007-11-19 14:38:09 -0500 (Mon, 19 Nov 2007)
New Revision: 67261
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/SecurityConstraintMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java
Log:
fix excluded web constraints
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/SecurityConstraintMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/SecurityConstraintMetaData.java 2007-11-19 18:29:24 UTC (rev 67260)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/web/spec/SecurityConstraintMetaData.java 2007-11-19 19:38:09 UTC (rev 67261)
@@ -99,8 +99,7 @@
public boolean isExcluded()
{
boolean isExcluded = authConstraint != null
- && authConstraint.getRoleNames() != null
- && authConstraint.getRoleNames().size() == 0;
+ && authConstraint.getRoleNames() == null;
return isExcluded;
}
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-11-19 18:29:24 UTC (rev 67260)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/web/WebApp5EverythingUnitTestCase.java 2007-11-19 19:38:09 UTC (rev 67261)
@@ -21,11 +21,7 @@
*/
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.annotation.javaee.Icon;
import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
@@ -34,15 +30,21 @@
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.AuthConstraintMetaData;
import org.jboss.metadata.web.spec.DispatcherType;
import org.jboss.metadata.web.spec.FilterMappingMetaData;
import org.jboss.metadata.web.spec.FilterMetaData;
import org.jboss.metadata.web.spec.FiltersMetaData;
+import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
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.TransportGuaranteeType;
+import org.jboss.metadata.web.spec.UserDataConstraintMetaData;
import org.jboss.metadata.web.spec.Web25MetaData;
import org.jboss.metadata.web.spec.WebMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
import org.jboss.test.metadata.javaee.AbstractJavaEEEverythingTest;
import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
@@ -52,6 +54,7 @@
* TODO: still need to add assertions for all elements
*
* @author Scott.Stark at jboss.org
+ * @author Anil.Saldhana at jboss.com
* @version $Revision $
*/
public class WebApp5EverythingUnitTestCase extends AbstractJavaEEEverythingTest
@@ -90,6 +93,7 @@
assertServletMappings(webApp);
assertFilters(webApp);
assertFilterMappings(webApp);
+ assertSecurityConstraints(webApp);
}
private void assertMessageDestinations5(String prefix, int size, MessageDestinationsMetaData messageDestinations, boolean full)
@@ -157,6 +161,7 @@
count ++;
}
}
+
private void assertFilters(WebMetaData webApp)
throws Exception
{
@@ -178,6 +183,7 @@
count ++;
}
}
+
private void assertFilterMappings(WebMetaData webApp)
throws Exception
{
@@ -195,4 +201,59 @@
assertEquals(DispatcherType.FORWARD, dispatchers.get(0));
assertEquals(DispatcherType.REQUEST, dispatchers.get(1));
}
-}
+
+ // Security Constraints
+ private void assertSecurityConstraints(WebMetaData webApp)
+ {
+ List<SecurityConstraintMetaData> scmdList = webApp.getSecurityContraints();
+ assertEquals(3, scmdList.size());
+ for(SecurityConstraintMetaData scmd:scmdList)
+ {
+ String id = scmd.getId();
+ if(id.equals("security-constraint0"))
+ assertNormalSecurityConstraint(scmd);
+ else
+ if(id.equals("security-constraint-excluded"))
+ assertExcludedSecurityConstraint(scmd);
+ else
+ if(id.equals("security-constraint-unchecked"))
+ assertUncheckedSecurityConstraint(scmd);
+ }
+ }
+
+ private void assertNormalSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertFalse(scmd.isExcluded());
+ assertFalse(scmd.isUnchecked());
+ assertEquals("security-constraint0-display-name",scmd.getDisplayName());
+ WebResourceCollectionsMetaData wrcmd = scmd.getResourceCollections();
+ assertEquals(2, wrcmd.size());
+ int count = 0;
+ for(WebResourceCollectionMetaData wrmd: wrcmd)
+ {
+ assertEquals(wrmd.getId(), "web-resource-collection" + count, wrmd.getId());
+ assertEquals(wrmd.getWebResourceName(),
+ "web-resource" + count + "-name", wrmd.getWebResourceName());
+ assertEquals("/resource" + count + "/*",
+ "/resource" + count + "/*", wrmd.getUrlPatterns().get(0));
+ count++;
+ }
+ AuthConstraintMetaData amd = scmd.getAuthConstraint();
+ assertEquals("auth-constraint0", amd.getId());
+ assertEquals("role0", amd.getRoleNames().get(0));
+
+ UserDataConstraintMetaData udcmd = scmd.getUserDataConstraint();
+ assertEquals(TransportGuaranteeType.NONE,udcmd.getTransportGuarantee());
+ }
+
+ private void assertExcludedSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertTrue("Excluded Sec Constraint?", scmd.isExcluded());
+ }
+
+ private void assertUncheckedSecurityConstraint(SecurityConstraintMetaData scmd)
+ {
+ assertTrue("Unchecked Sec Constraint?", scmd.isUnchecked());
+ assertNull(scmd.getAuthConstraint());
+ }
+}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list