diff --git a/core/src/test/java/org/springframework/security/AbstractAuthenticationManagerTests.java b/core/src/test/java/org/springframework/security/AbstractAuthenticationManagerTests.java deleted file mode 100644 index 1b19284323..0000000000 --- a/core/src/test/java/org/springframework/security/AbstractAuthenticationManagerTests.java +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.springframework.security; - -import junit.framework.TestCase; - -import org.springframework.security.providers.TestingAuthenticationToken; - - -/** - * Tests {@link AbstractAuthenticationManager}. - * - * @author Luke Taylor - * @version $Id$ - */ -public class AbstractAuthenticationManagerTests extends TestCase { - //~ Constructors =================================================================================================== - - public AbstractAuthenticationManagerTests() { - super(); - } - - public AbstractAuthenticationManagerTests(String arg0) { - super(arg0); - } - - //~ Methods ======================================================================================================== - - /** - * Creates an AuthenticationManager which will return a token with the given details object set on it. - * - * @param resultDetails DOCUMENT ME! - * - * @return DOCUMENT ME! - */ - private AuthenticationManager createAuthenticationManager(final Object resultDetails) { - return new AbstractAuthenticationManager() { - protected Authentication doAuthentication(Authentication authentication) - throws AuthenticationException { - TestingAuthenticationToken token = createAuthenticationToken(); - token.setDetails(resultDetails); - - return token; - } - }; - } - - private TestingAuthenticationToken createAuthenticationToken() { - return new TestingAuthenticationToken("name", "password", new GrantedAuthorityImpl[0]); - } - - public void testDetailsAreNotSetOnAuthenticationTokenIfAlreadySetByProvider() { - Object requestDetails = new String("(Request Details)"); - Object resultDetails = new String("(Result Details)"); - AuthenticationManager authMgr = createAuthenticationManager(resultDetails); - - TestingAuthenticationToken request = createAuthenticationToken(); - request.setDetails(requestDetails); - - Authentication result = authMgr.authenticate(request); - assertEquals(resultDetails, result.getDetails()); - } - - public void testDetailsAreSetOnAuthenticationTokenIfNotAlreadySetByProvider() { - AuthenticationManager authMgr = createAuthenticationManager(null); - Object details = new Object(); - - TestingAuthenticationToken request = createAuthenticationToken(); - request.setDetails(details); - - Authentication result = authMgr.authenticate(request); - assertEquals(details, result.getDetails()); - } -} diff --git a/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java b/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java index 7c74da347a..0a979a73de 100644 --- a/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java +++ b/core/src/test/java/org/springframework/security/providers/ProviderManagerTests.java @@ -15,20 +15,19 @@ package org.springframework.security.providers; -import junit.framework.TestCase; - import org.springframework.security.Authentication; import org.springframework.security.AuthenticationException; import org.springframework.security.AuthenticationServiceException; import org.springframework.security.GrantedAuthority; import org.springframework.security.GrantedAuthorityImpl; - import org.springframework.security.concurrent.ConcurrentSessionControllerImpl; import org.springframework.security.concurrent.NullConcurrentSessionController; - import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationEventPublisher; +import junit.framework.TestCase; + +import java.util.Arrays; import java.util.List; import java.util.Vector; @@ -43,7 +42,6 @@ public class ProviderManagerTests extends TestCase { //~ Constructors =================================================================================================== public ProviderManagerTests() { - super(); } public ProviderManagerTests(String arg0) { @@ -52,10 +50,6 @@ public class ProviderManagerTests extends TestCase { //~ Methods ======================================================================================================== - public static void main(String[] args) { - junit.textui.TestRunner.run(ProviderManagerTests.class); - } - private ProviderManager makeProviderManager() throws Exception { MockProvider provider1 = new MockProvider(); List providers = new Vector(); @@ -82,10 +76,6 @@ public class ProviderManagerTests extends TestCase { return mgr; } - public final void setUp() throws Exception { - super.setUp(); - } - public void testAuthenticationFails() throws Exception { UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test", "Password", new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); @@ -141,8 +131,7 @@ public class ProviderManagerTests extends TestCase { assertEquals("ROLE_TWO", castResult.getAuthorities()[1].getAuthority()); } - public void testConcurrentSessionControllerConfiguration() - throws Exception { + public void testConcurrentSessionControllerConfiguration() throws Exception { ProviderManager target = new ProviderManager(); //The NullConcurrentSessionController should be the default @@ -154,8 +143,7 @@ public class ProviderManagerTests extends TestCase { assertEquals(impl, target.getSessionController()); } - public void testStartupFailsIfProviderListDoesNotContainingProviders() - throws Exception { + public void testStartupFailsIfProviderListDoesNotContainingProviders() throws Exception { List providers = new Vector(); providers.add("THIS_IS_NOT_A_PROVIDER"); @@ -169,8 +157,7 @@ public class ProviderManagerTests extends TestCase { } } - public void testStartupFailsIfProviderListNotSet() - throws Exception { + public void testStartupFailsIfProviderListNotSet() throws Exception { ProviderManager mgr = new ProviderManager(); try { @@ -199,6 +186,46 @@ public class ProviderManagerTests extends TestCase { assertEquals(1, mgr.getProviders().size()); } + public void testDetailsAreNotSetOnAuthenticationTokenIfAlreadySetByProvider() throws Exception { + Object requestDetails = new String("(Request Details)"); + final Object resultDetails = new String("(Result Details)"); + ProviderManager authMgr = makeProviderManager(); + + AuthenticationProvider provider = new AuthenticationProvider() { + public Authentication authenticate(Authentication authentication) throws AuthenticationException { + ((TestingAuthenticationToken)authentication).setDetails(resultDetails); + return authentication; + } + + public boolean supports(Class authentication) { + return true; + } + }; + + authMgr.setProviders(Arrays.asList(new AuthenticationProvider[] {provider})); + + TestingAuthenticationToken request = createAuthenticationToken(); + request.setDetails(requestDetails); + + Authentication result = authMgr.authenticate(request); + assertEquals(resultDetails, result.getDetails()); + } + + public void testDetailsAreSetOnAuthenticationTokenIfNotAlreadySetByProvider() throws Exception { + Object details = new Object(); + ProviderManager authMgr = makeProviderManager(); + + TestingAuthenticationToken request = createAuthenticationToken(); + request.setDetails(details); + + Authentication result = authMgr.authenticate(request); + assertEquals(details, result.getDetails()); + } + + private TestingAuthenticationToken createAuthenticationToken() { + return new TestingAuthenticationToken("name", "password", new GrantedAuthorityImpl[0]); + } + //~ Inner Classes ================================================================================================== private class MockApplicationEventPublisher implements ApplicationEventPublisher { @@ -209,15 +236,14 @@ public class ProviderManagerTests extends TestCase { } public void publishEvent(ApplicationEvent event) { - if (expectedEvent == false) { + if (!expectedEvent) { throw new IllegalStateException("The ApplicationEventPublisher did not expect to receive this event"); } } } private class MockProvider implements AuthenticationProvider { - public Authentication authenticate(Authentication authentication) - throws AuthenticationException { + public Authentication authenticate(Authentication authentication) throws AuthenticationException { if (supports(authentication.getClass())) { return authentication; } else { @@ -235,8 +261,7 @@ public class ProviderManagerTests extends TestCase { } private class MockProviderWhichReturnsNull implements AuthenticationProvider { - public Authentication authenticate(Authentication authentication) - throws AuthenticationException { + public Authentication authenticate(Authentication authentication) throws AuthenticationException { if (supports(authentication.getClass())) { return null; } else {