Updated to junit4.

This commit is contained in:
Luke Taylor 2008-11-21 12:49:01 +00:00
parent dca0505d23
commit 992b35e5d4
1 changed files with 23 additions and 34 deletions

View File

@ -16,19 +16,22 @@
package org.springframework.security.ui.portlet; package org.springframework.security.ui.portlet;
import static org.junit.Assert.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import javax.portlet.PortletRequest; import javax.portlet.PortletRequest;
import javax.portlet.PortletSession; import javax.portlet.PortletSession;
import junit.framework.TestCase; import org.junit.Test;
import org.springframework.mock.web.portlet.MockActionRequest;
import org.springframework.mock.web.portlet.MockActionResponse;
import org.springframework.mock.web.portlet.MockRenderRequest;
import org.springframework.mock.web.portlet.MockRenderResponse;
import org.springframework.security.Authentication; import org.springframework.security.Authentication;
import org.springframework.security.AuthenticationManager; import org.springframework.security.AuthenticationManager;
import org.springframework.security.BadCredentialsException; import org.springframework.security.BadCredentialsException;
import org.springframework.security.GrantedAuthority;
import org.springframework.security.GrantedAuthorityImpl;
import org.springframework.security.context.SecurityContextHolder; import org.springframework.security.context.SecurityContextHolder;
import org.springframework.security.providers.TestingAuthenticationToken; import org.springframework.security.providers.TestingAuthenticationToken;
import org.springframework.security.providers.UsernamePasswordAuthenticationToken; import org.springframework.security.providers.UsernamePasswordAuthenticationToken;
@ -36,10 +39,7 @@ import org.springframework.security.providers.portlet.PortletTestUtils;
import org.springframework.security.providers.preauth.PreAuthenticatedAuthenticationToken; import org.springframework.security.providers.preauth.PreAuthenticatedAuthenticationToken;
import org.springframework.security.ui.AbstractProcessingFilter; import org.springframework.security.ui.AbstractProcessingFilter;
import org.springframework.security.userdetails.User; import org.springframework.security.userdetails.User;
import org.springframework.mock.web.portlet.MockActionRequest; import org.springframework.security.util.AuthorityUtils;
import org.springframework.mock.web.portlet.MockActionResponse;
import org.springframework.mock.web.portlet.MockRenderRequest;
import org.springframework.mock.web.portlet.MockRenderResponse;
/** /**
* Tests {@link PortletProcessingInterceptor}. * Tests {@link PortletProcessingInterceptor}.
@ -48,41 +48,25 @@ import org.springframework.mock.web.portlet.MockRenderResponse;
* @since 2.0 * @since 2.0
* @version $Id$ * @version $Id$
*/ */
public class PortletProcessingInterceptorTests extends TestCase { @SuppressWarnings("unchecked")
public class PortletProcessingInterceptorTests {
//~ Constructors ===================================================================================================
public PortletProcessingInterceptorTests() {
super();
}
public PortletProcessingInterceptorTests(String arg0) {
super(arg0);
}
//~ Methods ======================================================================================================== //~ Methods ========================================================================================================
public void setUp() throws Exception { public void setUp() throws Exception {
super.setUp();
SecurityContextHolder.clearContext(); SecurityContextHolder.clearContext();
} }
public void tearDown() throws Exception { public void tearDown() throws Exception {
super.tearDown();
SecurityContextHolder.clearContext(); SecurityContextHolder.clearContext();
} }
@Test(expected=IllegalArgumentException.class)
public void testRequiresAuthenticationManager() throws Exception { public void testRequiresAuthenticationManager() throws Exception {
PortletProcessingInterceptor interceptor = new PortletProcessingInterceptor(); PortletProcessingInterceptor interceptor = new PortletProcessingInterceptor();
interceptor.afterPropertiesSet();
try {
interceptor.afterPropertiesSet();
fail("Expected IllegalArgumentException");
} catch (IllegalArgumentException e) {
// ignored
}
} }
@Test
public void testNormalRenderRequestProcessing() throws Exception { public void testNormalRenderRequestProcessing() throws Exception {
// Build mock request and response // Build mock request and response
@ -110,6 +94,7 @@ public class PortletProcessingInterceptorTests extends TestCase {
SecurityContextHolder.getContext().getAuthentication()); SecurityContextHolder.getContext().getAuthentication());
} }
@Test
public void testNormalActionRequestProcessing() throws Exception { public void testNormalActionRequestProcessing() throws Exception {
// Build mock request and response // Build mock request and response
@ -132,8 +117,8 @@ public class PortletProcessingInterceptorTests extends TestCase {
SecurityContextHolder.getContext().getAuthentication()); SecurityContextHolder.getContext().getAuthentication());
} }
public void testAuthenticationFailsWithNoCredentials() @Test
throws Exception { public void testAuthenticationFailsWithNoCredentials() throws Exception {
// Build mock request and response // Build mock request and response
MockActionRequest request = new MockActionRequest(); MockActionRequest request = new MockActionRequest();
@ -155,6 +140,7 @@ public class PortletProcessingInterceptorTests extends TestCase {
instanceof BadCredentialsException); instanceof BadCredentialsException);
} }
@Test
public void testExistingAuthenticationIsLeftAlone() throws Exception { public void testExistingAuthenticationIsLeftAlone() throws Exception {
// Build mock request and response // Build mock request and response
@ -181,6 +167,7 @@ public class PortletProcessingInterceptorTests extends TestCase {
assertEquals(baselineToken, SecurityContextHolder.getContext().getAuthentication()); assertEquals(baselineToken, SecurityContextHolder.getContext().getAuthentication());
} }
@Test
public void testUsernameFromRemoteUser() throws Exception { public void testUsernameFromRemoteUser() throws Exception {
// Build mock request and response // Build mock request and response
@ -200,6 +187,7 @@ public class PortletProcessingInterceptorTests extends TestCase {
SecurityContextHolder.getContext().getAuthentication().getName()); SecurityContextHolder.getContext().getAuthentication().getName());
} }
@Test
public void testUsernameFromPrincipal() throws Exception { public void testUsernameFromPrincipal() throws Exception {
// Build mock request and response // Build mock request and response
@ -219,6 +207,7 @@ public class PortletProcessingInterceptorTests extends TestCase {
SecurityContextHolder.getContext().getAuthentication().getName()); SecurityContextHolder.getContext().getAuthentication().getName());
} }
@Test
public void testUsernameFromUserInfo() throws Exception { public void testUsernameFromUserInfo() throws Exception {
// Build mock request and response // Build mock request and response
@ -253,7 +242,7 @@ public class PortletProcessingInterceptorTests extends TestCase {
// Make sure we got a valid token // Make sure we got a valid token
if (!(token instanceof PreAuthenticatedAuthenticationToken)) { if (!(token instanceof PreAuthenticatedAuthenticationToken)) {
TestCase.fail("Expected PreAuthenticatedAuthenticationToken object-- got: " + token); fail("Expected PreAuthenticatedAuthenticationToken object-- got: " + token);
} }
// Make sure the token details are the PortletRequest // Make sure the token details are the PortletRequest
@ -273,9 +262,9 @@ public class PortletProcessingInterceptorTests extends TestCase {
// create resulting Authentication object // create resulting Authentication object
User user = new User(token.getName(), token.getCredentials().toString(), true, true, true, true, User user = new User(token.getName(), token.getCredentials().toString(), true, true, true, true,
new GrantedAuthority[] {new GrantedAuthorityImpl(PortletTestUtils.TESTROLE1), new GrantedAuthorityImpl(PortletTestUtils.TESTROLE2)}); AuthorityUtils.createAuthorityList(PortletTestUtils.TESTROLE1, PortletTestUtils.TESTROLE2));
PreAuthenticatedAuthenticationToken result = new PreAuthenticatedAuthenticationToken( PreAuthenticatedAuthenticationToken result = new PreAuthenticatedAuthenticationToken(
user, user.getPassword(), user.getAuthorities().toArray(new GrantedAuthority[0])); user, user.getPassword(), user.getAuthorities());
result.setAuthenticated(true); result.setAuthenticated(true);
return result; return result;
} }