From: <fc...@us...> - 2008-02-20 15:30:56
|
Revision: 664 http://openutils.svn.sourceforge.net/openutils/?rev=664&view=rev Author: fcarone Date: 2008-02-20 07:30:58 -0800 (Wed, 20 Feb 2008) Log Message: ----------- More tests added for new features. Modified Paths: -------------- trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/SecurityIntegrationTest.java trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManager.java trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManagerImpl.java trunk/openutils-hibernate-security/src/test/resources/spring-managers.xml trunk/openutils-hibernate-security/src/test/resources/spring-security.xml Modified: trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/SecurityIntegrationTest.java =================================================================== --- trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/SecurityIntegrationTest.java 2008-02-20 15:30:24 UTC (rev 663) +++ trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/SecurityIntegrationTest.java 2008-02-20 15:30:58 UTC (rev 664) @@ -267,9 +267,41 @@ ((AOPSecurity) applicationContext.getBean("securityAspect")).setEnabled(true); } + /** + * @throws Exception Any exception + */ + @Test + public void testFindAll() throws Exception + { + authenticate("UserUno", "password"); + List<DummyDataobject> result = dummyObjectManager.findAll(); + Assert.assertEquals(1, result.size()); + Assert.assertEquals(1, result.get(0).getIntValue().intValue()); + } + /** + * @throws Exception Any exception + */ + @Test + public void testLoadOk() throws Exception + { + authenticate("UserUno", "password"); + DummyDataobject result = dummyObjectManager.load(1L); + Assert.assertNotNull(result); + Assert.assertEquals(1, result.getIntValue().intValue()); + } /** + * @throws Exception Any exception + */ + @Test(expected = AccessDeniedException.class) + public void testLoadNonOk() throws Exception + { + authenticate("UserUno", "password"); + dummyObjectManager.load(0L); + } + + /** * Sets the securedObject. * @param securedObject the securedObject to set */ Modified: trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManager.java =================================================================== --- trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManager.java 2008-02-20 15:30:24 UTC (rev 663) +++ trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManager.java 2008-02-20 15:30:58 UTC (rev 664) @@ -3,7 +3,9 @@ */ package it.openutils.hibernate.security.apptest; +import java.util.List; + /** * @author fcarone * @version $Id: $ @@ -16,4 +18,8 @@ public void delete(DummyDataobject ddo); + public List<DummyDataobject> findAll(); + + DummyDataobject load(Long id); + } Modified: trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManagerImpl.java =================================================================== --- trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManagerImpl.java 2008-02-20 15:30:24 UTC (rev 663) +++ trunk/openutils-hibernate-security/src/test/java/it/openutils/hibernate/security/apptest/DummyObjectManagerImpl.java 2008-02-20 15:30:58 UTC (rev 664) @@ -3,7 +3,9 @@ */ package it.openutils.hibernate.security.apptest; +import java.util.List; + /** * @author fcarone * @version $Id: $ @@ -11,6 +13,8 @@ public class DummyObjectManagerImpl implements DummyObjectManager { + private DummyDAO dummyDAO; + /** * {@inheritDoc} */ @@ -38,4 +42,30 @@ } + /** + * {@inheritDoc} + */ + public DummyDataobject load(Long id) + { + return dummyDAO.load(id); + } + + /** + * {@inheritDoc} + */ + public List<DummyDataobject> findAll() + { + return dummyDAO.findAll(); + } + + + /** + * Sets the dummyDAO. + * @param dummyDAO the dummyDAO to set + */ + public void setDummyDAO(DummyDAO dummyDAO) + { + this.dummyDAO = dummyDAO; + } + } Modified: trunk/openutils-hibernate-security/src/test/resources/spring-managers.xml =================================================================== --- trunk/openutils-hibernate-security/src/test/resources/spring-managers.xml 2008-02-20 15:30:24 UTC (rev 663) +++ trunk/openutils-hibernate-security/src/test/resources/spring-managers.xml 2008-02-20 15:30:58 UTC (rev 664) @@ -2,6 +2,7 @@ xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd"> + <bean id="securityRuleManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> @@ -15,6 +16,7 @@ <bean class="it.openutils.hibernate.security.services.impl.SecurityRuleManagerImpl" autowire="byType"></bean> </property> </bean> + <bean id="dummyObjectManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> @@ -25,9 +27,12 @@ </props> </property> <property name="target"> - <bean class="it.openutils.hibernate.security.apptest.DummyObjectManagerImpl" /> + <bean class="it.openutils.hibernate.security.apptest.DummyObjectManagerImpl"> + <property name="dummyDAO" ref="dummyDAO" /> + </bean> </property> </bean> + <bean id="userManager" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <property name="transactionManager"> <ref bean="transactionManager" /> Modified: trunk/openutils-hibernate-security/src/test/resources/spring-security.xml =================================================================== --- trunk/openutils-hibernate-security/src/test/resources/spring-security.xml 2008-02-20 15:30:24 UTC (rev 663) +++ trunk/openutils-hibernate-security/src/test/resources/spring-security.xml 2008-02-20 15:30:58 UTC (rev 664) @@ -33,10 +33,16 @@ <bean id="roleVoter" class="org.acegisecurity.vote.RoleVoter" /> + <bean id="authenticatedVoter" class="org.acegisecurity.vote.AuthenticatedVoter" /> + <bean id="securityRuleVoter" class="it.openutils.hibernate.security.filter.SecurityRuleAccessDecisionVoter"> <property name="securityRuleManager" ref="securityRuleManager" /> </bean> + <bean id="securityRuleAfterInvocationHandler" class="it.openutils.hibernate.security.filter.SecurityRuleAfterInvocationHandler"> + <property name="securityRuleManager" ref="securityRuleManager" /> + </bean> + <bean id="accessDecisionManager" class="org.acegisecurity.vote.UnanimousBased"> <property name="allowIfAllAbstainDecisions" value="false" /> <property name="decisionVoters"> @@ -47,7 +53,25 @@ </property> </bean> - <bean id="securityInterceptor" class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor"> + <bean id="afterAccessDecisionManager" class="org.acegisecurity.vote.UnanimousBased"> + <property name="allowIfAllAbstainDecisions" value="false" /> + <property name="decisionVoters"> + <list> + <ref bean="authenticatedVoter" /> + </list> + </property> + </bean> + + + <bean id="afterInvocationManager" class="org.acegisecurity.afterinvocation.AfterInvocationProviderManager"> + <property name="providers"> + <list> + <ref bean="securityRuleAfterInvocationHandler" /> + </list> + </property> + </bean> + + <bean id="beforeSecurityInterceptor" class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor"> <property name="authenticationManager" ref="authenticationManager" /> <property name="accessDecisionManager" ref="accessDecisionManager" /> <property name="objectDefinitionSource"> @@ -59,6 +83,18 @@ </property> </bean> + <bean id="afterSecurityInterceptor" class="org.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor"> + <property name="accessDecisionManager" ref="afterAccessDecisionManager" /> + <property name="authenticationManager" ref="authenticationManager" /> + <property name="afterInvocationManager" ref="afterInvocationManager" /> + <property name="objectDefinitionSource"> + <value> + it.openutils.hibernate.security.apptest.DummyObjectManager.findAll=LOAD,IS_AUTHENTICATED_ANONYMOUSLY + it.openutils.hibernate.security.apptest.DummyObjectManager.load=LOAD,IS_AUTHENTICATED_ANONYMOUSLY + </value> + </property> + </bean> + <bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator"> <property name="beanNames"> <list> @@ -67,7 +103,8 @@ </property> <property name="interceptorNames"> <list> - <value>securityInterceptor</value> + <value>beforeSecurityInterceptor</value> + <value>afterSecurityInterceptor</value> </list> </property> </bean> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |