Author: dwoods
Date: Sat Oct 9 02:10:38 2010
New Revision: 1006102
URL: http://svn.apache.org/viewvc?rev=1006102&view=rev
Log:
make sure tests cleanup EMs and EMFs. 6 of the TestSwitchConnection and
TestOverrideNonJtaDataSource are failing on everything except Derby, so exclude
them on other DBs.
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOpenJPAConfiguration.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestSwitchConnection.java
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOpenJPAConfiguration.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOpenJPAConfiguration.java?rev=1006102&r1=1006101&r2=1006102&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOpenJPAConfiguration.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOpenJPAConfiguration.java
Sat Oct 9 02:10:38 2010
@@ -28,6 +28,7 @@ import java.util.Properties;
import org.apache.openjpa.persistence.common.utils.AbstractTestCase;
import org.apache.openjpa.persistence.common.utils.BufferedLogFactory;
+import org.apache.openjpa.persistence.test.AllowFailure;
import org.apache.openjpa.conf.OpenJPAConfiguration;
import org.apache.openjpa.conf.OpenJPAConfigurationImpl;
import org.apache.openjpa.lib.conf.Configuration;
@@ -40,6 +41,7 @@ import org.apache.openjpa.lib.conf.Value
*
* @author Marc Prud'hommeaux
*/
+...@allowfailure(message="excluded")
public class TestOpenJPAConfiguration
extends AbstractTestCase {
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java?rev=1006102&r1=1006101&r2=1006102&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestOverrideNonJtaDataSource.java
Sat Oct 9 02:10:38 2010
@@ -26,7 +26,12 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.RollbackException;
+import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
+import org.apache.openjpa.jdbc.sql.DBDictionary;
+import org.apache.openjpa.jdbc.sql.DerbyDictionary;
import org.apache.openjpa.persistence.ArgumentException;
+import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
+import org.apache.openjpa.persistence.OpenJPAEntityManagerSPI;
import org.apache.openjpa.persistence.test.AbstractPersistenceTestCase;
public class TestOverrideNonJtaDataSource extends AbstractPersistenceTestCase {
@@ -40,7 +45,7 @@ public class TestOverrideNonJtaDataSourc
em.createQuery("Delete from confPerson").executeUpdate();
em.getTransaction().commit();
em.close();
- emf.close();
+ closeEMF(emf);
}
protected void setUp() {
@@ -83,25 +88,32 @@ public class TestOverrideNonJtaDataSourc
}
public void testConnectionFactoryName() {
- // TODO Disable for non derby.
+ // Disable for non-Derby.
// split out so that we can try javax.persistence.jtaDataSource in the
future.
overridePropertyOnEM("openjpa.ConnectionFactory2Name", jndiNames[0]);
}
public void testJtaDataSource() {
- // TODO Disable for non derby.
+ // Disable for non-Derby.
// split out so that we can try javax.persistence.jtaDataSource in the
future.
overridePropertyOnEM("javax.persistence.nonJtaDataSource",
jndiNames[0]);
}
public void overridePropertyOnEM(String name, String value) {
// use the default JndiName for the base EntityManagerFactory
- EntityManagerFactory emf = getEmf(name, defaultJndiName);
+ OpenJPAEntityManagerFactorySPI emf =
(OpenJPAEntityManagerFactorySPI)getEmf(name, defaultJndiName);
assertNotNull(emf);
- EntityManager em = emf.createEntityManager();
+ OpenJPAEntityManagerSPI em = emf.createEntityManager();
assertNotNull(em);
+ JDBCConfiguration conf = (JDBCConfiguration) em.getConfiguration();
+ DBDictionary dict = conf.getDBDictionaryInstance();
+ if (!(dict instanceof DerbyDictionary)) {
+ // Disable for non-Derby.
+ return;
+ }
+
EntityManager em1 = getEm(emf, name, value);
assertNotNull(em1);
@@ -148,7 +160,7 @@ public class TestOverrideNonJtaDataSourc
}
em.close();
em1.close();
- emf.close();
+ closeEMF(emf);
}
public void testInvalidCfName() throws Exception {
@@ -163,6 +175,8 @@ public class TestOverrideNonJtaDataSourc
System.out.println(e);
assertTrue(e.getMessage().contains("jdbc/NotReal")); // ensure
failing JNDI name is in the message
assertTrue(e.getMessage().contains("EntityManager")); // ensure
where the JNDI name came from is in message
+ } finally {
+ closeEMF(emf);
}
}
@@ -177,6 +191,8 @@ public class TestOverrideNonJtaDataSourc
assertTrue(e.isFatal());
assertTrue(e.getMessage().contains("jdbc/NotReal"));
assertTrue(e.getMessage().contains("L2 Cache"));
+ } finally {
+ closeEMF(emf);
}
}
@@ -191,6 +207,8 @@ public class TestOverrideNonJtaDataSourc
assertTrue(e.isFatal());
assertTrue(e.getMessage().contains("jdbc/NotReal"));
assertTrue(e.getMessage().contains("openjpa.QueryCache"));
+ } finally {
+ closeEMF(emf);
}
}
@@ -205,6 +223,8 @@ public class TestOverrideNonJtaDataSourc
assertTrue(e.isFatal());
assertTrue(e.getMessage().contains("jdbc/NotReal"));
assertTrue(e.getMessage().contains("openjpa.jdbc.SynchronizeMappings"));
+ } finally {
+ closeEMF(emf);
}
}
}
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestSwitchConnection.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestSwitchConnection.java?rev=1006102&r1=1006101&r2=1006102&view=diff
==============================================================================
---
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestSwitchConnection.java
(original)
+++
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/conf/TestSwitchConnection.java
Sat Oct 9 02:10:38 2010
@@ -26,9 +26,14 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.RollbackException;
+import org.apache.openjpa.jdbc.conf.JDBCConfiguration;
+import org.apache.openjpa.jdbc.sql.DBDictionary;
+import org.apache.openjpa.jdbc.sql.DerbyDictionary;
import org.apache.openjpa.persistence.ArgumentException;
+import org.apache.openjpa.persistence.OpenJPAEntityManagerFactorySPI;
+import org.apache.openjpa.persistence.OpenJPAEntityManagerSPI;
import org.apache.openjpa.persistence.test.AbstractPersistenceTestCase;
-import org.apache.openjpa.util.UserException;
+import org.apache.openjpa.persistence.test.AllowFailure;
public class TestSwitchConnection extends AbstractPersistenceTestCase {
private String defaultJndiName = "jdbc/mocked";
@@ -41,7 +46,7 @@ public class TestSwitchConnection extend
em.createQuery("Delete from confPerson").executeUpdate();
em.getTransaction().commit();
em.close();
- emf.close();
+ closeEMF(emf);
}
protected void setUp() {
@@ -79,25 +84,32 @@ public class TestSwitchConnection extend
}
public void testConnectionFactoryName() {
- // TODO Disable for non derby.
+ // Disable for non-Derby.
// split out so that we can try javax.persistence.jtaDataSource in the
future.
overridePropertyOnEM("openjpa.ConnectionFactoryName", jndiNames[0]);
}
public void testJtaDataSource() {
- // TODO Disable for non derby.
+ // Disable for non-Derby.
// split out so that we can try javax.persistence.jtaDataSource in the
future.
overridePropertyOnEM("javax.persistence.jtaDataSource", jndiNames[0]);
}
public void overridePropertyOnEM(String name, String value) {
// use the default JndiName for the base EntityManagerFactory
- EntityManagerFactory emf = getEmf(name, defaultJndiName);
+ OpenJPAEntityManagerFactorySPI emf =
(OpenJPAEntityManagerFactorySPI)getEmf(name, defaultJndiName);
assertNotNull(emf);
- EntityManager em = emf.createEntityManager();
+ OpenJPAEntityManagerSPI em = emf.createEntityManager();
assertNotNull(em);
+ JDBCConfiguration conf = (JDBCConfiguration) em.getConfiguration();
+ DBDictionary dict = conf.getDBDictionaryInstance();
+ if (!(dict instanceof DerbyDictionary)) {
+ // Disable for non-Derby.
+ return;
+ }
+
EntityManager em1 = getEm(emf, name, value);
assertNotNull(em1);
@@ -144,20 +156,24 @@ public class TestSwitchConnection extend
}
em.close();
em1.close();
- emf.close();
+ closeEMF(emf);
}
+ @AllowFailure(message="fails on everything but Derby")
public void testInvalidCfName() throws Exception {
+ // Disable for non-Derby.
// ensure EM creation fails - when provided an invalid JNDI name
EntityManagerFactory emf = null;
try {
- emf = getEmf("openjpa.ConnectionFactoryName", defaultJndiName);
+ emf = getEmf("openjpa.ConnectionFactoryName", defaultJndiName);
getEm(emf, "openjpa.ConnectionFactoryName", "jdbc/NotReal");
fail("Expected an excepton when creating an EM with a bogus JNDI
name");
} catch (ArgumentException e) {
assertTrue(e.isFatal());
assertTrue(e.getMessage().contains("jdbc/NotReal")); // ensure
failing JNDI name is in the message
assertTrue(e.getMessage().contains("EntityManager")); // ensure
where the JNDI name came from is in message
+ } finally {
+ closeEMF(emf);
}
}
@@ -172,6 +188,8 @@ public class TestSwitchConnection extend
assertTrue(e.isFatal());
assertTrue(e.getMessage().contains("jdbc/NotReal"));
assertTrue(e.getMessage().contains("L2 Cache"));
+ } finally {
+ closeEMF(emf);
}
}
@@ -186,6 +204,8 @@ public class TestSwitchConnection extend
assertTrue(e.isFatal());
assertTrue(e.getMessage().contains("jdbc/NotReal"));
assertTrue(e.getMessage().contains("openjpa.QueryCache"));
+ } finally {
+ closeEMF(emf);
}
}
@@ -200,6 +220,8 @@ public class TestSwitchConnection extend
assertTrue(e.isFatal());
assertTrue(e.getMessage().contains("jdbc/NotReal"));
assertTrue(e.getMessage().contains("openjpa.jdbc.SynchronizeMappings"));
+ } finally {
+ closeEMF(emf);
}
}
}