You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by ep...@apache.org on 2003/12/11 00:21:12 UTC
cvs commit: jakarta-turbine-fulcrum/security/adapters/turbine/src/test roleTurbineConfigurationBasicModel.xml componentTurbineConfigurationBasicModel.xml AdapterTestTurbineResourcesBasicModel.properties
epugh 2003/12/10 15:21:12
Modified: security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine
AccessControlListAdaptorTest.java
SecurityServiceAdaptorTest.java
Added: security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine
AbstractAccessControlListAdaptorTest.java
AccessControlListAdaptorBasicModelTest.java
security/adapters/turbine/src/test
roleTurbineConfigurationBasicModel.xml
componentTurbineConfigurationBasicModel.xml
AdapterTestTurbineResourcesBasicModel.properties
Log:
Unit tests for Basic versys Dynamic models and ACL's..
Revision Changes Path
1.2 +100 -83 jakarta-turbine-fulcrum/security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine/AccessControlListAdaptorTest.java
Index: AccessControlListAdaptorTest.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-fulcrum/security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine/AccessControlListAdaptorTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AccessControlListAdaptorTest.java 5 Dec 2003 23:33:16 -0000 1.1
+++ AccessControlListAdaptorTest.java 10 Dec 2003 23:21:12 -0000 1.2
@@ -54,11 +54,6 @@
*/
import java.util.HashMap;
import java.util.Map;
-import java.util.Vector;
-
-import javax.servlet.ServletConfig;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
import org.apache.fulcrum.security.BaseSecurityService;
import org.apache.fulcrum.security.entity.Group;
@@ -66,27 +61,14 @@
import org.apache.fulcrum.security.entity.Role;
import org.apache.fulcrum.security.model.dynamic.DynamicModelManager;
import org.apache.fulcrum.security.model.dynamic.entity.DynamicUser;
-
-import org.apache.fulcrum.testcontainer.BaseUnitTest;
-import org.apache.turbine.modules.actions.sessionvalidator.DefaultSessionValidator;
-import org.apache.turbine.modules.actions.sessionvalidator.SessionValidator;
import org.apache.turbine.om.security.User;
-import org.apache.turbine.services.ServiceManager;
-import org.apache.turbine.services.TurbineServices;
-import org.apache.turbine.services.avaloncomponent.AvalonComponentService;
-import org.apache.turbine.services.rundata.RunDataService;
-import org.apache.turbine.services.security.SecurityService;
import org.apache.turbine.services.security.TurbineSecurity;
-import org.apache.turbine.util.RunData;
-import org.apache.turbine.util.TurbineConfig;
import org.apache.turbine.util.security.AccessControlList;
import org.apache.turbine.util.security.GroupSet;
import org.apache.turbine.util.security.PermissionSet;
import org.apache.turbine.util.security.RoleSet;
-import com.mockobjects.servlet.MockHttpServletResponse;
import com.mockobjects.servlet.MockHttpSession;
-import com.mockobjects.servlet.MockServletConfig;
/**
* Test that we can load up a fulcrum ACL in Turbine, without Turbine
@@ -96,37 +78,50 @@
* @version $Id$
*/
-public class AccessControlListAdaptorTest extends BaseUnitTest
+public class AccessControlListAdaptorTest
+ extends AbstractAccessControlListAdaptorTest
{
- private static final String PREFIX = "services." + SecurityService.SERVICE_NAME + '.';
+
+ public String getTRProps(){
+ return "AdapterTestTurbineResources.properties";
+ }
+
public AccessControlListAdaptorTest(String name) throws Exception
{
super(name);
}
+
public void testSwappingACL() throws Exception
{
- TurbineConfig tc = new TurbineConfig(".", "/src/test/AdapterTestTurbineResources.properties");
- tc.initialize();
+
Class aclClass = TurbineSecurity.getService().getAclClass();
- if (!aclClass.getName().equals(AccessControlListAdapter.class.getName()))
+ if (!aclClass
+ .getName()
+ .equals(AccessControlListAdapter.class.getName()))
{
- fail("ACL Class is " + aclClass.getName() + ", expected was " + AccessControlListAdapter.class.getName());
+ fail(
+ "ACL Class is "
+ + aclClass.getName()
+ + ", expected was "
+ + AccessControlListAdapter.class.getName());
}
Map roles = new HashMap();
Map permissions = new HashMap();
- AccessControlList acl = TurbineSecurity.getService().getAclInstance(roles, permissions);
+ AccessControlList acl =
+ TurbineSecurity.getService().getAclInstance(roles, permissions);
if (acl == null)
{
- fail("Security Service failed to deliver a " + aclClass.getName() + " Object");
+ fail(
+ "Security Service failed to deliver a "
+ + aclClass.getName()
+ + " Object");
}
assertTrue(acl instanceof AccessControlList);
assertTrue(acl instanceof AccessControlListAdapter);
}
public void testGettingUserFromRunData() throws Exception
{
- TurbineConfig tc = new TurbineConfig(".", "/src/test/AdapterTestTurbineResources.properties");
- tc.initialize();
- MockHttpSession session = new MockHttpSession();
+
session.setupGetAttribute(User.SESSION_KEY, null);
User turbineUser = getUserFromRunData(session);
assertNotNull(turbineUser);
@@ -134,46 +129,62 @@
}
public void testUsingAvalonComponents() throws Exception
{
- TurbineConfig tc = new TurbineConfig(".", "/src/test/AdapterTestTurbineResources.properties");
- tc.initialize();
- AvalonComponentService acs =
- (AvalonComponentService) TurbineServices.getInstance().getService(AvalonComponentService.SERVICE_NAME);
- BaseSecurityService securityService = (BaseSecurityService) acs.lookup(BaseSecurityService.ROLE);
- Group fulcrumGroup = securityService.getGroupManager().getGroupInstance("TEST_REVOKEALL");
+
+ BaseSecurityService securityService =
+ (BaseSecurityService) acs.lookup(BaseSecurityService.ROLE);
+ Group fulcrumGroup =
+ securityService.getGroupManager().getGroupInstance(
+ "TEST_REVOKEALL");
securityService.getGroupManager().addGroup(fulcrumGroup);
- Group fulcrumGroup2 = securityService.getGroupManager().getGroupInstance("TEST_REVOKEALL2");
+ Group fulcrumGroup2 =
+ securityService.getGroupManager().getGroupInstance(
+ "TEST_REVOKEALL2");
securityService.getGroupManager().addGroup(fulcrumGroup2);
- Role fulcrumRole = securityService.getRoleManager().getRoleInstance("role1");
- Role fulcrumRole2 = securityService.getRoleManager().getRoleInstance("role2");
+ Role fulcrumRole =
+ securityService.getRoleManager().getRoleInstance("role1");
+ Role fulcrumRole2 =
+ securityService.getRoleManager().getRoleInstance("role2");
securityService.getRoleManager().addRole(fulcrumRole);
securityService.getRoleManager().addRole(fulcrumRole2);
- Permission fulcrumPermission = securityService.getPermissionManager().getPermissionInstance("perm1");
- Permission fulcrumPermission2 = securityService.getPermissionManager().getPermissionInstance("perm2");
- Permission fulcrumPermission3 = securityService.getPermissionManager().getPermissionInstance("perm3");
+ Permission fulcrumPermission =
+ securityService.getPermissionManager().getPermissionInstance(
+ "perm1");
+ Permission fulcrumPermission2 =
+ securityService.getPermissionManager().getPermissionInstance(
+ "perm2");
+ Permission fulcrumPermission3 =
+ securityService.getPermissionManager().getPermissionInstance(
+ "perm3");
securityService.getPermissionManager().addPermission(fulcrumPermission);
- securityService.getPermissionManager().addPermission(fulcrumPermission2);
- securityService.getPermissionManager().addPermission(fulcrumPermission3);
- DynamicModelManager modelManager = (DynamicModelManager)securityService.getModelManager();
- modelManager.grant(fulcrumRole, fulcrumPermission);
- modelManager.grant(fulcrumRole2, fulcrumPermission2);
- modelManager.grant(fulcrumRole2, fulcrumPermission3);
- modelManager.grant(fulcrumGroup, fulcrumRole);
- modelManager.grant(fulcrumGroup, fulcrumRole2);
- modelManager.grant(fulcrumGroup2, fulcrumRole2);
+ securityService.getPermissionManager().addPermission(
+ fulcrumPermission2);
+ securityService.getPermissionManager().addPermission(
+ fulcrumPermission3);
+ DynamicModelManager modelManager =
+ (DynamicModelManager) securityService.getModelManager();
+ modelManager.grant(fulcrumRole, fulcrumPermission);
+ modelManager.grant(fulcrumRole2, fulcrumPermission2);
+ modelManager.grant(fulcrumRole2, fulcrumPermission3);
+ modelManager.grant(fulcrumGroup, fulcrumRole);
+ modelManager.grant(fulcrumGroup, fulcrumRole2);
+ modelManager.grant(fulcrumGroup2, fulcrumRole2);
org.apache.fulcrum.security.entity.User fulcrumUser =
securityService.getUserManager().getUserInstance("Jeannie");
- fulcrumUser = securityService.getUserManager().addUser(fulcrumUser, "wyatt");
- modelManager.grant(fulcrumUser, fulcrumGroup);
- modelManager.grant(fulcrumUser, fulcrumGroup2);
+ fulcrumUser =
+ securityService.getUserManager().addUser(fulcrumUser, "wyatt");
+ modelManager.grant(fulcrumUser, fulcrumGroup);
+ modelManager.grant(fulcrumUser, fulcrumGroup2);
assertEquals(2, ((DynamicUser) fulcrumUser).getGroups().size());
GroupSet groupSet = TurbineSecurity.getService().getAllGroups();
assertEquals(2, groupSet.size());
RoleSet roleSet = TurbineSecurity.getService().getAllRoles();
assertEquals(2, roleSet.size());
- PermissionSet permissionSet = TurbineSecurity.getService().getAllPermissions();
+ PermissionSet permissionSet =
+ TurbineSecurity.getService().getAllPermissions();
assertEquals(3, permissionSet.size());
User turbineUser = TurbineSecurity.getService().getUser("Jeannie");
- AccessControlList acl = TurbineSecurity.getService().getACL(turbineUser);
+ AccessControlList acl =
+ TurbineSecurity.getService().getACL(turbineUser);
assertNotNull(acl);
assertEquals(3, acl.getPermissions().size());
MockHttpSession session = new MockHttpSession();
@@ -182,34 +193,40 @@
assertNotNull(turbineUser);
assertFalse(TurbineSecurity.getService().isAnonymousUser(turbineUser));
}
- private User getUserFromRunData(HttpSession session) throws Exception
+
+ public void testHasRole() throws Exception
{
- RunDataService rds = (RunDataService) TurbineServices.getInstance().getService(RunDataService.SERVICE_NAME);
- BetterMockHttpServletRequest request = new BetterMockHttpServletRequest();
- request.setupServerName("bob");
- request.setupGetProtocol("http");
- request.setupScheme("scheme");
- request.setupPathInfo("damn");
- request.setupGetServletPath("damn2");
- request.setupGetContextPath("wow");
- request.setupGetContentType("html/text");
- request.setupAddHeader("Content-type", "html/text");
- Vector v = new Vector();
- request.setupGetParameterNames(v.elements());
- request.setSession(session);
- HttpServletResponse response = new MockHttpServletResponse();
- ServletConfig config = new MockServletConfig();
- RunData rd = rds.getRunData(request, response, config);
- SessionValidator sessionValidator = new DefaultSessionValidator();
- sessionValidator.doPerform(rd);
- User turbineUser = rd.getUser();
+
+ BaseSecurityService securityService =
+ (BaseSecurityService) acs.lookup(BaseSecurityService.ROLE);
+ Group fulcrumGroup =
+ securityService.getGroupManager().getGroupInstance("TEST_GROUP");
+ Role fulcrumRole =
+ securityService.getRoleManager().getRoleInstance("TEST_ROLE");
+ org.apache.fulcrum.security.entity.User fulcrumUser =
+ securityService.getUserManager().getUserInstance("Mike");
+
+ securityService.getGroupManager().addGroup(fulcrumGroup);
+ securityService.getRoleManager().addRole(fulcrumRole);
+ fulcrumUser =
+ securityService.getUserManager().addUser(fulcrumUser, "wyatt");
+
+ DynamicModelManager modelManager =
+ (DynamicModelManager) securityService.getModelManager();
+ modelManager.grant(fulcrumGroup, fulcrumRole);
+ modelManager.grant(fulcrumUser, fulcrumGroup);
+
+ User turbineUser = TurbineSecurity.getService().getUser("Mike");
+
+ MockHttpSession session = new MockHttpSession();
+ session.setupGetAttribute(User.SESSION_KEY, turbineUser);
+ turbineUser = getUserFromRunData(session);
assertNotNull(turbineUser);
- return turbineUser;
- }
- public void tearDown()
- {
- ServiceManager serviceManager = TurbineServices.getInstance();
- serviceManager.shutdownService(SecurityService.SERVICE_NAME);
- serviceManager.shutdownServices();
+ assertFalse(TurbineSecurity.getService().isAnonymousUser(turbineUser));
+ AccessControlList acl =
+ TurbineSecurity.getService().getACL(turbineUser);
+ assertTrue(acl.hasRole("TEST_ROLE"));
+
}
+
}
1.2 +3 -1 jakarta-turbine-fulcrum/security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine/SecurityServiceAdaptorTest.java
Index: SecurityServiceAdaptorTest.java
===================================================================
RCS file: /home/cvs/jakarta-turbine-fulcrum/security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine/SecurityServiceAdaptorTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- SecurityServiceAdaptorTest.java 5 Dec 2003 23:33:16 -0000 1.1
+++ SecurityServiceAdaptorTest.java 10 Dec 2003 23:21:12 -0000 1.2
@@ -111,4 +111,6 @@
serviceManager.shutdownService(SecurityService.SERVICE_NAME);
serviceManager.shutdownServices();
}
+
+
}
1.1 jakarta-turbine-fulcrum/security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine/AbstractAccessControlListAdaptorTest.java
Index: AbstractAccessControlListAdaptorTest.java
===================================================================
package org.apache.fulcrum.security.adapter.turbine;
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Turbine" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Turbine", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
import java.util.Vector;
import javax.servlet.ServletConfig;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.fulcrum.testcontainer.BaseUnitTest;
import org.apache.turbine.modules.actions.sessionvalidator.DefaultSessionValidator;
import org.apache.turbine.modules.actions.sessionvalidator.SessionValidator;
import org.apache.turbine.om.security.User;
import org.apache.turbine.services.ServiceManager;
import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.services.avaloncomponent.AvalonComponentService;
import org.apache.turbine.services.rundata.RunDataService;
import org.apache.turbine.services.security.SecurityService;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.TurbineConfig;
import com.mockobjects.servlet.MockHttpServletResponse;
import com.mockobjects.servlet.MockHttpSession;
import com.mockobjects.servlet.MockServletConfig;
/**
* Test that we can load up a fulcrum ACL in Turbine, without Turbine
* knowing that anything has changed.
*
* @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
* @version $Id: AbstractAccessControlListAdaptorTest.java,v 1.1 2003/12/10 23:21:12 epugh Exp $
*/
public abstract class AbstractAccessControlListAdaptorTest extends BaseUnitTest
{
protected static final String PREFIX =
"services." + SecurityService.SERVICE_NAME + '.';
protected TurbineConfig tc;
protected MockHttpSession session;
protected AvalonComponentService acs;
public abstract String getTRProps();
public AbstractAccessControlListAdaptorTest(String name) throws Exception
{
super(name);
}
public void setUp() throws Exception
{
super.setUp();
tc =
new TurbineConfig(
".",
"/src/test/"+getTRProps());
tc.initialize();
session = new MockHttpSession();
acs =
(AvalonComponentService) TurbineServices.getInstance().getService(
AvalonComponentService.SERVICE_NAME);
}
protected User getUserFromRunData(HttpSession session) throws Exception
{
RunDataService rds =
(RunDataService) TurbineServices.getInstance().getService(
RunDataService.SERVICE_NAME);
BetterMockHttpServletRequest request =
new BetterMockHttpServletRequest();
request.setupServerName("bob");
request.setupGetProtocol("http");
request.setupScheme("scheme");
request.setupPathInfo("damn");
request.setupGetServletPath("damn2");
request.setupGetContextPath("wow");
request.setupGetContentType("html/text");
request.setupAddHeader("Content-type", "html/text");
Vector v = new Vector();
request.setupGetParameterNames(v.elements());
request.setSession(session);
HttpServletResponse response = new MockHttpServletResponse();
ServletConfig config = new MockServletConfig();
RunData rd = rds.getRunData(request, response, config);
SessionValidator sessionValidator = new DefaultSessionValidator();
sessionValidator.doPerform(rd);
User turbineUser = rd.getUser();
assertNotNull(turbineUser);
return turbineUser;
}
public void tearDown()
{
super.tearDown();
ServiceManager serviceManager = TurbineServices.getInstance();
serviceManager.shutdownService(SecurityService.SERVICE_NAME);
serviceManager.shutdownServices();
}
}
1.1 jakarta-turbine-fulcrum/security/adapters/turbine/src/test/org/apache/fulcrum/security/adapter/turbine/AccessControlListAdaptorBasicModelTest.java
Index: AccessControlListAdaptorBasicModelTest.java
===================================================================
package org.apache.fulcrum.security.adapter.turbine;
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Apache Turbine" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Apache Turbine", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
import org.apache.fulcrum.security.BaseSecurityService;
import org.apache.fulcrum.security.entity.Group;
import org.apache.fulcrum.security.model.basic.BasicModelManager;
import org.apache.turbine.om.security.User;
import org.apache.turbine.services.security.TurbineSecurity;
import org.apache.turbine.util.security.AccessControlList;
import com.mockobjects.servlet.MockHttpSession;
/**
* Test that we can load up a fulcrum ACL in Turbine, without Turbine
* knowing that anything has changed.
*
* @author <a href="mailto:epugh@upstate.com">Eric Pugh</a>
* @version $Id: AccessControlListAdaptorBasicModelTest.java,v 1.1 2003/12/10 23:21:12 epugh Exp $
*/
public class AccessControlListAdaptorBasicModelTest
extends AbstractAccessControlListAdaptorTest
{
public String getTRProps(){
return "AdapterTestTurbineResourcesBasicModel.properties";
}
public AccessControlListAdaptorBasicModelTest(String name) throws Exception
{
super(name);
}
public void testHasRoleBasic() throws Exception
{
BaseSecurityService securityService =
(BaseSecurityService) acs.lookup(BaseSecurityService.ROLE);
Group fulcrumGroup =
securityService.getGroupManager().getGroupInstance(
"TEST_GROUP_BASIC_MODEL");
org.apache.fulcrum.security.entity.User fulcrumUser =
securityService.getUserManager().getUserInstance("MikeFitz");
securityService.getGroupManager().addGroup(fulcrumGroup);
fulcrumUser =
securityService.getUserManager().addUser(fulcrumUser, "relana");
System.out.println(
securityService.getModelManager().getClass().getName());
BasicModelManager modelManager =
(BasicModelManager) securityService.getModelManager();
modelManager.grant(fulcrumUser, fulcrumGroup);
User turbineUser = TurbineSecurity.getService().getUser("MikeFitz");
MockHttpSession session = new MockHttpSession();
session.setupGetAttribute(User.SESSION_KEY, turbineUser);
turbineUser = getUserFromRunData(session);
assertNotNull(turbineUser);
assertFalse(TurbineSecurity.getService().isAnonymousUser(turbineUser));
AccessControlList acl =
TurbineSecurity.getService().getACL(turbineUser);
assertTrue(acl.hasRole("TEST_GROUP_BASIC_MODEL"));
}
}
1.1 jakarta-turbine-fulcrum/security/adapters/turbine/src/test/roleTurbineConfigurationBasicModel.xml
Index: roleTurbineConfigurationBasicModel.xml
===================================================================
<!-- This configuration file for Avalon components is used for testing the adapter
classes for Turbine. -->
<role-list>
<role name="org.apache.fulcrum.security.SecurityService"
shorthand="securityService"
default-class="org.apache.fulcrum.security.BaseSecurityService" />
<role name="org.apache.fulcrum.security.UserManager"
shorthand="userManager"
default-class="org.apache.fulcrum.security.memory.MemoryUserManagerImpl" />
<role name="org.apache.fulcrum.security.GroupManager"
shorthand="groupManager"
default-class="org.apache.fulcrum.security.memory.MemoryGroupManagerImpl" />
<role name="org.apache.fulcrum.security.ModelManager"
shorthand="modelManager"
default-class="org.apache.fulcrum.security.memory.basic.MemoryModelManagerImpl" />
<role name="org.apache.fulcrum.security.model.ACLFactory"
shorthand="aclFactory"
default-class="org.apache.fulcrum.security.model.basic.BasicACLFactory" />
</role-list>
1.1 jakarta-turbine-fulcrum/security/adapters/turbine/src/test/componentTurbineConfigurationBasicModel.xml
Index: componentTurbineConfigurationBasicModel.xml
===================================================================
<!-- This configuration file for Avalon components is used for testing the adapter
classes for Dynamic. -->
<componentConfig>
<securityService/>
<userManager>
<className>org.apache.fulcrum.security.model.basic.entity.BasicUser</className>
</userManager>
<groupManager>
<className>org.apache.fulcrum.security.model.basic.entity.BasicGroup</className>
</groupManager>
<modelManager/>
<aclFactory/>
</componentConfig>
1.1 jakarta-turbine-fulcrum/security/adapters/turbine/src/test/AdapterTestTurbineResourcesBasicModel.properties
Index: AdapterTestTurbineResourcesBasicModel.properties
===================================================================
# This file is used with the roleTurbineConfiguration.xml and componentTurbineConfiguration
# to test the Turbine Security <--> Fulcrum Security Adapter.
log4j.file = src/test/Log4j.properties
services.AvalonComponentService.classname=org.apache.turbine.services.avaloncomponent.TurbineAvalonComponentService
services.FactoryService.classname=org.apache.turbine.services.factory.TurbineFactoryService
services.PoolService.classname=org.apache.turbine.services.pool.TurbinePoolService
services.RunDataService.classname=org.apache.turbine.services.rundata.TurbineRunDataService
services.ServletService.classname=org.apache.turbine.services.servlet.TurbineServletService
services.AssemblerBrokerService.classname=org.apache.turbine.services.assemblerbroker.TurbineAssemblerBrokerService
services.SecurityService.classname=org.apache.fulcrum.security.adapter.turbine.SecurityServiceAdapter
services.RunDataService.default.run.data=org.apache.turbine.services.rundata.DefaultTurbineRunData
services.RunDataService.default.parameter.parser=org.apache.turbine.util.parser.DefaultParameterParser
services.RunDataService.default.cookie.parser=org.apache.turbine.util.parser.DefaultCookieParser
# -------------------------------------------------------------------
#
# S E C U R I T Y S E R V I C E
#
# -------------------------------------------------------------------
#
# This is the class that implements the UserManager interface to
# manage User objects. Default is the UserManager from the
# DBSecurityService.
# Override this setting if you want your User information stored
# on a different medium (LDAP directory is a good example).
#
# Adjust this setting if you change the Setting of the SecurityService class (see above).
#
# Notice there are no properties called
# services.SecurityService.user.class,
# services.SecurityService.group.class,
# services.SecurityService.user.manager etc...
# This is because we don't specify the class through here, but through the avalon configuration.
#
# We do provide an adapter howevuer
services.SecurityService.acl.class = org.apache.fulcrum.security.adapter.turbine.AccessControlListAdapter
services.AvalonComponentService.componentConfiguration = src/test/componentTurbineConfigurationBasicModel.xml
services.AvalonComponentService.componentRoles = src/test/roleTurbineConfigurationBasicModel.xml
---------------------------------------------------------------------
To unsubscribe, e-mail: turbine-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: turbine-dev-help@jakarta.apache.org