KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > blandware > atleap > service > core > UserManagerTest


1 /*
2  * Copyright 2004 Blandware (http://www.blandware.com)
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not 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.
15  */

16 package com.blandware.atleap.service.core;
17
18 import com.blandware.atleap.model.core.Group;
19 import com.blandware.atleap.model.core.User;
20 import com.blandware.atleap.persistence.core.GroupDAO;
21 import com.blandware.atleap.persistence.core.RoleDAO;
22 import com.blandware.atleap.persistence.core.UserDAO;
23 import com.blandware.atleap.service.core.impl.GroupManagerImpl;
24 import com.blandware.atleap.service.core.impl.RoleManagerImpl;
25 import com.blandware.atleap.service.core.impl.UserManagerImpl;
26 import com.blandware.atleap.service.exception.BeanNotFoundException;
27 import org.jmock.Mock;
28
29
30 /**
31  * <p>This class is used to test current implementation of UserManager interface</p>
32  * <p><a HREF="UserManagerTest.java.htm"><i>View Source</i></a></p>
33  *
34  * @author Sergey Zubtcovskii <a HREF="mailto:sergey.zubtcovskii@blandware.com">&lt;sergey.zubtcovskii@blandware.com&gt;</a>
35  * @version $Revision: 1.6 $ $Date: 2006/03/16 11:09:45 $
36  * @see com.blandware.atleap.service.core.UserManager
37  */

38 public class UserManagerTest extends BaseManagerTestCase {
39     //~ Instance fields ========================================================
40

41     private UserManager userManager = new UserManagerImpl();
42     private RoleManager roleManager = new RoleManagerImpl();
43     private GroupManager groupManager = new GroupManagerImpl();
44     private Mock userDAOMock = null;
45     private Mock roleDAOMock = null;
46     private Mock groupDAOMock = null;
47
48     //~ Methods ================================================================
49

50     protected void setUp() throws Exception JavaDoc {
51         super.setUp();
52         userDAOMock = new Mock(UserDAO.class);
53         userManager.setUserDAO((UserDAO) userDAOMock.proxy());
54         roleDAOMock = new Mock(RoleDAO.class);
55         roleManager.setRoleDAO((RoleDAO) roleDAOMock.proxy());
56         groupDAOMock = new Mock(GroupDAO.class);
57         groupManager.setGroupDAO((GroupDAO) groupDAOMock.proxy());
58     }
59
60     public void testRetrieveUser() throws Exception JavaDoc {
61         User testData = new User();
62         testData.setName("user");
63         testData.getGroups().add(new Group("users", "Users"));
64
65         // set expected behaviour on DAO
66
userDAOMock.expects(once()).method("retrieveUser").with(eq("user")).will(returnValue(testData));
67
68         User user = userManager.retrieveUser("user");
69         assertTrue(user != null);
70         assertTrue(user.getGroups().size() == 1);
71         userDAOMock.verify();
72     }
73
74     public void testUpdateUser() throws Exception JavaDoc {
75
76         User testData = new User();
77         testData.setName("user");
78         testData.getGroups().add(new Group("users", "Users"));
79
80         // set expected behaviour on dao
81
userDAOMock.expects(once()).method("retrieveUser").with(eq("user")).will(returnValue(testData));
82
83         User user = userManager.retrieveUser("user");
84         user.setPhoneNumber("303-555-1212");
85         userDAOMock.verify();
86
87         // reset expectations
88
userDAOMock.reset();
89         userDAOMock.expects(once()).method("removeFromCache").with(same(user));
90         userDAOMock.expects(once()).method("updateUser").with(same(user));
91
92         userManager.updateUser(user);
93         assertTrue(user.getPhoneNumber().equals("303-555-1212"));
94         assertTrue(user.getGroups().size() == 1);
95         userDAOMock.verify();
96     }
97
98     public void testCreateAndDeleteUser() throws Exception JavaDoc {
99         User user = new User();
100
101         // call populate method in super class to populate test data
102
// from a properties file matching this class name
103
user = (User) populate(user);
104         user.setEnabled(Boolean.TRUE);
105
106         // set expected behavior on group DAO
107
groupDAOMock.expects(once()).method("retrieveGroup").with(eq("users")).will(returnValue(new Group("users", "Users")));
108
109         Group group = groupManager.retrieveGroup("users");
110         groupDAOMock.verify();
111         group.addUser(user);
112
113         // set expectations
114
userDAOMock.expects(once()).method("removeFromCache").with(same(user));
115         userDAOMock.expects(once()).method("updateUser").with(same(user));
116
117         userManager.updateUser(user);
118         assertTrue(user.getName().equals("vpupkin"));
119         assertTrue(user.getGroups().size() == 1);
120         userDAOMock.verify();
121
122         // reset expectations
123
userDAOMock.reset();
124
125         userDAOMock.expects(once()).method("retrieveUser").with(eq(user.getName()));
126
127         try {
128             userManager.deleteUser(user.getName());
129             fail("deleteUser should throw BeanNotFoundException, because user does not exist");
130         } catch ( BeanNotFoundException e ) {
131             assertNotNull(e);
132         }
133         userDAOMock.verify();
134
135         // reset expectations
136
userDAOMock.reset();
137         userDAOMock.expects(once()).method("retrieveUser").will(returnValue(null));
138
139         user = userManager.retrieveUser("vpupkin");
140         assertNull(user);
141         userDAOMock.verify();
142     }
143 }
144
Popular Tags