001: /*
002: * CoadunationLib: The coaduntion implementation library.
003: * Copyright (C) 2007 Rift IT Contracting
004: *
005: * This library is free software; you can redistribute it and/or
006: * modify it under the terms of the GNU Lesser General Public
007: * License as published by the Free Software Foundation; either
008: * version 2.1 of the License, or (at your option) any later version.
009: *
010: * This library is distributed in the hope that it will be useful,
011: * but WITHOUT ANY WARRANTY; without even the implied warranty of
012: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
013: * Lesser General Public License for more details.
014: *
015: * You should have received a copy of the GNU Lesser General Public
016: * License along with this library; if not, write to the Free Software
017: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
018: *
019: * CoadunationRealmTest.java
020: * JUnit based test
021: */
022:
023: package com.rift.coad.daemon.tomcat.security;
024:
025: // java imports
026: import java.io.IOException;
027: import java.security.Principal;
028: import java.util.Set;
029: import java.util.List;
030: import java.util.ArrayList;
031: import java.util.Iterator;
032:
033: // log 4 j imports
034: import org.apache.log4j.Logger;
035:
036: // junit imports
037: import junit.framework.*;
038:
039: // tomcat imports
040: import javax.servlet.http.HttpServletResponse;
041: import org.apache.catalina.Realm;
042: import org.apache.catalina.deploy.SecurityConstraint;
043: import org.apache.catalina.deploy.LoginConfig;
044: import org.apache.catalina.connector.Request;
045: import org.apache.catalina.connector.Response;
046: import org.apache.catalina.realm.RealmBase;
047: import org.apache.catalina.realm.Constants;
048: import org.apache.catalina.realm.GenericPrincipal;
049:
050: // coadunation imports
051: import com.rift.coad.lib.security.SessionManager;
052: import com.rift.coad.lib.security.ThreadsPermissionContainer;
053: import com.rift.coad.lib.security.ThreadsPermissionContainerAccessor;
054: import com.rift.coad.lib.security.login.LoginManager;
055: import com.rift.coad.lib.security.user.UserSessionManager;
056: import com.rift.coad.lib.security.user.UserSessionManagerAccessor;
057: import com.rift.coad.lib.security.user.UserStoreManager;
058: import com.rift.coad.lib.security.user.UserStoreManagerAccessor;
059: import com.rift.coad.lib.thread.CoadunationThreadGroup;
060: import com.rift.coad.security.BasicPrincipal;
061: import com.rift.coad.lib.security.login.SessionLogin;
062: import com.rift.coad.lib.security.login.handlers.PasswordInfoHandler;
063: import com.rift.coad.lib.security.UserSession;
064: import com.rift.coad.lib.security.RoleManager;
065: import com.rift.coad.lib.security.Role;
066:
067: /**
068: * The coadunation coadunation realm test
069: *
070: * @author brett
071: */
072: public class CoadunationRealmTest extends TestCase {
073:
074: public CoadunationRealmTest(String testName) {
075: super (testName);
076: }
077:
078: protected void setUp() throws Exception {
079: }
080:
081: protected void tearDown() throws Exception {
082: }
083:
084: /**
085: * Test of getName method, of class com.rift.coad.daemon.tomcat.security.CoadunationRealm.
086: */
087: public void testGetName() {
088: System.out.println("getName");
089:
090: CoadunationRealm instance = new CoadunationRealm();
091:
092: String expResult = instance.getClass().getName();
093: String result = instance.getName();
094: assertEquals(expResult, result);
095:
096: }
097:
098: /**
099: * Test of getPassword method, of class com.rift.coad.daemon.tomcat.security.CoadunationRealm.
100: */
101: public void testGetPassword() {
102: System.out.println("getPassword");
103:
104: String username = "test";
105: CoadunationRealm instance = new CoadunationRealm();
106:
107: String expResult = null;
108: String result = instance.getPassword(username);
109: assertEquals(expResult, result);
110:
111: }
112:
113: /**
114: * Test of getPrincipal method, of class com.rift.coad.daemon.tomcat.security.CoadunationRealm.
115: */
116: public void testGetPrincipal() {
117: System.out.println("getPrincipal");
118:
119: String username = "test";
120: CoadunationRealm instance = new CoadunationRealm();
121:
122: Principal expResult = new BasicPrincipal("test");
123: Principal result = instance.getPrincipal(username);
124: assertEquals(expResult, result);
125:
126: }
127:
128: /**
129: * Test of authenticate method, of class com.rift.coad.daemon.tomcat.security.CoadunationRealm.
130: */
131: public void testAuthenticate() throws Exception {
132: System.out.println("authenticate");
133:
134: ThreadsPermissionContainer permissions = new ThreadsPermissionContainer();
135: ThreadsPermissionContainerAccessor.init(permissions);
136: SessionManager.init(permissions);
137: UserStoreManager userStoreManager = new UserStoreManager();
138: UserStoreManagerAccessor.init(userStoreManager);
139: UserSessionManager sessionManager = new UserSessionManager(
140: permissions, userStoreManager);
141: UserSessionManagerAccessor.init(sessionManager);
142: LoginManager.init(sessionManager, userStoreManager);
143: // instanciate the thread manager
144: CoadunationThreadGroup threadGroup = new CoadunationThreadGroup(
145: sessionManager, userStoreManager);
146:
147: // add a user to the session for the current thread
148: RoleManager.getInstance();
149:
150: String username = "test";
151: String credentials = "112233";
152: CoadunationRealm instance = new CoadunationRealm();
153:
154: CoadunationGenericPrincipal result = (CoadunationGenericPrincipal) instance
155: .authenticate(username, credentials);
156: assertEquals("test", result.getSession().getName());
157:
158: }
159:
160: }
|