/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package cz.cvut.fel.restauracefel.server.service.controllers; import cz.cvut.fel.restauracefel.server.service.controllers.UserController; import java.util.Iterator; import cz.cvut.fel.restauracefel.hibernate.User; import java.util.List; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; import static org.junit.Assert.*; /** * * @author Jambojak */ public class UserControllerTest { private static UserController ucInst; public UserControllerTest() { } @BeforeClass public static void setUpClass() throws Exception { ucInst = UserController.getInstance(); } @AfterClass public static void tearDownClass() throws Exception { User user; user = ucInst.getUserByUsername("testUsername1"); if(user != null) user.delete(); user = ucInst.getUserByUsername("testUsername2"); if(user != null) user.delete(); } @Before public void setUp() { } @After public void tearDown() { } @Test public void testCreateUser() { boolean result; result = ucInst.createUser("testName", "testSurname", "0000", "testUsername1", "testPasswd"); assertEquals(true, result); result = ucInst.createUser("testName", "testSurname", "testUsername2"); assertEquals(true, result); result = ucInst.createUser("testName", "testSurname", "0000", "testUsername1", "testPasswd"); assertEquals(false, result); result = ucInst.createUser("testName", "testSurname", "testUsername2"); assertEquals(false, result); } @Test public void testDeleteUser() { User user = ucInst.getUserByUsername("testUsername1"); ucInst.deleteUser(user.getUserId()); assertEquals(1, user.getIsDeleted()); user.setIsDeleted(0); } @Test public void testIsExistedByUsername() { boolean result; result = ucInst.isExistedByUsername("testUsername1"); assertEquals(true, result); result = ucInst.isExistedByUsername("testUsername2"); assertEquals(true, result); } @Test public void testIsExistedByPID() { boolean result; result = ucInst.isExistedByPID("0000"); assertEquals(true, result); } @Test public void testIsValidUser() { boolean result; result = ucInst.isValidUser("testUsername1", "testPasswd"); assertEquals(true, result); result = ucInst.isValidUser("testUsername1", ""); assertEquals(false, result); result = ucInst.isValidUser("", "testPasswd"); assertEquals(false, result); } @Test public void testGetUserByPID() { User user; user = ucInst.getUserByPID("0000"); assertEquals("testName", user.getFirstName()); assertEquals("testUsername1", user.getUsername()); } @Test public void testGetUserByUsername() { User user; user = ucInst.getUserByUsername("testUsername1"); assertEquals("testName", user.getFirstName()); } @Test public void testGetAllUsers() { boolean found = false; User temp; List<User> result = ucInst.getAllUsers(); if(result == null || result.isEmpty()) fail(); Iterator iter = result.iterator(); while(iter.hasNext()){ temp = (User) iter.next(); if(temp.getFirstName().equals("testName") && temp.getLastName().equals("testSurname")) found = true; } assertEquals(true, found); } @Test public void testGetUserNames() { boolean found = false; String[] result = ucInst.getUserNames(); if(result == null || result.length < 1) fail(); for(int i = 0; i < result.length; i ++){ if(result[i].equals("testSurname")) found = true; } assertEquals(true, found); } @Test public void testGetUserUsernames() { boolean found = false; String[] result = ucInst.getUserUsernames(); if(result == null || result.length < 1) fail(); for(int i = 0; i < result.length; i ++){ if(result[i].equals("testUsername1")) found = true; } assertEquals(true, found); } @Test public void testGetUsers() { boolean found = false; Object[][] result = ucInst.getUsers(); if(result == null || result.length < 1) fail(); for(int i = 0; i < result.length; i ++){ if(result[i][1].equals("testName") && result[i][2].equals("testSurname") && result[i][5].equals("testUsername1")) found = true; } assertEquals(true, found); } @Test public void testUpdateUser() { User user = ucInst.getUserByUsername("testUsername1"); boolean result; result = ucInst.updateUser(user.getUserId(), "testNameEdit", "testSurnameEdit", "0000", "testUsername1"); assertEquals(true, result); result = ucInst.updateUser(user.getUserId(), "testNameEdit", "testSurnameEdit", "0000", "testUsername2"); assertEquals(false, result); result = ucInst.updateUser(user.getUserId(), "testNameEdit", "testSurnameEdit", "0000", "testUsername1"); assertEquals(true, result); result = ucInst.updateUser(user.getUserId(), 10.0); assertEquals(true, result); assertEquals(10.0, user.getCredit(), 0); result = ucInst.updateUser(user.getUserId(), -10.0); assertEquals(true, result); assertEquals(0.0, user.getCredit(), 0); } @Test public void testUpdateUserPassword() { User user = ucInst.getUserByUsername("testUsername1"); boolean result; result = ucInst.updateUserPassword(user.getUserId(), "testPasswdEdit"); assertEquals(true, result); assertEquals("testPasswdEdit", user.getPassword()); } @Test public void testIsValidOldPasswd() { User user = ucInst.getUserByUsername("testUsername1"); boolean result; result = ucInst.isValidOldPasswd(user.getUserId(), "testPasswdEdit"); assertEquals(true, result); result = ucInst.isValidOldPasswd(user.getUserId(), "sgsgd"); assertEquals(false, result); } }