diff --git a/src/test/java/io/ebean/BaseTestCase.java b/src/test/java/io/ebean/BaseTestCase.java index 8ee3e6fb5..a6f39501d 100644 --- a/src/test/java/io/ebean/BaseTestCase.java +++ b/src/test/java/io/ebean/BaseTestCase.java @@ -51,20 +51,24 @@ public class BaseTestCase { * MS SQL Server does not allow setting explicit values on identity columns * so tests that do this need to be skipped for SQL Server. */ - public boolean isMsSqlServer() { - return platformName().startsWith("sqlserver"); + public boolean isSqlServer() { + return Platform.SQLSERVER == platform(); } public boolean isH2() { - return platformName().equals("h2"); + return Platform.H2 == platform(); + } + + public boolean isOracle() { + return Platform.ORACLE == platform(); } public boolean isPostgres() { - return platformName().equals("postgres"); + return Platform.POSTGRES == platform(); } public boolean isMySql() { - return platformName().equals("mysql"); + return Platform.MYSQL == platform(); } public boolean isPlatformBooleanNative() { @@ -86,8 +90,8 @@ public class BaseTestCase { return spiEbeanServer().getBeanDescriptor(cls); } - protected String platformName() { - return spiEbeanServer().getDatabasePlatform().getName(); + protected Platform platform() { + return spiEbeanServer().getDatabasePlatform().getPlatform(); } protected SpiEbeanServer spiEbeanServer() { diff --git a/src/test/java/io/ebean/SqlRowBooleanTest.java b/src/test/java/io/ebean/SqlRowBooleanTest.java index cac63099d..c2c7a6f15 100644 --- a/src/test/java/io/ebean/SqlRowBooleanTest.java +++ b/src/test/java/io/ebean/SqlRowBooleanTest.java @@ -1,22 +1,22 @@ package io.ebean; -import io.ebean.Ebean; -import io.ebean.SqlQuery; -import io.ebean.SqlRow; import org.junit.Test; import static org.assertj.core.api.Assertions.assertThat; -public class SqlRowBooleanTest { +public class SqlRowBooleanTest extends BaseTestCase { @Test public void getBoolean() { - SqlQuery sqlQuery = Ebean.createSqlQuery("SELECT 1 IS NOT NULL AS ISNT_NULL"); + SqlQuery sqlQuery; + if (isOracle()) { + sqlQuery = Ebean.createSqlQuery("SELECT 1 AS ISNT_NULL from dual"); + } else { + sqlQuery = Ebean.createSqlQuery("SELECT 1 IS NOT NULL AS ISNT_NULL"); + } SqlRow row = sqlQuery.findUnique(); - Boolean value = row.getBoolean("ISNT_NULL"); - assertThat(value).isTrue(); } } diff --git a/src/test/java/org/tests/batchinsert/TestBatchInsertSimple.java b/src/test/java/org/tests/batchinsert/TestBatchInsertSimple.java index 1ca9bf5f4..63834b469 100644 --- a/src/test/java/org/tests/batchinsert/TestBatchInsertSimple.java +++ b/src/test/java/org/tests/batchinsert/TestBatchInsertSimple.java @@ -48,7 +48,7 @@ public class TestBatchInsertSimple extends BaseTestCase { @Test public void testTransactional() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; saveWithFullBatchMode(); } @@ -124,7 +124,7 @@ public class TestBatchInsertSimple extends BaseTestCase { public void testJdbcBatchOnCollection() { // MS SQL Server doesn't like batch inserts when we need getGeneratedKeys - if (isMsSqlServer()) return; + if (isSqlServer()) return; int numOfMasters = 3; diff --git a/src/test/java/org/tests/batchinsert/TestBatchInsertWithInitialisedCollection.java b/src/test/java/org/tests/batchinsert/TestBatchInsertWithInitialisedCollection.java index b3c66c41f..d74cb2b55 100644 --- a/src/test/java/org/tests/batchinsert/TestBatchInsertWithInitialisedCollection.java +++ b/src/test/java/org/tests/batchinsert/TestBatchInsertWithInitialisedCollection.java @@ -18,7 +18,7 @@ public class TestBatchInsertWithInitialisedCollection extends BaseTestCase { @Test public void test() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; List list = new ArrayList(); diff --git a/src/test/java/org/tests/compositekeys/TestOnCascadeDeleteChildrenWithCompositeKeys.java b/src/test/java/org/tests/compositekeys/TestOnCascadeDeleteChildrenWithCompositeKeys.java index 1996bb492..a1da5cddf 100644 --- a/src/test/java/org/tests/compositekeys/TestOnCascadeDeleteChildrenWithCompositeKeys.java +++ b/src/test/java/org/tests/compositekeys/TestOnCascadeDeleteChildrenWithCompositeKeys.java @@ -33,7 +33,7 @@ public class TestOnCascadeDeleteChildrenWithCompositeKeys extends BaseTestCase { @Before public void before() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; // remove all the User records first Ebean.deleteAll(Ebean.find(User.class).findList()); @@ -49,7 +49,7 @@ public class TestOnCascadeDeleteChildrenWithCompositeKeys extends BaseTestCase { @Test public void testDeleteById() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; assertEquals(2, Ebean.find(User.class).findList().size()); Ebean.delete(User.class, 1L); @@ -64,7 +64,7 @@ public class TestOnCascadeDeleteChildrenWithCompositeKeys extends BaseTestCase { @Test public void testDeleteByIdList() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; assertEquals(2, Ebean.find(User.class).findList().size()); List ids = new ArrayList<>(); @@ -78,7 +78,7 @@ public class TestOnCascadeDeleteChildrenWithCompositeKeys extends BaseTestCase { @Test public void testFindByParentIdList() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; assertEquals(2, Ebean.find(User.class).findList().size()); diff --git a/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java b/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java index bbf7a684b..8ec24bc3d 100644 --- a/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java +++ b/src/test/java/org/tests/delete/TestDeleteByIdWithPersistenceContext.java @@ -15,7 +15,7 @@ public class TestDeleteByIdWithPersistenceContext extends BaseTestCase { @Test public void test() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; ResetBasicData.reset(); diff --git a/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenFlushThenUpdate.java b/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenFlushThenUpdate.java index d91c6113e..f6dbb5542 100644 --- a/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenFlushThenUpdate.java +++ b/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenFlushThenUpdate.java @@ -18,7 +18,7 @@ public class TestInsertBatchThenFlushThenUpdate extends BaseTestCase { @Test public void test() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; LoggedSqlCollector.start(); Transaction txn = Ebean.beginTransaction(); diff --git a/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenUpdate.java b/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenUpdate.java index dfbe02e1b..be35fb714 100644 --- a/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenUpdate.java +++ b/src/test/java/org/tests/model/basic/xtra/TestInsertBatchThenUpdate.java @@ -18,7 +18,7 @@ public class TestInsertBatchThenUpdate extends BaseTestCase { @Test public void test() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; LoggedSqlCollector.start(); Transaction txn = Ebean.beginTransaction(); diff --git a/src/test/java/org/tests/model/basic/xtra/TestInsertBatchWithDifferentRootTypes.java b/src/test/java/org/tests/model/basic/xtra/TestInsertBatchWithDifferentRootTypes.java index 67856de3d..d2e752704 100644 --- a/src/test/java/org/tests/model/basic/xtra/TestInsertBatchWithDifferentRootTypes.java +++ b/src/test/java/org/tests/model/basic/xtra/TestInsertBatchWithDifferentRootTypes.java @@ -17,7 +17,7 @@ public class TestInsertBatchWithDifferentRootTypes extends BaseTestCase { @Test public void testDifferRootTypes() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; LoggedSqlCollector.start(); Transaction txn = Ebean.beginTransaction(); diff --git a/src/test/java/org/tests/query/orderby/TestOrderByWithFunction.java b/src/test/java/org/tests/query/orderby/TestOrderByWithFunction.java index be7eda0c4..47d7cf932 100644 --- a/src/test/java/org/tests/query/orderby/TestOrderByWithFunction.java +++ b/src/test/java/org/tests/query/orderby/TestOrderByWithFunction.java @@ -13,7 +13,7 @@ public class TestOrderByWithFunction extends BaseTestCase { @Test public void testWithFunction() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; ResetBasicData.reset(); diff --git a/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java b/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java index 6e5977a70..4c43870e5 100644 --- a/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java +++ b/src/test/java/org/tests/rawsql/TestInsertSqlLogging.java @@ -11,7 +11,7 @@ public class TestInsertSqlLogging extends BaseTestCase { @Test public void test() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; Ebean.delete(AuditLog.class, 10000); diff --git a/src/test/java/org/tests/rawsql/TestRawSqlOrmQuery.java b/src/test/java/org/tests/rawsql/TestRawSqlOrmQuery.java index b8ad938b0..a74ad5315 100644 --- a/src/test/java/org/tests/rawsql/TestRawSqlOrmQuery.java +++ b/src/test/java/org/tests/rawsql/TestRawSqlOrmQuery.java @@ -63,7 +63,7 @@ public class TestRawSqlOrmQuery extends BaseTestCase { @Test public void testFirstRowsMaxRows() throws InterruptedException, ExecutionException { - if (isMsSqlServer()) return; + if (isSqlServer()) return; ResetBasicData.reset(); diff --git a/src/test/java/org/tests/saveassociation/TestSaveSamePK.java b/src/test/java/org/tests/saveassociation/TestSaveSamePK.java index 1fd29f0ae..c89baf955 100644 --- a/src/test/java/org/tests/saveassociation/TestSaveSamePK.java +++ b/src/test/java/org/tests/saveassociation/TestSaveSamePK.java @@ -12,7 +12,7 @@ public class TestSaveSamePK extends BaseTestCase { @Test public void test() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; // delete in case we are running multiple times without full db drop Ebean.delete(TSMaster.class, 10000); diff --git a/src/test/java/org/tests/transaction/TestBatchPersistCascade.java b/src/test/java/org/tests/transaction/TestBatchPersistCascade.java index 7b05b6bac..581ee414c 100644 --- a/src/test/java/org/tests/transaction/TestBatchPersistCascade.java +++ b/src/test/java/org/tests/transaction/TestBatchPersistCascade.java @@ -23,7 +23,7 @@ public class TestBatchPersistCascade extends BaseTestCase { @Test public void test() { - if (isMsSqlServer()) return; + if (isSqlServer()) return; EbeanServer ebeanServer = Ebean.getServer(null); diff --git a/src/test/resources/ebean.properties b/src/test/resources/ebean.properties index d31a62e7b..7d38b7d6f 100644 --- a/src/test/resources/ebean.properties +++ b/src/test/resources/ebean.properties @@ -15,9 +15,9 @@ ebean.encryptKeyManager=org.tests.basic.encrypt.BasicEncyptKeyManager #ebean.autotune.profiling=true #ebean.autotune.profilingUpdateFrequency=5 -ebean.ddl.generate=true -ebean.ddl.run=true -datasource.default=h2 +#ebean.ddl.generate=true +#ebean.ddl.run=true +datasource.default=ora #ebean.persistBatch=NONE