[jboss-cvs] JBossAS SVN: r74320 - trunk/testsuite/src/main/org/jboss/test/security/test.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 9 17:35:38 EDT 2008


Author: anil.saldhana at jboss.com
Date: 2008-06-09 17:35:38 -0400 (Mon, 09 Jun 2008)
New Revision: 74320

Modified:
   trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java
Log:
JBAS-5610: fix test

Modified: trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java	2008-06-09 21:20:53 UTC (rev 74319)
+++ trunk/testsuite/src/main/org/jboss/test/security/test/SecurityMgrStressTestCase.java	2008-06-09 21:35:38 UTC (rev 74320)
@@ -21,21 +21,31 @@
   */
 package org.jboss.test.security.test;
 
+import java.util.HashMap;
 import java.util.HashSet;
-import java.util.HashMap;
 import java.util.Properties;
+
+import javax.security.auth.Subject;
+import javax.security.auth.login.AppConfigurationEntry;
 import javax.security.auth.login.Configuration;
-import javax.security.auth.login.AppConfigurationEntry;
-import javax.security.auth.Subject;
+import javax.security.jacc.PolicyContext;
 
 import junit.framework.TestCase;
 import junit.textui.TestRunner;
 
 import org.jboss.logging.Logger;
-import org.jboss.security.plugins.JaasSecurityManager;
+import org.jboss.security.AuthorizationManager;
+import org.jboss.security.SecurityConstants;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextAssociation;
+import org.jboss.security.SecurityContextFactory;
 import org.jboss.security.SimplePrincipal;
-import org.jboss.security.SecurityAssociation;
 import org.jboss.security.auth.callback.SecurityAssociationHandler;
+import org.jboss.security.config.ApplicationPolicy;
+import org.jboss.security.config.SecurityConfiguration;
+import org.jboss.security.jacc.SubjectPolicyContextHandler;
+import org.jboss.security.plugins.JBossAuthorizationManager;
+import org.jboss.security.plugins.JaasSecurityManager;
 import org.jboss.util.TimedCachePolicy;
 
 /** Stress testing of the JaasSecurityManager
@@ -65,10 +75,13 @@
     */
    public void testMTAuthentication() throws Exception
    {
-      SecurityAssociation.setServer();
+      //SecurityAssociation.setServer();
       int count = Integer.getInteger("jbosstest.threadcount", 10).intValue();
       int iterations = Integer.getInteger("jbosstest.iterationcount", 5000).intValue();
       log.info("Creating "+count+" threads doing "+iterations+" iterations");
+      PolicyContext.registerHandler(SecurityConstants.SUBJECT_CONTEXT_KEY, 
+    		  new SubjectPolicyContextHandler(), false);
+      AuthorizationManager am = new JBossAuthorizationManager("testIdentity");
       JaasSecurityManager secMgr = new JaasSecurityManager("testIdentity", new SecurityAssociationHandler());
       TimedCachePolicy cache = new TimedCachePolicy(3, false, 100);
       cache.create();
@@ -79,7 +92,7 @@
       for(int t = 0; t < count; t ++)
       {
          int userID = t % Nusers;
-         AuthTester test = new AuthTester(secMgr, iterations, userID);
+         AuthTester test = new AuthTester(secMgr, am, iterations, userID);
          if( t == count - 2 )
             test.failAuthentication();
          if( t == count - 1 )
@@ -98,7 +111,7 @@
          if( test.failAuthentication == true || test.failAuthorization == true )
             assertTrue("Failure test has an error", test.error != null);
          else if( test.error != null )
-            fail("Unexpected error seen by : "+test);
+            fail("Unexpected error seen by : "+test.error.getLocalizedMessage());
       }
    }
 
@@ -168,11 +181,13 @@
       Throwable error;
       boolean failAuthentication;
       boolean failAuthorization;
+	  AuthorizationManager am;
 
-      AuthTester(JaasSecurityManager secMgr, int iterations, int id)
+      AuthTester(JaasSecurityManager secMgr, AuthorizationManager am, int iterations, int id)
       {
          this.iterations = iterations;
          this.secMgr = secMgr;
+         this.am = am;
          this.username = "jduke"+id;
          this.password = "theduke"+id;
       }
@@ -206,13 +221,18 @@
          {
             for(int i = 0; i < iterations; i ++)
             {
+               String securityDomain = secMgr.getSecurityDomain();
                Subject subject = new Subject();
                boolean authenticated = secMgr.isValid(user, thePassword, subject);
                if( authenticated == false )
                   throw new SecurityException("Failed to authenticate: "+user);
-               SecurityAssociation.pushSubjectContext(subject, user, "any");
-               boolean authorized = secMgr.doesUserHaveRole(user, roleSet);
-               SecurityAssociation.popSubjectContext();
+               SecurityConfiguration.addApplicationPolicy(new ApplicationPolicy(securityDomain));
+               SecurityContext sc = SecurityContextFactory.createSecurityContext(user, 
+            		   thePassword, subject, securityDomain);
+               SecurityContextAssociation.setSecurityContext(sc);
+               //SecurityAssociation.pushSubjectContext(subject, user, "any");
+               boolean authorized = am.doesUserHaveRole(user, roleSet); 
+               SecurityContextAssociation.clearSecurityContext();
                if( authorized == false )
                {
                   Subject s = secMgr.getActiveSubject();
@@ -230,4 +250,4 @@
       }
    }
 
-}
+}
\ No newline at end of file




More information about the jboss-cvs-commits mailing list