This is an automated email from the ASF dual-hosted git repository.
struberg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openjpa.git
The following commit(s) were added to refs/heads/master by this push:
new 8f3e1bc make derby Driver optional
8f3e1bc is described below
commit 8f3e1bc21aaf745dff450e7da2c29a99283730d3
Author: Mark Struberg <[email protected]>
AuthorDate: Sat Sep 5 19:28:28 2020 +0200
make derby Driver optional
Skip this test if the class is not on the classpath.
This basically happens with every profile other than test-derby
---
.../openjpa/jdbc/sql/TestDelimitIdentifiers.java | 20 ++++++++++++++++----
.../apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java | 17 +++++++++++++++--
2 files changed, 31 insertions(+), 6 deletions(-)
diff --git
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java
index 505c8f0..e91b998 100644
---
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java
+++
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestDelimitIdentifiers.java
@@ -20,7 +20,6 @@ package org.apache.openjpa.jdbc.sql;
import static junit.framework.TestCase.assertEquals;
import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.derby.jdbc.EmbeddedDriver;
import org.apache.openjpa.persistence.PersistenceProviderImpl;
import org.apache.openjpa.persistence.PersistenceUnitInfoImpl;
import org.junit.Test;
@@ -28,12 +27,13 @@ import org.junit.Test;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
+
+import java.sql.Driver;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;
-import static org.junit.Assert.assertNotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.math.BigInteger;
@@ -68,14 +68,26 @@ public class TestDelimitIdentifiers {
setSupportsDelimitedIdentifiers(true);
}
}
-
+
@Test
public void testDelimitIdentifiers() throws SQLException {
+
+ Driver derbyDriver;
+ try {
+ Class derbyClazz =
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
+ derbyDriver = (Driver) derbyClazz.newInstance();
+ }
+ catch (Exception e) {
+ // all fine
+ System.out.println("Skipping Derby specific test because Derby
cannot be found in ClassPath");
+ return;
+ }
+
final PersistenceUnitInfoImpl persistenceUnitInfo = new
PersistenceUnitInfoImpl();
persistenceUnitInfo.setExcludeUnlistedClasses(true);
persistenceUnitInfo.addManagedClassName(AllFieldTypes.class.getName());
final BasicDataSource ds = new BasicDataSource();
- ds.setDriver(new EmbeddedDriver());
+ ds.setDriver(derbyDriver);
ds.setUrl("jdbc:derby:memory:TestDelimitIdentifiers;create=true");
persistenceUnitInfo.setNonJtaDataSource(ds);
// reproducer for OPENJPA-2818
delimitIdentifiers=true,delimitedCase=lower,schemaCase=lower
diff --git
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
index 94d1a51..ac36b1f 100644
---
a/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
+++
b/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/jdbc/sql/TestSnakeCaseDDL.java
@@ -19,7 +19,6 @@
package org.apache.openjpa.jdbc.sql;
import org.apache.commons.dbcp2.BasicDataSource;
-import org.apache.derby.jdbc.EmbeddedDriver;
import org.apache.openjpa.persistence.PersistenceProviderImpl;
import org.apache.openjpa.persistence.PersistenceUnitInfoImpl;
import org.junit.Test;
@@ -29,6 +28,7 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Id;
import java.sql.Connection;
+import java.sql.Driver;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
@@ -46,14 +46,27 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
public class TestSnakeCaseDDL {
+
@Test
public void ddlInSnakeCase() throws SQLException {
+
+ Driver derbyDriver;
+ try {
+ Class derbyClazz =
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
+ derbyDriver = (Driver) derbyClazz.newInstance();
+ }
+ catch (Exception e) {
+ // all fine
+ System.out.println("Skipping Derby specific test because Derby
cannot be found in ClassPath");
+ return;
+ }
+
final PersistenceUnitInfoImpl persistenceUnitInfo = new
PersistenceUnitInfoImpl();
persistenceUnitInfo.setExcludeUnlistedClasses(true);
persistenceUnitInfo.addManagedClassName(MyEntity1.class.getName());
persistenceUnitInfo.addManagedClassName(MyEntity2.class.getName());
final BasicDataSource ds = new BasicDataSource();
- ds.setDriver(new EmbeddedDriver());
+ ds.setDriver(derbyDriver);
ds.setUrl("jdbc:derby:memory:ddlInSnakeCase;create=true");
persistenceUnitInfo.setJtaDataSource(ds);
persistenceUnitInfo.setProperty("openjpa.jdbc.DBDictionary",
"derby(javaToDbColumnNameProcessing=snake_case)");