package eu.ggnet.dwoss.customer.eao; import javax.persistence.*; import org.junit.*; import eu.ggnet.dwoss.rules.CustomerFlag; import eu.ggnet.dwoss.util.persistence.JpaPersistenceConfiguration; import eu.ggnet.dwoss.customer.assist.CustomerPu; import eu.ggnet.dwoss.customer.assist.gen.CustomerGenerator; import eu.ggnet.dwoss.customer.entity.Customer; import static org.junit.Assert.*; /** * * @author pascal.perau */ public class CustomerEoaIT { private EntityManagerFactory emf; private EntityManager em; private final static CustomerGenerator GEN = new CustomerGenerator(); @Before public void setUp() { emf = Persistence.createEntityManagerFactory(CustomerPu.NAME, JpaPersistenceConfiguration.asHsqldbInMemoryWithSearchRam(CustomerPu.NAME)); em = emf.createEntityManager(); } @After public void after() { if ( em != null && em.isOpen() ) em.close(); if ( emf != null && emf.isOpen() ) emf.close(); } @Test public void testPersistence() { CustomerEao eao = new CustomerEao(em); em.getTransaction().begin(); Customer c = GEN.makeCustomer(); c.remove(CustomerFlag.SYSTEM_CUSTOMER); // Make sure no systemcustomer. em.persist(c); em.getTransaction().commit(); em.getTransaction().begin(); assertTrue(eao.findAllSystemCustomerIds().isEmpty()); c = GEN.makeCustomer(); c.add(CustomerFlag.SYSTEM_CUSTOMER); // Make sure no systemcustomer. em.persist(c); em.getTransaction().commit(); em.getTransaction().begin(); assertEquals(1, eao.findAllSystemCustomerIds().size()); em.getTransaction().commit(); } }