KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > roller > business > UserTest


1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */

18
19 package org.apache.roller.business;
20
21 import java.util.ArrayList JavaDoc;
22 import java.util.Collection JavaDoc;
23 import java.util.List JavaDoc;
24 import junit.framework.Test;
25 import junit.framework.TestCase;
26 import junit.framework.TestSuite;
27 import org.apache.commons.logging.Log;
28 import org.apache.commons.logging.LogFactory;
29 import org.apache.roller.TestUtils;
30 import org.apache.roller.model.RollerFactory;
31 import org.apache.roller.model.UserManager;
32 import org.apache.roller.pojos.UserData;
33
34
35 /**
36  * Test User related business operations.
37  */

38 public class UserTest extends TestCase {
39     
40     public static Log log = LogFactory.getLog(UserTest.class);
41     
42     
43     public UserTest(String JavaDoc name) {
44         super(name);
45     }
46     
47     
48     public static Test suite() {
49         return new TestSuite(UserTest.class);
50     }
51     
52     
53     public void setUp() throws Exception JavaDoc {
54     }
55     
56     public void tearDown() throws Exception JavaDoc {
57     }
58     
59     
60     /**
61      * Test basic persistence operations ... Create, Update, Delete.
62      */

63     public void testUserCRUD() throws Exception JavaDoc {
64         
65         UserManager mgr = RollerFactory.getRoller().getUserManager();
66         UserData user = null;
67         
68         UserData testUser = new UserData();
69         testUser.setUserName("testUser");
70         testUser.setPassword("password");
71         testUser.setFullName("Test User");
72         testUser.setEmailAddress("TestUser@dev.null");
73         testUser.setLocale("en_US");
74         testUser.setTimeZone("America/Los_Angeles");
75         testUser.setDateCreated(new java.util.Date JavaDoc());
76         testUser.setEnabled(Boolean.TRUE);
77         
78         // make sure test user does not exist
79
user = mgr.getUserByUserName(testUser.getUserName());
80         assertNull(user);
81         
82         // add test user
83
mgr.addUser(testUser);
84         String JavaDoc id = testUser.getId();
85         TestUtils.endSession(true);
86         
87         // make sure test user exists
88
user = null;
89         user = mgr.getUser(id);
90         assertNotNull(user);
91         assertEquals(testUser, user);
92         
93         // modify user and save
94
user.setFullName("testtesttest");
95         mgr.saveUser(user);
96         TestUtils.endSession(true);
97         
98         // make sure changes were saved
99
user = null;
100         user = mgr.getUser(id);
101         assertNotNull(user);
102         assertEquals("testtesttest", user.getFullName());
103         
104         // remove test user
105
mgr.removeUser(user);
106         TestUtils.endSession(true);
107         
108         // make sure user no longer exists
109
user = null;
110         user = mgr.getUser(id);
111         assertNull(user);
112     }
113     
114     
115     /**
116      * Test lookup mechanisms.
117      */

118     public void testUserLookups() throws Exception JavaDoc {
119         
120         UserManager mgr = RollerFactory.getRoller().getUserManager();
121         UserData user = null;
122         
123         // add test user
124
UserData testUser = TestUtils.setupUser("userTestUser");
125         TestUtils.endSession(true);
126         
127         // lookup by username
128
user = mgr.getUserByUserName(testUser.getUserName());
129         assertNotNull(user);
130         assertEquals(testUser.getUserName(), user.getUserName());
131         
132         // lookup by id
133
String JavaDoc id = user.getId();
134         user = null;
135         user = mgr.getUser(id);
136         assertNotNull(user);
137         assertEquals(testUser.getUserName(), user.getUserName());
138         
139         // lookup by UserName (part)
140
user = null;
141         List JavaDoc users1 = mgr.getUsersStartingWith(testUser.getUserName().substring(0, 3), Boolean.TRUE, 0, 1);
142         assertEquals(1, users1.size());
143         user = (UserData) users1.get(0);
144         assertNotNull(user);
145         assertEquals(testUser.getUserName(), user.getUserName());
146         
147         // lookup by Email (part)
148
user = null;
149         List JavaDoc users2 = mgr.getUsersStartingWith(testUser.getEmailAddress().substring(0, 3), Boolean.TRUE, 0, 1);
150         assertEquals(1, users2.size());
151         user = (UserData) users2.get(0);
152         assertNotNull(user);
153         assertEquals(testUser.getUserName(), user.getUserName());
154         
155         // make sure disable users are not returned
156
user.setEnabled(Boolean.FALSE);
157         mgr.saveUser(user);
158         user = null;
159         user = mgr.getUserByUserName(testUser.getUserName());
160         assertNull(user);
161         
162         // remove test user
163
TestUtils.teardownUser(testUser.getId());
164         TestUtils.endSession(true);
165     }
166     
167     
168     /**
169      * Test basic user role persistence ... Add, Remove
170      */

171     public void testRoleCRUD() throws Exception JavaDoc {
172         
173         UserManager mgr = RollerFactory.getRoller().getUserManager();
174         UserData user = null;
175         
176         // add test user
177
UserData testUser = TestUtils.setupUser("roleTestUser");
178         TestUtils.endSession(true);
179         
180         // verify user has 2 roles, admin & editor
181
user = mgr.getUserByUserName(testUser.getUserName());
182         assertNotNull(user);
183         assertEquals(2, user.getRoles().size());
184         assertTrue(user.hasRole("editor"));
185         assertTrue(user.hasRole("admin"));
186         
187         // remove role
188
user.revokeRole("admin");
189         mgr.saveUser(user);
190         TestUtils.endSession(true);
191         
192         // check that role was removed
193
user = null;
194         user = mgr.getUserByUserName(testUser.getUserName());
195         assertNotNull(user);
196         assertEquals(1, user.getRoles().size());
197         assertTrue(user.hasRole("editor"));
198         assertFalse(user.hasRole("admin"));
199         
200         // add role
201
user.grantRole("admin");
202         mgr.saveUser(user);
203         TestUtils.endSession(true);
204         
205         // check that role was added
206
user = null;
207         user = mgr.getUserByUserName(testUser.getUserName());
208         assertNotNull(user);
209         assertEquals(2, user.getRoles().size());
210         assertTrue(user.hasRole("editor"));
211         assertTrue(user.hasRole("admin"));
212         
213         // remove test user
214
TestUtils.teardownUser(testUser.getId());
215         TestUtils.endSession(true);
216     }
217
218     
219     /**
220      * Test ability to remove a user with a full set of data.
221      */

222     public void testRemoveLoadedUser() throws Exception JavaDoc {
223         // TODO: implement testRemoveLoadedUser
224
}
225     
226 }
227
Popular Tags