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) {


Reply via email to