package com.apress.progwt.server.dao.hibernate; import java.util.List; import org.apache.log4j.Logger; import org.hibernate.Hibernate; import com.apress.progwt.client.domain.Application; import com.apress.progwt.client.domain.User; import com.apress.progwt.server.dao.UserDAO; import com.apress.progwt.server.domain.ServerSideUser; public class UserDAOHibernateImplTest extends AbstractHibernateTransactionalTest { private static final Logger log = Logger .getLogger(UserDAOHibernateImplTest.class); private static final String A = "dsafd"; private static final String B = "324234234"; private UserDAO userDAO; public void setUserDAO(UserDAO userDAO) { this.userDAO = userDAO; } public void testGetUserByUsername() { String USER = "test"; User u = userDAO.getUserByUsername(USER); assertEquals(USER, u.getUsername()); } public void testLoadUserByUsername() { String USER = "test"; ServerSideUser u = userDAO.loadUserByUsername(USER); assertEquals(USER, u.getUsername()); } public void testSave() { User u = new User(); u.setUsername(A); u.setPassword(A); u.setNickname(A); List<User> list = userDAO.getAllUsers(); userDAO.save(u); User saved = userDAO.getUserByUsername(A); assertEquals(A, saved.getUsername()); assertNotSame(0, saved.getId()); assertFalse(saved.isSupervisor()); assertTrue(saved.isEnabled()); assertTrue(saved.isAccountNonExpired()); List<User> listPost = userDAO.getAllUsers(); assertEquals(listPost.size(), list.size() + 1); log.debug("User list size " + list.size()); } public void testEdit() { String A = "dsafd"; String B = "sdfn&S*AS"; User u = new User(); u.setUsername(A); u.setPassword(B); u.setNickname(A); List<User> list = userDAO.getAllUsers(); userDAO.save(u); User saved = userDAO.getUserByUsername(A); assertEquals(A, saved.getUsername()); assertNotSame(0, saved.getId()); assertFalse(saved.isSupervisor()); assertTrue(saved.isEnabled()); assertTrue(saved.isAccountNonExpired()); List<User> listPost = userDAO.getAllUsers(); assertEquals(listPost.size(), list.size() + 1); log.debug("User list size " + list.size()); // now do some edits // saved.setUsername(B); saved.setSupervisor(true); assertEquals(B, saved.getUsername()); saved = userDAO.save(saved); assertEquals(B, saved.getUsername()); for (User uuu : userDAO.getAllUsers()) { System.out.println("AAAAAA " + uuu); } User editted = userDAO.getUserByUsername(B); assertNotNull(editted); assertEquals(B, editted.getUsername()); assertSame(saved.getId(), editted.getId()); assertTrue(saved.isSupervisor()); assertTrue(saved.isEnabled()); assertTrue(saved.isAccountNonExpired()); } public void testGetUserCount() { List<User> list = userDAO.getAllUsers(); long pre = userDAO.getUserCount(); assertEquals(pre, list.size()); User u = new User(); u.setUsername(A); u.setPassword(B); u.setNickname(A); userDAO.save(u); assertEquals(pre + 1, userDAO.getUserCount()); } public void testGetUserByNicknameFetchAll() { User u = new User(); u.setUsername(A); u.setPassword(A); u.setNickname(A); // List<User> list = userDAO.getAllUsers(); userDAO.save(u); User saved = userDAO.getUserByNicknameFetchAll(A); assertTrue(Hibernate.isInitialized(saved.getSchoolRankings())); User test = userDAO.getUserByNicknameFetchAll("test"); assertTrue(Hibernate.isInitialized(test.getSchoolRankings())); for (Application sap : test.getSchoolRankings()) { assertTrue(Hibernate.isInitialized(sap)); assertTrue(Hibernate.isInitialized(sap.getSchool())); } } }