X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fenterprise%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fsupport%2Fpersistence%2FJpaTester.java;h=19f7f187d5838f5ef1272db9d67d8934d3a1bb48;hb=685578ba5b0c34b26b127405cad1202623280e50;hp=52e284ee7e8ee073b389c892c87c9e9f282bba65;hpb=17775e14ecfb286e59f67117e5cee7e21e95ab1f;p=utils diff --git a/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaTester.java b/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaTester.java index 52e284ee..19f7f187 100644 --- a/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaTester.java +++ b/test/enterprise/src/main/java/org/wamblee/support/persistence/JpaTester.java @@ -12,12 +12,15 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ package org.wamblee.support.persistence; +import javax.naming.InitialContext; +import javax.naming.NamingException; import javax.sql.DataSource; import org.dbunit.IDatabaseTester; +import org.wamblee.support.jndi.StubInitialContextFactory; /** * This class is the entry point for JPA tests. Test code should construct a @@ -80,12 +83,23 @@ public class JpaTester { public void start() throws Exception { db = DatabaseBuilder.getDatabase(); dataSource = db.start(); + + // NOTE: adding datasource to JNDI is no longer needed for + // JPA testing, but is nice to have available for other uses. + StubInitialContextFactory.register(); + try { + InitialContext ctx = new InitialContext(); + ctx.bind(persistenceUnit.getJndiName(), dataSource); + } catch (NamingException e) { + throw new RuntimeException("JNDI problem", e); + } dbUtils = new DatabaseUtils(dataSource, persistenceUnit.getTables()); + dbUtils.start(); dbUtils.dropTables(); dbUtils.dropTables(JpaCustomizerBuilder.getCustomizer().getJpaTables()); - jpaBuilder = new JpaBuilder(dataSource, persistenceUnit); + jpaBuilder = new JpaBuilder(db.getJdbcUrl(), db.getUsername(), db.getPassword(), persistenceUnit); jpaBuilder.start(); // db tester should be created after Jpa builder because jpa builder @@ -101,6 +115,9 @@ public class JpaTester { if (jpaBuilder != null) { jpaBuilder.stop(); } + if (dbUtils != null) { + dbUtils.stop(); + } if (db != null) { db.stop(); }