Author: cschneider
Date: Fri Jul 17 08:21:45 2015
New Revision: 1691493
URL: http://svn.apache.org/r1691493
Log:
[ARIES-736] Checking handling of incomplete persistence units
Added:
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseAdditionalTest.java
- copied, changed from r1691404,
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/TCKJPATestCase.java
Removed:
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseLinkStartupTest.java
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/TCKJPATestCase.java
Modified:
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java
Copied:
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseAdditionalTest.java
(from r1691404,
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/TCKJPATestCase.java)
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseAdditionalTest.java?p2=aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseAdditionalTest.java&p1=aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/TCKJPATestCase.java&r1=1691404&r2=1691493&rev=1691493&view=diff
==============================================================================
---
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/TCKJPATestCase.java
(original)
+++
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/container/itest/EclipseAdditionalTest.java
Fri Jul 17 08:21:45 2015
@@ -28,16 +28,25 @@ import org.ops4j.pax.exam.Configuration;
import org.ops4j.pax.exam.Option;
import org.ops4j.pax.tinybundles.core.TinyBundles;
import org.osgi.framework.Constants;
+import org.osgi.service.jpa.EntityManagerFactoryBuilder;
-/**
- * Simulates the invalid bundle test from TCK
- */
-public class TCKJPATestCase extends AbstractJPAItest {
+public class EclipseAdditionalTest extends AbstractJPAItest {
@Test
+ public void testContextCreationWithStartingBundle() throws Exception {
+
getBundleByName("org.apache.aries.jpa.container.itest.bundle.eclipselink").start();
+ getEMF("script-test-unit");
+ }
+
+ @Test
+ public void testEntityManagerFactoryBuilderWithIncompletePersistenceUnit()
throws Exception {
+ getService(EntityManagerFactoryBuilder.class,
"(osgi.unit.name=incompleteTestUnit)", 1000);
+ }
+
+ @Test(expected = IllegalStateException.class)
public void testEntityManagerFactoryWithIncompletePersistenceUnit() throws
Exception {
- EntityManagerFactory emf = getService(EntityManagerFactory.class,
"(osgi.unit.name=incompleteTestUnit)", false);
- Assert.assertNull("There should be no EntityManagerFactory registered
since this persistence unit is incomplete", emf);
+ getService(EntityManagerFactory.class,
"(osgi.unit.name=incompleteTestUnit)", 1000);
+ Assert.fail("There should be no EntityManagerFactory registered since
this persistence unit is incomplete");
}
@Configuration
@@ -45,15 +54,16 @@ public class TCKJPATestCase extends Abst
InputStream testBundle = TinyBundles.bundle()
.set(Constants.BUNDLE_SYMBOLICNAME, "incompleteTestUnit") //
.set("Meta-Persistence", " ") //
- .add("META-INF/persistence.xml",
this.getClass().getResourceAsStream("persistence.xml"))
+ .add("META-INF/persistence.xml",
this.getClass().getResourceAsStream("persistence.xml")) //
.build(TinyBundles.withBnd());
- return new Option[] {
- baseOptions(), //
- ariesJpa20(), //
+ return new Option[] {//
+ baseOptions(),//
+ ariesJpa21(),//
+ eclipseLink(),//
derbyDSF(), //
- hibernate(), //
- testBundle(), // Just for Car class
+ testBundleEclipseLink().noStart(),//
streamBundle(testBundle)
+ // debug()
};
}
}
Modified:
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java
URL:
http://svn.apache.org/viewvc/aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java?rev=1691493&r1=1691492&r2=1691493&view=diff
==============================================================================
---
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java
(original)
+++
aries/trunk/jpa/itests/jpa-container-itest/src/test/java/org/apache/aries/jpa/itest/AbstractJPAItest.java
Fri Jul 17 08:21:45 2015
@@ -78,11 +78,11 @@ public abstract class AbstractJPAItest {
}
public <T> T getService(Class<T> type, String filter) {
- return getService(type, filter, true);
+ return getService(type, filter, 10000);
}
@SuppressWarnings({ "rawtypes", "unchecked" })
- public <T> T getService(Class<T> type, String filter, boolean mandatory) {
+ public <T> T getService(Class<T> type, String filter, int timeout) {
ServiceTracker tracker = null;
try {
String objClassFilter = "(" + Constants.OBJECTCLASS + "=" +
type.getName() + ")";
@@ -91,9 +91,9 @@ public abstract class AbstractJPAItest {
tracker = new ServiceTracker(bundleContext, osgiFilter, null);
tracker.open();
- Object svc = type.cast(tracker.waitForService(10000));
- if (svc == null && mandatory) {
- throw new RuntimeException("Gave up waiting for service " +
flt);
+ Object svc = type.cast(tracker.waitForService(timeout));
+ if (svc == null) {
+ throw new IllegalStateException("Gave up waiting for service "
+ flt);
}
return type.cast(svc);
} catch (InvalidSyntaxException e) {