You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2005/10/15 18:33:59 UTC

svn commit: r321366 - /portals/jetspeed-2/trunk/components/profiler/src/test/org/apache/jetspeed/profiler/TestProfiler.java

Author: taylor
Date: Sat Oct 15 09:33:53 2005
New Revision: 321366

URL: http://svn.apache.org/viewcvs?rev=321366&view=rev
Log:
new rule: user-role-fallback

Modified:
    portals/jetspeed-2/trunk/components/profiler/src/test/org/apache/jetspeed/profiler/TestProfiler.java

Modified: portals/jetspeed-2/trunk/components/profiler/src/test/org/apache/jetspeed/profiler/TestProfiler.java
URL: http://svn.apache.org/viewcvs/portals/jetspeed-2/trunk/components/profiler/src/test/org/apache/jetspeed/profiler/TestProfiler.java?rev=321366&r1=321365&r2=321366&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/components/profiler/src/test/org/apache/jetspeed/profiler/TestProfiler.java (original)
+++ portals/jetspeed-2/trunk/components/profiler/src/test/org/apache/jetspeed/profiler/TestProfiler.java Sat Oct 15 09:33:53 2005
@@ -16,10 +16,14 @@
 package org.apache.jetspeed.profiler;
 
 import java.util.Collection;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
+import java.util.Set;
+
+import javax.security.auth.Subject;
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
@@ -34,7 +38,9 @@
 import org.apache.jetspeed.profiler.rules.impl.StandardProfilingRule;
 import org.apache.jetspeed.request.RequestContext;
 import org.apache.jetspeed.security.SecurityHelper;
+import org.apache.jetspeed.security.impl.RolePrincipalImpl;
 import org.apache.jetspeed.security.impl.UserPrincipalImpl;
+import org.apache.jetspeed.security.impl.PrincipalsSet;
 
 /**
  * TestProfiler
@@ -107,6 +113,66 @@
 
     private static final String DEFAULT_PAGE = "default-page";
 
+    private static final String URF_CRITERIA [] =
+    {
+        "user",
+        "navigation",
+        "role",
+        "path.session"
+    };
+
+    public void testUserRoleFallback() 
+    throws Exception
+    {
+        assertNotNull("profiler service is null", profiler);
+        System.out.println("START: running test user role fallback...");
+        
+        // make sure rule is set correctly
+        ProfilingRule rule = profiler.getRule("user-role-fallback");
+        assertNotNull("rule is null ", rule);
+        Iterator c = rule.getRuleCriteria().iterator();
+        int ix = 0;
+        while (c.hasNext())
+        {
+            RuleCriterion rc = (RuleCriterion)c.next();
+            assertTrue("criterion type check " + rc.getType(), rc.getType().equals(URF_CRITERIA[ix]));
+            System.out.println(rc.getType());
+            ix++;
+        }
+        
+        // test applying it
+        RequestContext context = new MockRequestContext();
+        Subject subject = createSubject();
+        context.setPath("/homepage.psml");        
+        context.setSubject(subject);
+        ProfileLocator locator = rule.apply(context, profiler);
+        System.out.println("locator = " + locator);
+        assertTrue("locator string " + locator.toString(), locator.toString().equals("/homepage.psml:user:david:navigation:/:role:ATP:role:NB:role:ATP-NB:page:/homepage.psml"));
+        
+        System.out.println("COMPLETED: running test user role fallback.");
+    }
+    
+    protected Subject createSubject()
+    {
+        Set principals = new PrincipalsSet();
+        Set publicCredentials = new HashSet();
+        Set privateCredentials = new HashSet();
+        
+        principals.add(new UserPrincipalImpl("david"));
+        principals.add(new RolePrincipalImpl("ATP"));
+        principals.add(new RolePrincipalImpl("NB"));        
+        principals.add(new RolePrincipalImpl("ATP-NB"));        
+        Subject subject = new Subject(true, principals, publicCredentials, privateCredentials);        
+        return subject;
+    }
+    
+    private static final String TEST_ROLES [] =
+    {
+        "ATP",
+        "NB",
+        "ATP-NB",
+    };
+    
     /**
      * Tests
      * 



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org