/** * Creates a JuEmfUtil instance for the specified persistence unit and profile. * @param persistenceUnitName PersistenceUnitName * @param profile Profile name. If null, the value of the property <code>ju-dbutil-test.profile</code> will be used * @return JuEmfUtil instance */ public JuEmfUtil createEmfUtil(String persistenceUnitName, String profile) { logger.debug("Creating JuEmfUtil for PU {} and profile {}", persistenceUnitName, profile); PropertyChain pc = JuUtils.getJuPropertyChain(); String profileName = profile != null ? profile : pc.get("ju-dbutil-test.profile", true); String prefix = "ju-dbutil-test." + profileName; String connectionUrl = pc.get(prefix + ".connectionUrl", false); String user = pc.get(prefix + ".user", false); String password = pc.get(prefix + ".password", false); JuEmfUtil emfUtil = JuEmfUtil.create() .persistenceUnitName(persistenceUnitName) .connectionUrl(connectionUrl) .user(user) .password(password) .build(); return emfUtil; } }
@Test public void builder_returnsSameInstance_forSameProps() { JuEmfUtil emfUtil1 = JuEmfUtil.create() .persistenceUnitName("ju-dbutil JuEmfUtilTest") .connectionUrl("jdbc:derby:memory:ju-dbutil_emfUtilTest_db1;create=true") .build(); JuEmfUtil emfUtil1b = JuEmfUtil.create() .persistenceUnitName("ju-dbutil JuEmfUtilTest") .connectionUrl("jdbc:derby:memory:ju-dbutil_emfUtilTest_db1;create=true") .build(); Assert.assertSame(emfUtil1, emfUtil1b); JuEmfUtil emfUtil2 = JuEmfUtil.create() .persistenceUnitName("ju-dbutil JuEmfUtilTest") .connectionUrl("jdbc:derby:memory:ju-dbutil_emfUtilTest_db2;create=true") .build(); Assert.assertNotSame(emfUtil1, emfUtil2); }
public static JuEmfUtilBuilder create() { return new JuEmfUtilBuilder(); }
@Test public void canPerformWork_usingEmfUtil() { JuEmfUtil emfUtil = JuEmfUtil.create() .persistenceUnitName("ju-dbutil JuEmfUtilTest") .connectionUrl("jdbc:derby:memory:ju-dbutil_emfUtilTest_db1;create=true") .build(); try (EmfWork work = emfUtil.startWork()) { Query q = work.getEm().createNativeQuery("values 1"); Assert.assertEquals(1, q.getSingleResult()); } } }
@Test public void builder_canBuildEmfUtil_forDerby() { JuEmfUtil emfUtil = JuEmfUtil.create() .persistenceUnitName("ju-dbutil JuEmfUtilTest") .connectionUrl("jdbc:derby:memory:ju-dbutil_emfUtilTest_db1;create=true") .build(); AssertUtil.assertNotNull(emfUtil); }