Package edu.chl.jadetalk.db

Source Code of edu.chl.jadetalk.db.UserFacadeTest

package edu.chl.jadetalk.db;

import edu.chl.jadetalk.core.User;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.Persistence;
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 Daniel
*/
public class UserFacadeTest {
   
    private UserFacade userFacade;
   
    private EntityManager em;
   

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }
   
    @Before
    public void setUp() {
        em = Persistence.createEntityManagerFactory("jadetalk_test_pu").createEntityManager();
        userFacade = new UserFacade();
        userFacade.setEm(em);
    }
   
    @After
    public void tearDown() {
        em.close();
    }
   
    @Test
    public void testCreate() {
       
        User user1 = new User();
        user1.setUsername("user1");
        user1.setPassword("pass1");
        user1.setEmail("email1");
       
        User user2 = new User();
        user2.setUsername("user2");
        user2.setPassword("pass2");
        user2.setEmail("email2");
       
        beginTr();
        userFacade.create(user1);
        userFacade.create(user2);
        commitTr();
       
        User user1db = em.find(User.class, user1.getId());
        User user2db = em.find(User.class, user2.getId());
       
        assertEquals(user1, user1db);
        assertEquals(user2, user2db);
        assertEquals(user1.getUsername(), "user1");
        assertEquals(user2.getUsername(), "user2");
       
        beginTr();
        em.remove(user1);
        em.remove(user2);
        commitTr();
    }
   
    @Test
    public void testEdit() {
       
        User user1 = new User();
        user1.setUsername("user1");
        user1.setPassword("pass1");
        user1.setEmail("email1");
       
        User user2 = new User();
        user2.setUsername("user2");
        user2.setPassword("pass2");
        user2.setEmail("email2");
       
        beginTr();
        em.persist(user1);
        em.persist(user2);
        commitTr();
       
        user1.setUsername("otheruser1");
        user2.setUsername("otheruser2");
       
        beginTr();
        userFacade.edit(user1);
        userFacade.edit(user2);
        commitTr();
       
        assertEquals(user1.getUsername(), em.find(User.class, user1.getId()).getUsername());
        assertEquals(user2.getUsername(), em.find(User.class, user2.getId()).getUsername());
       
        beginTr();
        em.remove(user1);
        em.remove(user2);
        commitTr();
    }
   
    @Test
    public void testRemove() {
       
        User user1 = new User();
        user1.setUsername("user1");
        user1.setPassword("pass1");
        user1.setEmail("email1");
       
        User user2 = new User();
        user2.setUsername("user2");
        user2.setPassword("pass2");
        user2.setEmail("email2");
       
        beginTr();
        em.persist(user1);
        em.persist(user2);
        commitTr();
       
        beginTr();
        userFacade.remove(user1);
        userFacade.remove(user2);
        commitTr();
       
        assertFalse(em.contains(user1));
        assertFalse(em.contains(user2));
       
    }
   
    @Test
    public void testFind() {
       
        User user1 = new User();
        user1.setUsername("user1");
        user1.setPassword("pass1");
        user1.setEmail("email1");
       
        beginTr();
        em.persist(user1);
        commitTr();
       
        User user1db = userFacade.find(user1.getId());
       
        assertEquals(user1, user1db);
       
        beginTr();
        em.remove(user1);
        commitTr();
       
    }
   
    @Test
    public void testFindAll() {
       
        User user1 = new User();
        user1.setUsername("user1");
        user1.setPassword("pass1");
        user1.setEmail("email1");
       
        User user2 = new User();
        user2.setUsername("user2");
        user2.setPassword("pass2");
        user2.setEmail("email2");
       
        beginTr();
        em.persist(user1);
        em.persist(user2);
        commitTr();
       
        List<User> usersDb = userFacade.findAll();
       
        assertEquals(usersDb.size(), 2);
        assertTrue(usersDb.contains(user1));
        assertTrue(usersDb.contains(user2));
       
        beginTr();
        em.remove(user1);
        em.remove(user2);
        commitTr();
       
    }
   
    @Test
    public void testFindByNamePattern() {
       
        User user1 = new User();
        user1.setUsername("user1");
        user1.setPassword("pass1");
        user1.setEmail("email1");
       
        User user2 = new User();
        user2.setUsername("user2");
        user2.setPassword("pass2");
        user2.setEmail("email2");
       
        User user3 = new User();
        user3.setUsername("user3");
        user3.setPassword("pass3");
        user3.setEmail("email3");
       
        beginTr();
        em.persist(user3);
        em.persist(user2);
        em.persist(user1);
        commitTr();
       
        List<User> matchedUsers = userFacade.findByNamePattern("user1");
       
        assertNotNull(matchedUsers);
       
        assertTrue(matchedUsers.contains(user1));
        assertFalse(matchedUsers.contains(user2));
        assertFalse(matchedUsers.contains(user3));
       
        beginTr();
        em.remove(user1);
        em.remove(user2);
        em.remove(user3);
        commitTr();
       
    }
   
    @Test
    public void testCount() {
       
        User user1 = new User();
        user1.setUsername("user1");
        user1.setPassword("pass1");
        user1.setEmail("email1");
       
        User user2 = new User();
        user2.setUsername("user2");
        user2.setPassword("pass2");
        user2.setEmail("email2");
       
        User user3 = new User();
        user3.setUsername("user3");
        user3.setPassword("pass3");
        user3.setEmail("email3");
       
        beginTr();
        em.persist(user3);
        em.persist(user2);
        em.persist(user1);
        commitTr();
       
        int count = userFacade.count();
       
        assertEquals(count, 3);
       
        beginTr();
        em.remove(user1);
        em.remove(user2);
        em.remove(user3);
        commitTr();
       
    }
   
   
    private void beginTr() {
        em.getTransaction().begin();
    }
   
    private void commitTr() {
        em.getTransaction().commit();
    }
}
TOP

Related Classes of edu.chl.jadetalk.db.UserFacadeTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.