1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity.ui.webapp;
17
18 import junit.framework.TestCase;
19
20 import org.acegisecurity.Authentication;
21 import org.acegisecurity.MockAuthenticationManager;
22 import org.acegisecurity.ui.WebAuthenticationDetails;
23
24 import org.springframework.mock.web.MockHttpServletRequest;
25
26
27 /***
28 * Tests {@link AuthenticationProcessingFilter}.
29 *
30 * @author Ben Alex
31 * @version $Id: AuthenticationProcessingFilterTests.java,v 1.9 2005/11/17 00:56:10 benalex Exp $
32 */
33 public class AuthenticationProcessingFilterTests extends TestCase {
34
35
36 public AuthenticationProcessingFilterTests() {
37 super();
38 }
39
40 public AuthenticationProcessingFilterTests(String arg0) {
41 super(arg0);
42 }
43
44
45
46 public final void setUp() throws Exception {
47 super.setUp();
48 }
49
50 public static void main(String[] args) {
51 junit.textui.TestRunner.run(AuthenticationProcessingFilterTests.class);
52 }
53
54 public void testGetters() {
55 AuthenticationProcessingFilter filter = new AuthenticationProcessingFilter();
56 assertEquals("/j_acegi_security_check",
57 filter.getDefaultFilterProcessesUrl());
58 }
59
60 public void testNormalOperation() throws Exception {
61 MockHttpServletRequest request = new MockHttpServletRequest();
62 request.addParameter(AuthenticationProcessingFilter.ACEGI_SECURITY_FORM_USERNAME_KEY,
63 "marissa");
64 request.addParameter(AuthenticationProcessingFilter.ACEGI_SECURITY_FORM_PASSWORD_KEY,
65 "koala");
66
67 MockAuthenticationManager authMgr = new MockAuthenticationManager(true);
68
69 AuthenticationProcessingFilter filter = new AuthenticationProcessingFilter();
70 filter.setAuthenticationManager(authMgr);
71 filter.init(null);
72
73 Authentication result = filter.attemptAuthentication(request);
74 assertTrue(result != null);
75 assertEquals("127.0.0.1",
76 ((WebAuthenticationDetails) result.getDetails()).getRemoteAddress());
77 }
78
79 public void testNullPasswordHandledGracefully() throws Exception {
80 MockHttpServletRequest request = new MockHttpServletRequest();
81 request.addParameter(AuthenticationProcessingFilter.ACEGI_SECURITY_FORM_USERNAME_KEY,
82 "marissa");
83
84 MockAuthenticationManager authMgr = new MockAuthenticationManager(true);
85
86 AuthenticationProcessingFilter filter = new AuthenticationProcessingFilter();
87 filter.setAuthenticationManager(authMgr);
88 filter.init(null);
89
90 Authentication result = filter.attemptAuthentication(request);
91 assertTrue(result != null);
92 }
93
94 public void testNullUsernameHandledGracefully() throws Exception {
95 MockHttpServletRequest request = new MockHttpServletRequest();
96 request.addParameter(AuthenticationProcessingFilter.ACEGI_SECURITY_FORM_PASSWORD_KEY,
97 "koala");
98
99 MockAuthenticationManager authMgr = new MockAuthenticationManager(true);
100
101 AuthenticationProcessingFilter filter = new AuthenticationProcessingFilter();
102 filter.setAuthenticationManager(authMgr);
103 filter.init(null);
104
105 Authentication result = filter.attemptAuthentication(request);
106 assertTrue(result != null);
107 }
108 }