/** * */ package org.activejpa.jpa; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import static org.testng.Assert.assertEquals; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotEquals; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertTrue; import javax.persistence.EntityManagerFactory; import org.testng.annotations.BeforeMethod; import org.testng.annotations.Test; /** * @author ganeshs * */ public class JPAConfigTest { private JPAConfig config; private EntityManagerProvider emp; private EntityManagerFactory emf; @BeforeMethod public void setup() { emf = mock(EntityManagerFactory.class); emp = new EntityManagerProviderImpl(emf); config = new JPAConfig("test", emp); } @Test public void shouldGetContext() { JPAContext context = config.getContext(); assertNotNull(context); assertFalse(context.isReadOnly()); } @Test public void shouldGetReadOnlyContext() { JPAContext context = config.getContext(true); assertNotNull(context); assertTrue(context.isReadOnly()); } @Test public void shouldGetReadWriteContext() { JPAContext context = config.getContext(false); assertNotNull(context); assertFalse(context.isReadOnly()); } @Test public void shouldGetSameContextSecondTime() { JPAContext context = config.getContext(true); assertEquals(context, config.getContext()); } @Test public void shouldClose() { when(emf.isOpen()).thenReturn(true); config.close(); verify(emf).close(); } @Test public void shouldClearContext() { JPAContext context = config.getContext(); config.clearContext(); assertNotEquals(config.getContext(), context); } }