1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity.userdetails.memory;
17
18 import org.acegisecurity.userdetails.memory.UserAttribute;
19 import org.acegisecurity.userdetails.memory.UserAttributeEditor;
20
21 import junit.framework.TestCase;
22
23
24 /***
25 * Tests {@link UserAttributeEditor} and associated {@link UserAttribute}.
26 *
27 * @author Ben Alex
28 * @version $Id: UserAttributeEditorTests.java,v 1.1 2005/11/29 13:10:10 benalex Exp $
29 */
30 public class UserAttributeEditorTests extends TestCase {
31
32
33 public UserAttributeEditorTests() {
34 super();
35 }
36
37 public UserAttributeEditorTests(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(UserAttributeEditorTests.class);
49 }
50
51 public void testCorrectOperationWithoutEnabledDisabledKeyword() {
52 UserAttributeEditor editor = new UserAttributeEditor();
53 editor.setAsText("password,ROLE_ONE,ROLE_TWO");
54
55 UserAttribute user = (UserAttribute) editor.getValue();
56 assertTrue(user.isValid());
57 assertTrue(user.isEnabled());
58 assertEquals("password", user.getPassword());
59 assertEquals(2, user.getAuthorities().length);
60 assertEquals("ROLE_ONE", user.getAuthorities()[0].getAuthority());
61 assertEquals("ROLE_TWO", user.getAuthorities()[1].getAuthority());
62 }
63
64 public void testDisabledKeyword() {
65 UserAttributeEditor editor = new UserAttributeEditor();
66 editor.setAsText("password,disabled,ROLE_ONE,ROLE_TWO");
67
68 UserAttribute user = (UserAttribute) editor.getValue();
69 assertTrue(user.isValid());
70 assertTrue(!user.isEnabled());
71 assertEquals("password", user.getPassword());
72 assertEquals(2, user.getAuthorities().length);
73 assertEquals("ROLE_ONE", user.getAuthorities()[0].getAuthority());
74 assertEquals("ROLE_TWO", user.getAuthorities()[1].getAuthority());
75 }
76
77 public void testEmptyStringReturnsNull() {
78 UserAttributeEditor editor = new UserAttributeEditor();
79 editor.setAsText("");
80
81 UserAttribute user = (UserAttribute) editor.getValue();
82 assertTrue(user == null);
83 }
84
85 public void testEnabledKeyword() {
86 UserAttributeEditor editor = new UserAttributeEditor();
87 editor.setAsText("password,ROLE_ONE,enabled,ROLE_TWO");
88
89 UserAttribute user = (UserAttribute) editor.getValue();
90 assertTrue(user.isValid());
91 assertTrue(user.isEnabled());
92 assertEquals("password", user.getPassword());
93 assertEquals(2, user.getAuthorities().length);
94 assertEquals("ROLE_ONE", user.getAuthorities()[0].getAuthority());
95 assertEquals("ROLE_TWO", user.getAuthorities()[1].getAuthority());
96 }
97
98 public void testMalformedStringReturnsNull() {
99 UserAttributeEditor editor = new UserAttributeEditor();
100 editor.setAsText("MALFORMED_STRING");
101
102 UserAttribute user = (UserAttribute) editor.getValue();
103 assertTrue(user == null);
104 }
105
106 public void testNoPasswordOrRolesReturnsNull() {
107 UserAttributeEditor editor = new UserAttributeEditor();
108 editor.setAsText("disabled");
109
110 UserAttribute user = (UserAttribute) editor.getValue();
111 assertTrue(user == null);
112 }
113
114 public void testNoRolesReturnsNull() {
115 UserAttributeEditor editor = new UserAttributeEditor();
116 editor.setAsText("password,enabled");
117
118 UserAttribute user = (UserAttribute) editor.getValue();
119 assertTrue(user == null);
120 }
121
122 public void testNullReturnsNull() {
123 UserAttributeEditor editor = new UserAttributeEditor();
124 editor.setAsText(null);
125
126 UserAttribute user = (UserAttribute) editor.getValue();
127 assertTrue(user == null);
128 }
129
130 public void testCorrectOperationWithTrailingSpaces() {
131 UserAttributeEditor editor = new UserAttributeEditor();
132 editor.setAsText("password ,ROLE_ONE,ROLE_TWO ");
133
134 UserAttribute user = (UserAttribute) editor.getValue();
135 assertEquals("password", user.getPassword());
136 assertEquals(2, user.getAuthorities().length);
137 assertEquals("ROLE_ONE", user.getAuthorities()[0].getAuthority());
138 assertEquals("ROLE_TWO", user.getAuthorities()[1].getAuthority());
139 }
140 }