[jboss-cvs] JBossAS SVN: r68189 - in trunk: ejb3/src/test/org/jboss/ejb3/test/initial and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 12 12:04:37 EST 2007


Author: anil.saldhana at jboss.com
Date: 2007-12-12 12:04:37 -0500 (Wed, 12 Dec 2007)
New Revision: 68189

Modified:
   trunk/build/build-thirdparty.xml
   trunk/ejb3/src/test/org/jboss/ejb3/test/initial/SecurityTester.java
Log:
use the SecurityClient interface in addition. Upgrade Security SPI to 2.0.2.Beta1 to take care of a minor bug

Modified: trunk/build/build-thirdparty.xml
===================================================================
--- trunk/build/build-thirdparty.xml	2007-12-12 16:58:57 UTC (rev 68188)
+++ trunk/build/build-thirdparty.xml	2007-12-12 17:04:37 UTC (rev 68189)
@@ -97,7 +97,7 @@
     <componentref name="jboss/jboss-ejb3-impl" version="0.1.2.Beta1"/>
     <componentref name="jboss/jboss-jaspi-api" version="1.0-BETA1"/>
     <componentref name="jboss/jboss-javaee" version="5.0.0.Beta3Update1"/>
-    <componentref name="jboss/jboss-security-spi" version="2.0.2.beta"/>
+    <componentref name="jboss/jboss-security-spi" version="2.0.2.Beta1"/>
     <componentref name="jboss/jbosssx" version="2.0.2.beta"/>
     <componentref name="jboss/jbosssx-client" version="2.0.2.beta"/>
     <componentref name="jboss/jbossts" version="4.3.0.BETA2"/>

Modified: trunk/ejb3/src/test/org/jboss/ejb3/test/initial/SecurityTester.java
===================================================================
--- trunk/ejb3/src/test/org/jboss/ejb3/test/initial/SecurityTester.java	2007-12-12 16:58:57 UTC (rev 68188)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/initial/SecurityTester.java	2007-12-12 17:04:37 UTC (rev 68189)
@@ -26,6 +26,8 @@
 import org.jboss.logging.Logger;
 import org.jboss.security.SecurityAssociation;
 import org.jboss.security.SimplePrincipal;
+import org.jboss.security.client.SecurityClient;
+import org.jboss.security.client.SecurityClientFactory;
 
 /**
  * Comment
@@ -66,6 +68,7 @@
       if (securityFailure) throw new RuntimeException("auth failure was not caught for method");
 
       securityFailure = true;
+      SecurityAssociation.clear();
       SecurityAssociation.setPrincipal(new SimplePrincipal("rolefail"));
       try
       {
@@ -91,7 +94,73 @@
          securityFailure = false;
       }
       if (securityFailure) throw new RuntimeException("excluded failure was not caught for method");
+      
+      SecurityAssociation.clear();
+      testWithNewSecurityClient();
+   }
+   
+   private void testWithNewSecurityClient() throws Exception
+   {
+      InitialContext ctx = new InitialContext();
+      SecuredTest test = (SecuredTest) ctx.lookup("SecuredTestBean/local");
 
+      SecurityClient sc = SecurityClientFactory.getSecurityClient();
+      sc.setSimple(new SimplePrincipal("somebody"),"password".toCharArray());
+      sc.login();
+      test.unchecked();
+      test.testDefault();
+      test.secured();
+      
+      sc.logout();
+
+      sc.setSimple(new SimplePrincipal("authfail"), "password".toCharArray());
+      sc.login();
+      boolean securityFailure = true;
+      try
+      {
+         test.secured();
+      }
+      catch (EJBAccessException ignored)
+      {
+         log.info(ignored.getMessage());
+         securityFailure = false;
+      }
+
+      if (securityFailure) throw new RuntimeException("auth failure was not caught for method");
+      sc.logout();
+      
+      securityFailure = true;
+      sc.setSimple(new SimplePrincipal("rolefail"), "password".toCharArray());
+      sc.login();
+      try
+      {
+         test.secured();
+      }
+      catch (EJBAccessException ignored)
+      {
+         log.info(ignored.getMessage());
+         securityFailure = false;
+      }
+      if (securityFailure) throw new RuntimeException("role failure was not caught for method");
+
+      sc.logout();
+      
+      sc.setSimple(new SimplePrincipal("somebody"), "password".toCharArray());
+      sc.login();
+      
+      log.info("test exclusion");
+      securityFailure = true;
+      try
+      {
+         test.excluded();
+      }
+      catch (EJBAccessException ignored)
+      {
+         log.info(ignored.getMessage());
+         securityFailure = false;
+      }
+      if (securityFailure) throw new RuntimeException("excluded failure was not caught for method");
+      sc.logout();
    }
 
 }




More information about the jboss-cvs-commits mailing list