1 23 24 package com.rift.coad.lib.security.login; 26 27 import junit.framework.*; 28 29 import org.apache.log4j.BasicConfigurator; 31 32 import com.rift.coad.lib.security.ThreadsPermissionContainer; 34 import com.rift.coad.lib.security.ThreadsPermissionContainerAccessor; 35 import com.rift.coad.lib.security.user.UserStoreManager; 36 import com.rift.coad.lib.security.user.UserStoreManagerAccessor; 37 import com.rift.coad.lib.security.user.UserSessionManager; 38 import com.rift.coad.lib.security.user.UserSessionManagerAccessor; 39 import com.rift.coad.lib.security.login.handlers.PasswordInfoHandler; 40 import com.rift.coad.lib.security.SessionManager; 41 import com.rift.coad.lib.security.RoleManager; 42 import com.rift.coad.lib.security.Validator; 43 import com.rift.coad.lib.security.UserSession; 44 import com.rift.coad.lib.thread.BasicThread; 45 import com.rift.coad.lib.thread.CoadunationThreadGroup; 46 import com.rift.coad.lib.security.sudo.Sudo; 47 import com.rift.coad.lib.security.sudo.SudoCallbackHandler; 48 49 54 public class SessionLoginTest extends TestCase implements SudoCallbackHandler { 55 56 59 public class SudoBySessionIdTest extends BasicThread { 60 61 private String sessionId = null; 62 private SudoCallbackHandler handler = null; 63 64 67 public SudoBySessionIdTest (String sessionId, 68 SudoCallbackHandler handler) throws Exception { 69 this.sessionId = sessionId; 70 this.handler = handler; 71 } 72 73 74 77 public void process() { 78 try { 79 Sudo.sudoThreadBySessionId(sessionId, handler); 80 } catch (Exception ex) { 81 System.out.println("Failed to process : " + ex.getMessage()); 82 ex.printStackTrace(System.out); 83 } 84 } 85 } 86 87 private boolean called = false; 89 90 public SessionLoginTest(String testName) { 91 super(testName); 92 BasicConfigurator.configure(); 93 } 94 95 protected void setUp() throws Exception { 96 } 97 98 protected void tearDown() throws Exception { 99 } 100 101 public static Test suite() { 102 TestSuite suite = new TestSuite(SessionLoginTest.class); 103 104 return suite; 105 } 106 107 110 public void testLogin() throws Exception { 111 System.out.println("login"); 112 113 ThreadsPermissionContainer permissions = new ThreadsPermissionContainer(); 114 ThreadsPermissionContainerAccessor.init(permissions); 115 SessionManager.init(permissions); 116 UserStoreManager userStoreManager = new UserStoreManager(); 117 UserStoreManagerAccessor.init(userStoreManager); 118 UserSessionManager sessionManager = new UserSessionManager(permissions, 119 userStoreManager); 120 UserSessionManagerAccessor.init(sessionManager); 121 LoginManager.init(sessionManager,userStoreManager); 122 CoadunationThreadGroup threadGroup = new CoadunationThreadGroup(sessionManager, 124 userStoreManager); 125 126 RoleManager.getInstance(); 128 129 SessionLogin instance = new SessionLogin( 130 new PasswordInfoHandler("test1","112233")); 131 132 instance.login(); 133 134 UserSession user = instance.getUser(); 136 if (!user.getName().equals("test1")) { 137 fail("Login failed"); 138 } 139 140 called = false; 142 SudoBySessionIdTest sudoBySessionIdTest = new 143 SudoBySessionIdTest (user.getSessionId(), this); 144 threadGroup.addThread(sudoBySessionIdTest,"test1"); 145 sudoBySessionIdTest.start(); 146 sudoBySessionIdTest.join(); 147 if (!called) { 148 fail("Failed to call"); 149 } 150 } 151 152 153 156 public void process() { 157 called = true; 158 } 159 } 160 | Popular Tags |