package org.musicrecital.service; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.musicrecital.Constants; import org.musicrecital.model.User; import org.junit.Test; import org.springframework.beans.factory.annotation.Autowired; import java.util.List; import static org.junit.Assert.*; public class UserManagerTest extends BaseManagerTestCase { private Log log = LogFactory.getLog(UserManagerTest.class); @Autowired private UserManager mgr; @Autowired private RoleManager roleManager; private User user; @Test public void testGetUser() throws Exception { user = mgr.getUserByUsername("user"); assertNotNull(user); log.debug(user); assertEquals(1, user.getRoles().size()); } @Test public void testSaveUser() throws Exception { user = mgr.getUserByUsername("user"); user.setPhoneNumber("303-555-1212"); log.debug("saving user with updated phone number: " + user); user = mgr.saveUser(user); assertEquals("303-555-1212", user.getPhoneNumber()); assertEquals(1, user.getRoles().size()); } @Test public void testAddAndRemoveUser() throws Exception { user = new User(); // call populate method in super class to populate test data // from a properties file matching this class name user = (User) populate(user); user.addRole(roleManager.getRole(Constants.USER_ROLE)); user = mgr.saveUser(user); assertEquals("john", user.getUsername()); assertEquals(1, user.getRoles().size()); log.debug("removing user..."); mgr.removeUser(user.getId().toString()); try { user = mgr.getUserByUsername("john"); fail("Expected 'Exception' not thrown"); } catch (Exception e) { log.debug(e); assertNotNull(e); } } @Test public void testGetAll() throws Exception { List<User> found = mgr.getAll(); log.debug("Users found: " + found); assertEquals(3, found.size()); } }