package musicrepos.tests; import java.util.List; import java.util.Random; import junit.framework.TestCase; import musicrepos.mvc.model.User; import musicrepos.mvc.model.UserDAO; import org.junit.After; import org.junit.Before; import org.junit.Test; public class TestUserDAO extends TestCase { private String invalidLogin; private List allUsers; private Random randomGenerator; private UserDAO dao; @Before public void setUp() { dao = new UserDAO(); allUsers = dao.getUsersList(); invalidLogin = findInvalidUserName(dao); randomGenerator = new Random(); } private String findInvalidUserName(UserDAO dao) { boolean found = false; String login = "_invalid"; int count = 0; while (!found) { if (dao.getUser(login) == null) { found = true; } else { // Próxima tentativa de keyword inválida login = "_invalid" + count++; } } return login; } @Test public void testFindUserByName() { if (!allUsers.isEmpty()) { User user = allUsers.get(randomGenerator.nextInt(allUsers.size())); boolean answer = dao.exists("name", user.getName()); assertTrue(answer); } } @Test public void testFindUserByLogin() { if (!allUsers.isEmpty()) { User user = allUsers.get(randomGenerator.nextInt(allUsers.size())); boolean answer = dao.exists("login", user.getLogin()); assertTrue(answer); } } @Test public void testFindUserByEmail() { if (!allUsers.isEmpty()) { User user = allUsers.get(randomGenerator.nextInt(allUsers.size())); boolean answer = dao.exists("email", user.getEmail()); assertTrue(answer); } } @Test public void testFindUnexistentUser() { boolean answer = dao.exists("login", invalidLogin); assertFalse(answer); } @After public void tearDown() { dao.closeSession(); } }