1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity;
17
18 import junit.framework.TestCase;
19
20 import org.acegisecurity.providers.TestingAuthenticationToken;
21
22
23
24
25
26
27
28
29 public class AbstractAuthenticationManagerTests extends TestCase {
30
31
32 public AbstractAuthenticationManagerTests() {
33 super();
34 }
35
36 public AbstractAuthenticationManagerTests(String arg0) {
37 super(arg0);
38 }
39
40
41
42
43
44
45
46
47
48
49 private AuthenticationManager createAuthenticationManager(final Object resultDetails) {
50 return new AbstractAuthenticationManager() {
51 protected Authentication doAuthentication(Authentication authentication)
52 throws AuthenticationException {
53 TestingAuthenticationToken token = createAuthenticationToken();
54 token.setDetails(resultDetails);
55
56 return token;
57 }
58 };
59 }
60
61 private TestingAuthenticationToken createAuthenticationToken() {
62 return new TestingAuthenticationToken("name", "password", new GrantedAuthorityImpl[0]);
63 }
64
65 public void testDetailsAreNotSetOnAuthenticationTokenIfAlreadySetByProvider() {
66 Object requestDetails = new String("(Request Details)");
67 Object resultDetails = new String("(Result Details)");
68 AuthenticationManager authMgr = createAuthenticationManager(resultDetails);
69
70 TestingAuthenticationToken request = createAuthenticationToken();
71 request.setDetails(requestDetails);
72
73 Authentication result = authMgr.authenticate(request);
74 assertEquals(resultDetails, result.getDetails());
75 }
76
77 public void testDetailsAreSetOnAuthenticationTokenIfNotAlreadySetByProvider() {
78 AuthenticationManager authMgr = createAuthenticationManager(null);
79 Object details = new Object();
80
81 TestingAuthenticationToken request = createAuthenticationToken();
82 request.setDetails(details);
83
84 Authentication result = authMgr.authenticate(request);
85 assertEquals(details, result.getDetails());
86 }
87 }