public class ClosedEntityManagerTest extends BaseEntityManagerFunctionalTestCase {
@Test
public void getTransactionOnClosedEntityManagerShouldReturnNotNUll() {
EntityManager em = createEntityManager();
assertThat( em.getTransaction(), CoreMatchers.notNullValue() );
em.close();
assertThat( em.getTransaction(), CoreMatchers.notNullValue() );
}
@Test
public void getTransactionOnClosedEntityManagerCallIsActive() {
EntityManager em = createEntityManager();
assertThat( em.getTransaction(), CoreMatchers.notNullValue() );
em.close();
assertFalse( em.getTransaction().isActive() );
}
@Test(expected = IllegalStateException.class)
public void getTransactionOnClosedEntityManagerCallBegin() {
EntityManager em = createEntityManager();
assertThat( em.getTransaction(), CoreMatchers.notNullValue() );
em.close();
em.getTransaction().begin();
}
@Test(expected = IllegalStateException.class)
public void getTransactionOnClosedEntityManagerCallSetRollBackOnly() {
EntityManager em = createEntityManager();
assertThat( em.getTransaction(), CoreMatchers.notNullValue() );
em.close();
em.getTransaction().setRollbackOnly();
}
@Test(expected = IllegalStateException.class)
public void getTransactionOnClosedEntityManagerCallRollBack() {
EntityManager em = createEntityManager();
assertThat( em.getTransaction(), CoreMatchers.notNullValue() );
em.close();
em.getTransaction().rollback();
}
@Test(expected = IllegalStateException.class)
public void getTransactionOnClosedEntityManagerCallGetRollBackOnly() {
EntityManager em = createEntityManager();
assertThat( em.getTransaction(), CoreMatchers.notNullValue() );
em.close();
em.getTransaction().getRollbackOnly();
}
}