1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity.providers;
17
18 import junit.framework.TestCase;
19
20 import org.acegisecurity.GrantedAuthority;
21 import org.acegisecurity.GrantedAuthorityImpl;
22
23
24 /***
25 * Tests {@link AbstractAuthenticationToken}.
26 *
27 * @author Ben Alex
28 * @version $Id: AbstractAuthenticationTokenTests.java,v 1.3 2005/11/17 00:55:48 benalex Exp $
29 */
30 public class AbstractAuthenticationTokenTests extends TestCase {
31
32
33 public AbstractAuthenticationTokenTests() {
34 super();
35 }
36
37 public AbstractAuthenticationTokenTests(String arg0) {
38 super(arg0);
39 }
40
41
42
43 public final void setUp() throws Exception {
44 super.setUp();
45 }
46
47 public static void main(String[] args) {
48 junit.textui.TestRunner.run(AbstractAuthenticationTokenTests.class);
49 }
50
51 public void testGetters() throws Exception {
52 MockAuthenticationImpl token = new MockAuthenticationImpl("Test",
53 "Password",
54 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
55 "ROLE_TWO")});
56 assertEquals("Test", token.getPrincipal());
57 assertEquals("Password", token.getCredentials());
58 assertEquals("Test", token.getName());
59 }
60
61 public void testObjectsEquals() throws Exception {
62 MockAuthenticationImpl token1 = new MockAuthenticationImpl("Test",
63 "Password",
64 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
65 "ROLE_TWO")});
66 MockAuthenticationImpl token2 = new MockAuthenticationImpl("Test",
67 "Password",
68 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
69 "ROLE_TWO")});
70 assertEquals(token1, token2);
71
72 MockAuthenticationImpl token3 = new MockAuthenticationImpl("Test",
73 "Password_Changed",
74 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
75 "ROLE_TWO")});
76 assertTrue(!token1.equals(token3));
77
78 MockAuthenticationImpl token4 = new MockAuthenticationImpl("Test_Changed",
79 "Password",
80 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
81 "ROLE_TWO")});
82 assertTrue(!token1.equals(token4));
83
84 MockAuthenticationImpl token5 = new MockAuthenticationImpl("Test",
85 "Password",
86 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
87 "ROLE_TWO_CHANGED")});
88 assertTrue(!token1.equals(token5));
89
90 MockAuthenticationImpl token6 = new MockAuthenticationImpl("Test",
91 "Password",
92 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE")});
93 assertTrue(!token1.equals(token6));
94
95 MockAuthenticationImpl token7 = new MockAuthenticationImpl("Test",
96 "Password", null);
97 assertTrue(!token1.equals(token7));
98 assertTrue(!token7.equals(token1));
99
100 assertTrue(!token1.equals(new Integer(100)));
101 }
102
103 public void testSetAuthenticated() throws Exception {
104 MockAuthenticationImpl token = new MockAuthenticationImpl("Test",
105 "Password",
106 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
107 "ROLE_TWO")});
108 assertTrue(!token.isAuthenticated());
109 token.setAuthenticated(true);
110 assertTrue(token.isAuthenticated());
111 }
112
113 public void testToStringWithAuthorities() {
114 MockAuthenticationImpl token = new MockAuthenticationImpl("Test",
115 "Password",
116 new GrantedAuthority[] {new GrantedAuthorityImpl("ROLE_ONE"), new GrantedAuthorityImpl(
117 "ROLE_TWO")});
118 assertTrue(token.toString().lastIndexOf("ROLE_TWO") != -1);
119 }
120
121 public void testToStringWithNullAuthorities() {
122 MockAuthenticationImpl token = new MockAuthenticationImpl("Test",
123 "Password", null);
124 assertTrue(token.toString().lastIndexOf("Not granted any authorities") != -1);
125 }
126
127
128
129 private class MockAuthenticationImpl extends AbstractAuthenticationToken {
130 private Object credentials;
131 private Object principal;
132 private GrantedAuthority[] authorities;
133 private boolean authenticated = false;
134
135 public MockAuthenticationImpl(Object principal, Object credentials,
136 GrantedAuthority[] authorities) {
137 this.principal = principal;
138 this.credentials = credentials;
139 this.authorities = authorities;
140 }
141
142 private MockAuthenticationImpl() {
143 super();
144 }
145
146 public void setAuthenticated(boolean isAuthenticated) {
147 this.authenticated = isAuthenticated;
148 }
149
150 public boolean isAuthenticated() {
151 return this.authenticated;
152 }
153
154 public GrantedAuthority[] getAuthorities() {
155 return this.authorities;
156 }
157
158 public Object getCredentials() {
159 return this.credentials;
160 }
161
162 public Object getPrincipal() {
163 return this.principal;
164 }
165 }
166 }