package org.appfuse.service;
import java.util.ArrayList;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.appfuse.Constants;
import org.appfuse.model.User;
import org.appfuse.model.UserRole;
public class UserManagerTest extends BaseManagerTestCase {
private UserManager mgr = null;
private Log log = LogFactory.getLog(UserManagerTest.class);
private User user;
protected void setUp() throws Exception {
mgr = (UserManager) ctx.getBean("userManager");
}
protected void tearDown() throws Exception {
mgr = null;
}
public void testGetUser() throws Exception {
user = (User) mgr.getUser("tomcat");
if (log.isDebugEnabled()) {
log.debug(user);
}
assertTrue(user != null);
assertTrue(user.getRoles().size() == 1);
}
public void testSaveUser() throws Exception {
user = (User) mgr.getUser("tomcat");
assertTrue(user.getRoles().size() == 1);
user.setPhoneNumber("303-555-1212");
if (log.isDebugEnabled()) {
log.debug("saving user with updated phone number: " + user);
}
user = (User) mgr.saveUser(user);
assertTrue(user.getPhoneNumber().equals("303-555-1212"));
if (log.isDebugEnabled()) {
log.debug("user.getRoles.size(): " +
user.getRoles().size());
}
assertTrue(user.getRoles().size() == 1);
}
public void testAddAndRemoveUser() throws Exception {
user = new User();
user = (User) populate(user);
UserRole role = new UserRole();
role.setRoleName(Constants.USER_ROLE);
ArrayList roles = new ArrayList();
roles.add(role);
user.setRoles(roles);
user = (User) mgr.saveUser(user);
assertTrue(user.getUsername().equals("john"));
assertTrue(user.getRoles().size() == 1);
if (log.isDebugEnabled()) {
log.debug("removing user...");
}
mgr.removeUser(user);
try {
user = (User) mgr.getUser("john");
fail("Expected 'Exception' not thrown");
} catch (Exception e) {
if (log.isDebugEnabled()) {
log.debug(e);
}
assertTrue(e != null);
}
}
public static void main(String[] args) {
junit.textui.TestRunner.run(UserManagerTest.class);
}
}