1 23 24 package com.rift.coad.lib.interceptor; 26 27 import java.util.HashSet ; 29 import java.util.Set ; 30 import java.lang.reflect.Constructor ; 31 import java.util.concurrent.ConcurrentHashMap ; 32 import java.util.concurrent.ConcurrentMap ; 33 34 import junit.framework.*; 36 37 import org.apache.log4j.Logger; 39 40 import com.rift.coad.lib.configuration.Configuration; 42 import com.rift.coad.lib.configuration.ConfigurationFactory; 43 import com.rift.coad.lib.interceptor.credentials.Credential; 44 import com.rift.coad.lib.interceptor.credentials.Login; 45 import com.rift.coad.lib.interceptor.credentials.Session; 46 import com.rift.coad.lib.interceptor.authenticator.SessionAuthenticator; 47 import com.rift.coad.lib.security.AuthorizationException; 48 import com.rift.coad.lib.security.RoleManager; 49 import com.rift.coad.lib.security.ThreadsPermissionContainer; 50 import com.rift.coad.lib.security.ThreadPermissionSession; 51 import com.rift.coad.lib.security.UserSession; 52 import com.rift.coad.lib.security.user.UserSessionManager; 53 import com.rift.coad.lib.security.user.UserStoreManager; 54 import com.rift.coad.lib.security.SessionManager; 55 import com.rift.coad.lib.security.login.LoginManager; 56 import com.rift.coad.lib.thread.CoadunationThreadGroup; 57 58 63 public class ClientInterceptorTest extends TestCase { 64 65 69 public class TestInterceptor extends InterceptorWrapper { 70 71 private ClientInterceptor interceptor = null; 73 74 75 78 public TestInterceptor() throws Exception { 79 interceptor = this.getClientInterceptor(); 80 } 81 82 83 86 public Credential getSessionCredential() throws InterceptorException { 87 return interceptor.getSessionCredential(); 88 } 89 90 91 } 92 93 public ClientInterceptorTest(String testName) { 94 super(testName); 95 } 96 97 protected void setUp() throws Exception { 98 } 99 100 protected void tearDown() throws Exception { 101 } 102 103 public static Test suite() { 104 TestSuite suite = new TestSuite(ClientInterceptorTest.class); 105 106 return suite; 107 } 108 109 112 public void testGetSessionCredential() throws Exception { 113 System.out.println("getSessionCredential"); 114 115 ThreadsPermissionContainer permissions = new ThreadsPermissionContainer(); 117 SessionManager.init(permissions); 118 UserStoreManager userStoreManager = new UserStoreManager(); 119 UserSessionManager sessionManager = new UserSessionManager(permissions, 120 userStoreManager); 121 LoginManager.init(sessionManager,userStoreManager); 122 CoadunationThreadGroup threadGroup = new CoadunationThreadGroup(sessionManager, 124 userStoreManager); 125 126 RoleManager.getInstance(); 128 129 InterceptorFactory.init(permissions,sessionManager,userStoreManager); 130 131 TestInterceptor testInterceptor = new TestInterceptor(); 133 134 try { 135 testInterceptor.getSessionCredential(); 136 fail("Was able to get the session credentials for a none " + 137 "existant session"); 138 } catch (InterceptorException ex) { 139 } 141 142 Set set = new HashSet (); 144 set.add("test"); 145 set.add("test1"); 146 set.add("test2"); 147 set.add("test3"); 148 UserSession user = new UserSession("test", set); 149 ThreadPermissionSession currentSession = new ThreadPermissionSession( 150 new Long (Thread.currentThread().getId()),user); 151 permissions.putSession(new Long (Thread.currentThread().getId()), 152 currentSession); 153 154 try { 155 Session session = (Session)testInterceptor.getSessionCredential(); 156 if (!session.getUsername().equals("test")) { 157 fail("The username is not equal to test"); 158 } 159 Set principals = session.getPrincipals(); 160 if ((!principals.contains("test")) || 161 (!principals.contains("test1")) || 162 (!principals.contains("test2")) || 163 (!principals.contains("test3"))) 164 { 165 fail("Principals not set correctly"); 166 } 167 } catch (InterceptorException ex) { 168 fail("Should have been able to retrieve credentials"); 169 } 170 171 } 172 173 } 174 | Popular Tags |