From e891b334e6eae90698a1b0969a41cb8f0e8e62c1 Mon Sep 17 00:00:00 2001 From: Luke Taylor Date: Thu, 30 Oct 2008 05:45:13 +0000 Subject: [PATCH] SEC-1009: removed additional container adapter specific code --- ...stractAdapterAuthenticationTokenTests.java | 131 ----------------- .../security/adapters/AuthByAdapterTests.java | 133 ------------------ .../HttpRequestIntegrationFilterTests.java | 104 -------------- .../security/adapters/MockPrincipal.java | 33 ----- ...PrincipalSpringSecurityUserTokenTests.java | 62 -------- 5 files changed, 463 deletions(-) delete mode 100644 core/src/test/java/org/springframework/security/adapters/AbstractAdapterAuthenticationTokenTests.java delete mode 100644 core/src/test/java/org/springframework/security/adapters/AuthByAdapterTests.java delete mode 100644 core/src/test/java/org/springframework/security/adapters/HttpRequestIntegrationFilterTests.java delete mode 100644 core/src/test/java/org/springframework/security/adapters/MockPrincipal.java delete mode 100644 core/src/test/java/org/springframework/security/adapters/PrincipalSpringSecurityUserTokenTests.java diff --git a/core/src/test/java/org/springframework/security/adapters/AbstractAdapterAuthenticationTokenTests.java b/core/src/test/java/org/springframework/security/adapters/AbstractAdapterAuthenticationTokenTests.java deleted file mode 100644 index 56e84e0bdc..0000000000 --- a/core/src/test/java/org/springframework/security/adapters/AbstractAdapterAuthenticationTokenTests.java +++ /dev/null @@ -1,131 +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.adapters; - -import junit.framework.TestCase; - -import org.springframework.security.GrantedAuthority; -import org.springframework.security.GrantedAuthorityImpl; - - -/** - * Tests {@link AbstractAdapterAuthenticationToken}. - * - * @author Ben Alex - * @version $Id$ - */ -public class AbstractAdapterAuthenticationTokenTests extends TestCase { - //~ Constructors =================================================================================================== - - public AbstractAdapterAuthenticationTokenTests() { - super(); - } - - public AbstractAdapterAuthenticationTokenTests(String arg0) { - super(arg0); - } - - //~ Methods ======================================================================================================== - - public static void main(String[] args) { - junit.textui.TestRunner.run(AbstractAdapterAuthenticationTokenTests.class); - } - - public final void setUp() throws Exception { - super.setUp(); - } - - public void testGetters() throws Exception { - MockDecisionManagerImpl token = new MockDecisionManagerImpl("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - assertEquals("Test", token.getPrincipal()); - assertEquals("Password", token.getCredentials()); - assertEquals("my_password".hashCode(), token.getKeyHash()); - } - - public void testIsUserInRole() throws Exception { - MockDecisionManagerImpl token = new MockDecisionManagerImpl("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - assertTrue(token.isUserInRole("ROLE_ONE")); - assertTrue(token.isUserInRole("ROLE_TWO")); - assertTrue(!token.isUserInRole("")); - assertTrue(!token.isUserInRole("ROLE_ONE ")); - assertTrue(!token.isUserInRole("role_one")); - assertTrue(!token.isUserInRole("ROLE_XXXX")); - } - - public void testObjectsEquals() throws Exception { - MockDecisionManagerImpl token1 = new MockDecisionManagerImpl("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - MockDecisionManagerImpl token2 = new MockDecisionManagerImpl("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - assertEquals(token1, token2); - - MockDecisionManagerImpl token3 = new MockDecisionManagerImpl("my_password", "Test", "Password_Changed", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - assertTrue(!token1.equals(token3)); - - MockDecisionManagerImpl token4 = new MockDecisionManagerImpl("my_password", "Test_Changed", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - assertTrue(!token1.equals(token4)); - - MockDecisionManagerImpl token5 = new MockDecisionManagerImpl("password_changed", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - assertTrue(!token1.equals(token5)); - - MockDecisionManagerImpl token6 = new MockDecisionManagerImpl("my_password", "Test", "Password", - new GrantedAuthority[] { - new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO_CHANGED") - }); - assertTrue(!token1.equals(token6)); - - MockDecisionManagerImpl token7 = new MockDecisionManagerImpl("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE")}); - assertTrue(!token1.equals(token7)); - - assertTrue(!token1.equals(new Integer(100))); - } - - public void testSetAuthenticatedAlwaysReturnsTrue() - throws Exception { - MockDecisionManagerImpl token = new MockDecisionManagerImpl("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}); - assertTrue(token.isAuthenticated()); - token.setAuthenticated(false); - assertTrue(token.isAuthenticated()); - } - - //~ Inner Classes ================================================================================================== - - private class MockDecisionManagerImpl extends AbstractAdapterAuthenticationToken { - private String password; - private String username; - - public MockDecisionManagerImpl(String key, String username, String password, GrantedAuthority[] authorities) { - super(key, authorities); - this.username = username; - this.password = password; - } - - public Object getCredentials() { - return this.password; - } - - public Object getPrincipal() { - return this.username; - } - } -} diff --git a/core/src/test/java/org/springframework/security/adapters/AuthByAdapterTests.java b/core/src/test/java/org/springframework/security/adapters/AuthByAdapterTests.java deleted file mode 100644 index 954a8c90a0..0000000000 --- a/core/src/test/java/org/springframework/security/adapters/AuthByAdapterTests.java +++ /dev/null @@ -1,133 +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.adapters; - -import junit.framework.TestCase; - -import org.springframework.security.Authentication; -import org.springframework.security.BadCredentialsException; -import org.springframework.security.GrantedAuthority; -import org.springframework.security.GrantedAuthorityImpl; - -import org.springframework.security.providers.UsernamePasswordAuthenticationToken; - -import java.util.Arrays; - - -/** - * Tests {@link AuthByAdapterProvider} - * - * @author Ben Alex - * @version $Id$ - */ -public class AuthByAdapterTests extends TestCase { - //~ Constructors =================================================================================================== - - public AuthByAdapterTests() { - super(); - } - - public AuthByAdapterTests(String arg0) { - super(arg0); - } - - //~ Methods ======================================================================================================== - - public static void main(String[] args) { - junit.textui.TestRunner.run(AuthByAdapterTests.class); - } - - public final void setUp() throws Exception { - super.setUp(); - } - - public void testAuthByAdapterProviderCorrectAuthenticationOperation() - throws Exception { - AuthByAdapterProvider provider = new AuthByAdapterProvider(); - provider.setKey("my_password"); - - PrincipalSpringSecurityUserToken token = new PrincipalSpringSecurityUserToken("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}, - null); - assertTrue(provider.supports(token.getClass())); - - Authentication response = provider.authenticate(token); - assertTrue(true); - - assertEquals(token.getCredentials(), response.getCredentials()); - assertEquals(token.getPrincipal(), response.getPrincipal()); - assertTrue(Arrays.equals(token.getAuthorities(), response.getAuthorities())); - - if (!response.getClass().equals(token.getClass())) { - fail("Should have returned same type of object it was given"); - } - - PrincipalSpringSecurityUserToken castResponse = (PrincipalSpringSecurityUserToken) response; - assertEquals(token.getName(), castResponse.getName()); - } - - public void testAuthByAdapterProviderNonAuthenticationMethods() - throws Exception { - AuthByAdapterProvider provider = new AuthByAdapterProvider(); - - try { - provider.afterPropertiesSet(); - fail("Should have thrown IllegalArgumentException as key not set"); - } catch (IllegalArgumentException expected) { - assertTrue(true); - } - - provider.setKey("my_password"); - provider.afterPropertiesSet(); - assertTrue(true); - - assertEquals("my_password", provider.getKey()); - } - - public void testAuthByAdapterProviderOnlyAcceptsAuthByAdapterImplementations() - throws Exception { - AuthByAdapterProvider provider = new AuthByAdapterProvider(); - provider.setKey("my_password"); - - // Should fail as UsernamePassword is not interface of AuthByAdapter - UsernamePasswordAuthenticationToken token = new UsernamePasswordAuthenticationToken("Test", "Password"); - - assertTrue(!provider.supports(token.getClass())); - - try { - provider.authenticate(token); - fail("Should have thrown ClassCastException (supports() false response was ignored)"); - } catch (ClassCastException expected) { - assertTrue(true); - } - } - - public void testAuthByAdapterProviderRequiresCorrectKey() - throws Exception { - AuthByAdapterProvider provider = new AuthByAdapterProvider(); - provider.setKey("my_password"); - - // Should fail as PrincipalSpringSecurityUserToken has different key - PrincipalSpringSecurityUserToken token = new PrincipalSpringSecurityUserToken("wrong_password", "Test", "Password", null, null); - - try { - provider.authenticate(token); - fail("Should have thrown BadCredentialsException"); - } catch (BadCredentialsException expected) { - assertTrue(true); - } - } -} diff --git a/core/src/test/java/org/springframework/security/adapters/HttpRequestIntegrationFilterTests.java b/core/src/test/java/org/springframework/security/adapters/HttpRequestIntegrationFilterTests.java deleted file mode 100644 index 78ec99a873..0000000000 --- a/core/src/test/java/org/springframework/security/adapters/HttpRequestIntegrationFilterTests.java +++ /dev/null @@ -1,104 +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.adapters; - -import junit.framework.TestCase; - -import org.springframework.security.GrantedAuthority; -import org.springframework.security.GrantedAuthorityImpl; - -import org.springframework.security.context.SecurityContextHolder; - -import org.springframework.security.util.MockFilterChain; - -import org.springframework.mock.web.MockHttpServletRequest; -import org.springframework.mock.web.MockHttpServletResponse; - - -/** - * Tests {@link HttpRequestIntegrationFilter}. - * - * @author Ben Alex - * @version $Id$ - */ -public class HttpRequestIntegrationFilterTests extends TestCase { - //~ Constructors =================================================================================================== - - public HttpRequestIntegrationFilterTests() { - } - - public HttpRequestIntegrationFilterTests(String arg0) { - super(arg0); - } - - //~ Methods ======================================================================================================== - - protected void setUp() throws Exception { - super.setUp(); - SecurityContextHolder.clearContext(); - } - - protected void tearDown() throws Exception { - super.tearDown(); - SecurityContextHolder.clearContext(); - } - - public void testCorrectOperation() throws Exception { - HttpRequestIntegrationFilter filter = new HttpRequestIntegrationFilter(); - PrincipalSpringSecurityUserToken principal = new PrincipalSpringSecurityUserToken("key", "someone", "password", - new GrantedAuthority[] {new GrantedAuthorityImpl("SOME_ROLE")}, null); - - MockHttpServletRequest request = new MockHttpServletRequest(); - request.setUserPrincipal(principal); - - MockHttpServletResponse response = new MockHttpServletResponse(); - MockFilterChain chain = new MockFilterChain(true); - - filter.doFilter(request, response, chain); - - if (!(SecurityContextHolder.getContext().getAuthentication() instanceof PrincipalSpringSecurityUserToken)) { - System.out.println(SecurityContextHolder.getContext().getAuthentication()); - fail("Should have returned PrincipalSpringSecurityUserToken"); - } - - PrincipalSpringSecurityUserToken castResult = (PrincipalSpringSecurityUserToken) SecurityContextHolder.getContext() - .getAuthentication(); - assertEquals(principal, castResult); - } - - public void testHandlesIfHttpRequestIsNullForSomeReason() - throws Exception { - HttpRequestIntegrationFilter filter = new HttpRequestIntegrationFilter(); - - try { - filter.doFilter(null, null, null); - fail("Should have thrown IllegalArgumentException"); - } catch (IllegalArgumentException expected) { - assertTrue(true); - } - } - - public void testHandlesIfThereIsNoPrincipal() throws Exception { - HttpRequestIntegrationFilter filter = new HttpRequestIntegrationFilter(); - MockHttpServletRequest request = new MockHttpServletRequest(); - MockHttpServletResponse response = new MockHttpServletResponse(); - MockFilterChain chain = new MockFilterChain(true); - - assertNull(SecurityContextHolder.getContext().getAuthentication()); - filter.doFilter(request, response, chain); - assertNull(SecurityContextHolder.getContext().getAuthentication()); - } -} diff --git a/core/src/test/java/org/springframework/security/adapters/MockPrincipal.java b/core/src/test/java/org/springframework/security/adapters/MockPrincipal.java deleted file mode 100644 index 114d0598d2..0000000000 --- a/core/src/test/java/org/springframework/security/adapters/MockPrincipal.java +++ /dev/null @@ -1,33 +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.adapters; - -import java.security.Principal; - - -/** - * Mocks a Principal. - * - * @author Ben Alex - * @version $Id$ - */ -public class MockPrincipal implements Principal { - //~ Methods ======================================================================================================== - - public String getName() { - return "MockPrincipal"; - } -} diff --git a/core/src/test/java/org/springframework/security/adapters/PrincipalSpringSecurityUserTokenTests.java b/core/src/test/java/org/springframework/security/adapters/PrincipalSpringSecurityUserTokenTests.java deleted file mode 100644 index 6339b40092..0000000000 --- a/core/src/test/java/org/springframework/security/adapters/PrincipalSpringSecurityUserTokenTests.java +++ /dev/null @@ -1,62 +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.adapters; - -import junit.framework.TestCase; - -import org.springframework.security.GrantedAuthority; -import org.springframework.security.GrantedAuthorityImpl; - - -/** - * Tests {@link PrincipalSpringSecurityUserToken}. - * - * @author Ben Alex - * @version $Id$ - */ -public class PrincipalSpringSecurityUserTokenTests extends TestCase { - //~ Constructors =================================================================================================== - - public PrincipalSpringSecurityUserTokenTests() { - } - - public PrincipalSpringSecurityUserTokenTests(String arg0) { - super(arg0); - } - - //~ Methods ======================================================================================================== - - public void testGetters() throws Exception { - PrincipalSpringSecurityUserToken token = new PrincipalSpringSecurityUserToken("my_password", "Test", "Password", - new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl("ROLE_TWO")}, - null); - assertEquals("Test", token.getPrincipal()); - assertEquals("Password", token.getCredentials()); - assertEquals("my_password".hashCode(), token.getKeyHash()); - assertEquals("Test", token.getName()); - } - - public void testNoArgConstructorDoesntExist() { - Class clazz = PrincipalSpringSecurityUserToken.class; - - try { - clazz.getDeclaredConstructor((Class[]) null); - fail("Should have thrown NoSuchMethodException"); - } catch (NoSuchMethodException expected) { - assertTrue(true); - } - } -}