This is an automated email from the ASF dual-hosted git repository. asf-gitbox-commits pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/cayenne.git
commit facdb7a84166bf7b7cf9fa85b0c3faaf7d47566c Author: Andrus Adamchik <[email protected]> AuthorDate: Thu May 14 10:40:24 2026 -0400 tests cleanup - unwinding DI --- .../test/jdbc/{DBHelper.java => DbHelper.java} | 4 +- .../apache/cayenne/test/jdbc/DeleteBuilder.java | 2 +- .../cayenne/test/jdbc/ResultSetTemplate.java | 4 +- .../org/apache/cayenne/test/jdbc/RowTemplate.java | 2 +- .../org/apache/cayenne/test/jdbc/SQLBuilder.java | 6 +- .../org/apache/cayenne/test/jdbc/TableHelper.java | 4 +- .../apache/cayenne/test/jdbc/UpdateBuilder.java | 2 +- .../apache/cayenne/test/jdbc/UpdateTemplate.java | 4 +- .../org/apache/cayenne/test/jdbc/WhereBuilder.java | 4 +- .../cache/invalidation/CacheInvalidationCase.java | 4 +- .../commitlog/unit/AuditableRuntimeCase.java | 4 +- .../commitlog/unit/FlattenedRuntimeCase.java | 4 +- .../apache/cayenne/crypto/Runtime_AES128_Base.java | 6 +- .../org/apache/cayenne/dbsync/merge/MergeCase.java | 5 +- .../dbsync/reverse/dbload/BaseLoaderIT.java | 8 +- .../cayenne/dbsync/reverse/dbload/DbLoaderIT.java | 12 +- .../cayenne/lifecycle/id/StringIdQueryTest.java | 4 +- .../ObjectIdRelationshipHandlerTest.java | 4 +- .../CayennePersistentObjectFlattenedRelIT.java | 1 - .../java/org/apache/cayenne/access/Cay2641IT.java | 40 +- .../cayenne/access/DataContextDeleteRulesIT.java | 1 - .../cayenne/access/DataContextOuterJoinsIT.java | 1 - .../org/apache/cayenne/access/DbGeneratorIT.java | 12 +- .../apache/cayenne/access/IdentityColumnsIT.java | 26 +- .../access/dbsync/SchemaUpdateStrategyBase.java | 7 +- .../cayenne/access/jdbc/SQLTemplateActionIT.java | 590 ++++++++++----------- .../translator/batch/DeleteBatchTranslatorIT.java | 20 +- .../translator/batch/InsertBatchTranslatorIT.java | 2 +- .../batch/SoftDeleteBatchTranslatorIT.java | 33 +- .../translator/batch/UpdateBatchTranslatorIT.java | 20 +- .../translator/ejbql/EJBQLSelectTranslatorIT.java | 11 +- .../select/DefaultObjectSelectTranslatorIT.java | 11 +- .../cayenne/access/types/DateTimeTypesIT.java | 4 +- .../java/org/apache/cayenne/dba/JdbcAdapterIT.java | 6 +- .../org/apache/cayenne/dba/JdbcPkGeneratorIT.java | 29 +- .../java/org/apache/cayenne/query/SQLExecIT.java | 3 - .../unit/di/runtime/AllTestsSchemaManager.java | 24 +- .../cayenne/unit/di/runtime/CayenneTestsEnv.java | 36 +- .../di/runtime/{DBCleaner.java => DbCleaner.java} | 33 +- .../unit/di/runtime/FlavoredDBHelperProvider.java | 8 +- ...FlavoredDBHelper.java => FlavoredDbHelper.java} | 6 +- .../cayenne/unit/di/runtime/PeopleProjectCase.java | 4 +- .../cayenne/unit/di/runtime/RuntimeCaseModule.java | 4 +- .../org/apache/cayenne/unit/jira/CAY_194IT.java | 4 +- 44 files changed, 493 insertions(+), 526 deletions(-) diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DbHelper.java similarity index 99% rename from build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java rename to build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DbHelper.java index 4ad7cce93..f5e0cb983 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DBHelper.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DbHelper.java @@ -33,11 +33,11 @@ import java.util.List; * JDBC utility class for setting up and analyzing the DB data sets. DBHelper * intentionally bypasses Cayenne stack. */ -public class DBHelper { +public class DbHelper { protected final DataSource dataSource; - public DBHelper(DataSource dataSource) { + public DbHelper(DataSource dataSource) { this.dataSource = dataSource; } diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DeleteBuilder.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DeleteBuilder.java index 7f4c307c1..956331c12 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DeleteBuilder.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/DeleteBuilder.java @@ -20,7 +20,7 @@ package org.apache.cayenne.test.jdbc; public class DeleteBuilder extends SQLBuilder { - protected DeleteBuilder(DBHelper dbHelper, String tableName) { + protected DeleteBuilder(DbHelper dbHelper, String tableName) { super(dbHelper); sqlBuffer.append("delete from ").append(dbHelper.quote(tableName)); } diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/ResultSetTemplate.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/ResultSetTemplate.java index 59c87e71d..371d532e1 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/ResultSetTemplate.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/ResultSetTemplate.java @@ -25,9 +25,9 @@ import java.sql.SQLException; abstract class ResultSetTemplate<T> { - DBHelper parent; + DbHelper parent; - public ResultSetTemplate(DBHelper parent) { + public ResultSetTemplate(DbHelper parent) { this.parent = parent; } diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/RowTemplate.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/RowTemplate.java index 16eb40caa..d51e87c5c 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/RowTemplate.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/RowTemplate.java @@ -26,7 +26,7 @@ import java.sql.SQLException; */ abstract class RowTemplate<T> extends ResultSetTemplate<T> { - public RowTemplate(DBHelper parent) { + public RowTemplate(DbHelper parent) { super(parent); } diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLBuilder.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLBuilder.java index 3f5fa208e..27baf56cf 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLBuilder.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/SQLBuilder.java @@ -26,12 +26,12 @@ public abstract class SQLBuilder { static final int NO_TYPE = Integer.MIN_VALUE; - protected final DBHelper dbHelper; + protected final DbHelper dbHelper; protected final Collection<Object> bindings; protected final Collection<Integer> bindingTypes; protected final StringBuilder sqlBuffer; - protected SQLBuilder(DBHelper dbHelper) { + protected SQLBuilder(DbHelper dbHelper) { this( dbHelper, new StringBuilder(), @@ -40,7 +40,7 @@ public abstract class SQLBuilder { } protected SQLBuilder( - DBHelper dbHelper, + DbHelper dbHelper, StringBuilder sqlBuffer, Collection<Object> bindings, Collection<Integer> bindingTypes) { diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/TableHelper.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/TableHelper.java index 3cf889f78..6178c0ed6 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/TableHelper.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/TableHelper.java @@ -29,12 +29,12 @@ import java.util.List; */ public class TableHelper { - private final DBHelper dbHelper; + private final DbHelper dbHelper; private final String tableName; private String[] columns; private int[] columnTypes; - public TableHelper(DBHelper dbHelper, String tableName, String... columns) { + public TableHelper(DbHelper dbHelper, String tableName, String... columns) { this.dbHelper = dbHelper; this.tableName = tableName; this.columns = columns; diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateBuilder.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateBuilder.java index e560639d8..e159e533c 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateBuilder.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateBuilder.java @@ -22,7 +22,7 @@ public class UpdateBuilder extends SQLBuilder { protected int setCount; - protected UpdateBuilder(DBHelper dbHelper, String tableName) { + protected UpdateBuilder(DbHelper dbHelper, String tableName) { super(dbHelper); sqlBuffer.append("update ").append(dbHelper.quote(tableName)).append(" set "); } diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateTemplate.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateTemplate.java index e844c18bf..be2d85eda 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateTemplate.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/UpdateTemplate.java @@ -25,9 +25,9 @@ import java.util.Collection; class UpdateTemplate { - DBHelper parent; + DbHelper parent; - public UpdateTemplate(DBHelper parent) { + public UpdateTemplate(DbHelper parent) { this.parent = parent; } diff --git a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/WhereBuilder.java b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/WhereBuilder.java index e010b0ca0..64b765514 100644 --- a/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/WhereBuilder.java +++ b/build-tools/cayenne-test-utilities/src/main/java/org/apache/cayenne/test/jdbc/WhereBuilder.java @@ -24,8 +24,8 @@ public class WhereBuilder extends SQLBuilder { protected int whereCount; - protected WhereBuilder(DBHelper dbHelper, StringBuilder sqlBuffer, - Collection<Object> bindings, Collection<Integer> bindingTypes) { + protected WhereBuilder(DbHelper dbHelper, StringBuilder sqlBuffer, + Collection<Object> bindings, Collection<Integer> bindingTypes) { super(dbHelper, sqlBuffer, bindings, bindingTypes); sqlBuffer.append(" where "); } diff --git a/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java b/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java index 7afa8cd86..45701ad78 100644 --- a/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java +++ b/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java @@ -21,7 +21,7 @@ package org.apache.cayenne.cache.invalidation; import org.apache.cayenne.di.Module; import org.apache.cayenne.runtime.CayenneRuntime; import org.apache.cayenne.runtime.CayenneRuntimeBuilder; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -38,7 +38,7 @@ public abstract class CacheInvalidationCase { public void startCayenne() throws Exception { this.runtime = configureCayenne().build(); - DBHelper dbHelper = new DBHelper(runtime.getDataSource()); + DbHelper dbHelper = new DbHelper(runtime.getDataSource()); this.e1 = new TableHelper(dbHelper, "E1").setColumns("ID"); this.e1.deleteAll(); diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableRuntimeCase.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableRuntimeCase.java index 1afb8a088..ab006130f 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableRuntimeCase.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/AuditableRuntimeCase.java @@ -20,7 +20,7 @@ package org.apache.cayenne.commitlog.unit; import org.apache.cayenne.runtime.CayenneRuntime; import org.apache.cayenne.runtime.CayenneRuntimeBuilder; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -51,7 +51,7 @@ public abstract class AuditableRuntimeCase { public void startCayenne() throws Exception { this.runtime = configureCayenne().build(); - DBHelper dbHelper = new DBHelper(runtime.getDataSource()); + DbHelper dbHelper = new DbHelper(runtime.getDataSource()); this.auditLog = new TableHelper(dbHelper, "AUDIT_LOG").setColumns("ID", "LOG"); diff --git a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedRuntimeCase.java b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedRuntimeCase.java index 83293d08d..4980ac85c 100644 --- a/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedRuntimeCase.java +++ b/cayenne-commitlog/src/test/java/org/apache/cayenne/commitlog/unit/FlattenedRuntimeCase.java @@ -20,7 +20,7 @@ package org.apache.cayenne.commitlog.unit; import org.apache.cayenne.runtime.CayenneRuntime; import org.apache.cayenne.runtime.CayenneRuntimeBuilder; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -37,7 +37,7 @@ public class FlattenedRuntimeCase { public void startCayenne() throws Exception { this.runtime = configureCayenne().build(); - DBHelper dbHelper = new DBHelper(runtime.getDataSource()); + DbHelper dbHelper = new DbHelper(runtime.getDataSource()); this.e3 = new TableHelper(dbHelper, "E3").setColumns("ID"); this.e4 = new TableHelper(dbHelper, "E4").setColumns("ID"); diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Base.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Base.java index b2a989d88..7a9b776d5 100644 --- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Base.java +++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_AES128_Base.java @@ -21,7 +21,7 @@ package org.apache.cayenne.crypto; import org.apache.cayenne.crypto.key.JceksKeySourceTest; import org.apache.cayenne.di.Module; import org.apache.cayenne.runtime.CayenneRuntime; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import java.net.URL; @@ -40,10 +40,10 @@ public class Runtime_AES128_Base { Module crypto = createCryptoModule(compress, useHMAC); this.runtime = createRuntime(crypto); - setupTestTables(new DBHelper(runtime.getDataSource(null))); + setupTestTables(new DbHelper(runtime.getDataSource(null))); } - protected void setupTestTables(DBHelper dbHelper) throws SQLException { + protected void setupTestTables(DbHelper dbHelper) throws SQLException { this.table2 = new TableHelper(dbHelper, "TABLE2").setColumns("ID", "PLAIN_BYTES", "CRYPTO_BYTES"); table2.deleteAll(); diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java index c4b772830..4f790479b 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java @@ -42,11 +42,10 @@ import org.apache.cayenne.map.DbAttribute; import org.apache.cayenne.map.DbEntity; import org.apache.cayenne.map.EntityResolver; import org.apache.cayenne.runtime.CayenneRuntime; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.apache.cayenne.unit.di.runtime.DBCleaner; import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory; import org.slf4j.Logger; import org.junit.jupiter.api.BeforeEach; @@ -76,7 +75,7 @@ public abstract class MergeCase { protected DataNode node; protected DataMap map; private final Logger logger = LoggerFactory.getLogger(MergeCase.class); - private DBHelper dbHelper; + private DbHelper dbHelper; private CayenneRuntime runtime; protected UnitDbAdapter accessStackAdapter; private RuntimeCaseDataSourceFactory dataSourceFactory; diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java index 115b23ab0..a18f31ba3 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/BaseLoaderIT.java @@ -19,11 +19,9 @@ package org.apache.cayenne.dbsync.reverse.dbload; -import java.sql.Connection; - import org.apache.cayenne.dba.DbAdapter; -import org.apache.cayenne.map.DbEntity; import org.apache.cayenne.dbsync.model.DetectedDbEntity; +import org.apache.cayenne.map.DbEntity; import org.apache.cayenne.runtime.CayenneRuntime; import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.runtime.CayenneProjects; @@ -33,6 +31,8 @@ import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.extension.RegisterExtension; +import java.sql.Connection; + import static org.junit.jupiter.api.Assertions.assertTrue; public class BaseLoaderIT { @@ -53,7 +53,7 @@ public class BaseLoaderIT { @BeforeEach public void before() throws Exception { - adapter = env.dbAdapter(); + adapter = env.dataNode().getAdapter(); runtime = env.runtime(); dataSourceFactory = env.dataSourceFactory(); accessStackAdapter = env.unitDbAdapter(); diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java index dc0d5334b..1a2dc247a 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbload/DbLoaderIT.java @@ -36,18 +36,14 @@ import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; import org.apache.cayenne.unit.di.runtime.RuntimeCaseDataSourceFactory; -import java.sql.Connection; - import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertNull; -import static org.junit.jupiter.api.Assertions.assertTrue; +import java.sql.Connection; + +import static org.junit.jupiter.api.Assertions.*; /** * All tests have been moved to corresponding loaders tests. @@ -150,7 +146,7 @@ public class DbLoaderIT { @BeforeEach public void before() throws Exception { runtime = env.runtime(); - adapter = env.dbAdapter(); + adapter = env.dataNode().getAdapter(); dataSourceFactory = env.dataSourceFactory(); accessStackAdapter = env.unitDbAdapter(); this.connection = dataSourceFactory.getSharedDataSource().getConnection(); diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java index 1eea6eeee..f7d7ace01 100644 --- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java +++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/id/StringIdQueryTest.java @@ -21,7 +21,7 @@ package org.apache.cayenne.lifecycle.id; import org.apache.cayenne.DataRow; import org.apache.cayenne.QueryResponse; import org.apache.cayenne.runtime.CayenneRuntime; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -44,7 +44,7 @@ public class StringIdQueryTest { @BeforeEach public void setUp() { runtime = CayenneRuntime.builder().addConfig("cayenne-lifecycle.xml").build(); - DBHelper dbHelper = new DBHelper(runtime.getDataSource("lifecycle-db")); + DbHelper dbHelper = new DbHelper(runtime.getDataSource("lifecycle-db")); e1Helper = new TableHelper(dbHelper, "E1", "ID"); e2Helper = new TableHelper(dbHelper, "E2", "ID"); } diff --git a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java index 913b73fcf..399e5c8f9 100644 --- a/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java +++ b/cayenne-lifecycle/src/test/java/org/apache/cayenne/lifecycle/relationship/ObjectIdRelationshipHandlerTest.java @@ -25,7 +25,7 @@ import org.apache.cayenne.lifecycle.db.UuidRoot1; import org.apache.cayenne.lifecycle.id.IdCoder; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.runtime.CayenneRuntime; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; @@ -51,7 +51,7 @@ public class ObjectIdRelationshipHandlerTest { runtime.getDataDomain().addQueryFilter(filter); runtime.getDataDomain().getEntityResolver().getCallbackRegistry().addListener(filter); - DBHelper dbHelper = new DBHelper(runtime.getDataSource(null)); + DbHelper dbHelper = new DbHelper(runtime.getDataSource(null)); rootTable = new TableHelper(dbHelper, "UUID_ROOT1").setColumns("ID", "UUID"); rootTable.deleteAll(); diff --git a/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectFlattenedRelIT.java b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectFlattenedRelIT.java index 7cea42447..72ce5dc37 100644 --- a/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectFlattenedRelIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/CayennePersistentObjectFlattenedRelIT.java @@ -28,7 +28,6 @@ import org.apache.cayenne.testdo.testmap.Artist; import org.apache.cayenne.unit.di.DataChannelInterceptor; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.apache.cayenne.unit.di.runtime.DBCleaner; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java b/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java index 632590a7b..476fd1d39 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/Cay2641IT.java @@ -49,7 +49,7 @@ public class Cay2641IT { @BeforeEach public void setup() throws Exception { - adapter = env.dbAdapter(); + adapter = env.dataNode().getAdapter(); TableHelper th = env.table("ArtistLazy") .setColumns("ID", "NAME", "SURNAME") @@ -85,10 +85,10 @@ public class Cay2641IT { public void typeAttributes() { List<ArtistLazy> artists = ObjectSelect.query(ArtistLazy.class).select(env.context()); - Object object = artists.get(0).readPropertyDirectly("name"); - assertTrue(object instanceof Fault); + Object object = artists.getFirst().readPropertyDirectly("name"); + assertInstanceOf(Fault.class, object); - object = artists.get(0).readPropertyDirectly("surname"); + object = artists.getFirst().readPropertyDirectly("surname"); assertEquals("artist2", object); } @@ -97,7 +97,7 @@ public class Cay2641IT { ArtistLazy artist = ObjectSelect.query(ArtistLazy.class).selectFirst(env.context()); Object object = artist.readPropertyDirectly("name"); - assertTrue(object instanceof Fault); + assertInstanceOf(Fault.class, object); artist.getName(); object = artist.readPropertyDirectly("name"); @@ -122,22 +122,22 @@ public class Cay2641IT { .prefetch(PaintingLazy.ARTIST.joint()) .select(env.context()); - Object object = paintingLazyList.get(0).readPropertyDirectly("name"); - assertTrue(object instanceof Fault); + Object object = paintingLazyList.getFirst().readPropertyDirectly("name"); + assertInstanceOf(Fault.class, object); - object = paintingLazyList.get(0).getName(); - assertTrue(object instanceof String); + object = paintingLazyList.getFirst().getName(); + assertInstanceOf(String.class, object); assertEquals("painting1", object); - ArtistLazy artist = (ArtistLazy) paintingLazyList.get(0).readPropertyDirectly("artist"); + ArtistLazy artist = (ArtistLazy) paintingLazyList.getFirst().readPropertyDirectly("artist"); object = artist.readPropertyDirectly("name"); - assertTrue(object instanceof Fault); + assertInstanceOf(Fault.class, object); object = artist.readPropertyDirectly("surname"); assertEquals("artist2", object); object = artist.getName(); - assertTrue(object instanceof String); + assertInstanceOf(String.class, object); assertEquals("artist1", object); } @@ -146,11 +146,11 @@ public class Cay2641IT { DatamapLazy optimistic = DatamapLazy.getInstance(); List<ArtistLazy> artistLazies = optimistic.performSimpleSelect(env.context()); - Object object = artistLazies.get(0).readPropertyDirectly("name"); - assertTrue(object instanceof Fault); + Object object = artistLazies.getFirst().readPropertyDirectly("name"); + assertInstanceOf(Fault.class, object); - object = artistLazies.get(0).readPropertyDirectly("surname"); - assertTrue(object instanceof String); + object = artistLazies.getFirst().readPropertyDirectly("surname"); + assertInstanceOf(String.class, object); assertEquals("artist2", object); } @@ -159,11 +159,11 @@ public class Cay2641IT { DatamapLazy optimistic = DatamapLazy.getInstance(); List<PaintingLazy> paintingLazies = optimistic.performPrefetchSelect(env.context()); - Object object = paintingLazies.get(0).readPropertyDirectly("name"); - assertTrue(object instanceof Fault); + Object object = paintingLazies.getFirst().readPropertyDirectly("name"); + assertInstanceOf(Fault.class, object); - ArtistLazy artist = (ArtistLazy) paintingLazies.get(0).readPropertyDirectly("artist"); + ArtistLazy artist = (ArtistLazy) paintingLazies.getFirst().readPropertyDirectly("artist"); object = artist.readPropertyDirectly("name"); - assertTrue(object instanceof Fault); + assertInstanceOf(Fault.class, object); } } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java index 69fce148c..ff3f7c13b 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDeleteRulesIT.java @@ -39,7 +39,6 @@ import org.apache.cayenne.testdo.testmap.Painting; import org.apache.cayenne.testdo.testmap.PaintingInfo; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.apache.cayenne.unit.di.runtime.DBCleaner; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java index 718e45e7d..ff9aa3a49 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextOuterJoinsIT.java @@ -25,7 +25,6 @@ import org.apache.cayenne.testdo.testmap.Artist; import org.apache.cayenne.testdo.testmap.Painting; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.apache.cayenne.unit.di.runtime.DBCleaner; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.RegisterExtension; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java index f7501d35e..b991477dd 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DbGeneratorIT.java @@ -43,7 +43,7 @@ public class DbGeneratorIT { @BeforeEach public void setUp() throws Exception { - adapter = env.dbAdapter(); + adapter = env.dataNode().getAdapter(); runtime = env.runtime(); generator = new DbGenerator(adapter, runtime .getDataDomain() @@ -56,7 +56,7 @@ public class DbGeneratorIT { } @Test - public void pkFilteringLogic() throws Exception { + public void pkFilteringLogic() { DataMap map = runtime.getDataDomain().getDataMap("testmap"); DbEntity artistExhibit = map.getDbEntity("ARTIST_EXHIBIT"); DbEntity exhibit = map.getDbEntity("EXHIBIT"); @@ -72,7 +72,7 @@ public class DbGeneratorIT { } @Test - public void createPkSupport() throws Exception { + public void createPkSupport() { assertTrue(generator.shouldCreatePKSupport()); generator.setShouldCreatePKSupport(false); assertFalse(generator.shouldCreatePKSupport()); @@ -80,14 +80,14 @@ public class DbGeneratorIT { } @Test - public void shouldCreateTables() throws Exception { + public void shouldCreateTables() { assertTrue(generator.shouldCreateTables()); generator.setShouldCreateTables(false); assertFalse(generator.shouldCreateTables()); } @Test - public void dropPkSupport() throws Exception { + public void dropPkSupport() { assertFalse(generator.shouldDropPKSupport()); generator.setShouldDropPKSupport(true); @@ -95,7 +95,7 @@ public class DbGeneratorIT { } @Test - public void shouldDropTables() throws Exception { + public void shouldDropTables() { assertFalse(generator.shouldDropTables()); generator.setShouldDropTables(true); assertTrue(generator.shouldDropTables()); diff --git a/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java index 700e50b25..f4dde2f4b 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/IdentityColumnsIT.java @@ -19,12 +19,9 @@ package org.apache.cayenne.access; -import java.util.List; - import org.apache.cayenne.Cayenne; import org.apache.cayenne.ObjectId; import org.apache.cayenne.Persistent; -import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.map.DbAttribute; import org.apache.cayenne.map.DbEntity; import org.apache.cayenne.query.ObjectSelect; @@ -39,29 +36,24 @@ import org.apache.cayenne.testdo.generated.GeneratedF2; import org.apache.cayenne.testdo.generated.GeneratedReflexive; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertTrue; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.*; public class IdentityColumnsIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.GENERATED_PROJECT); - protected DbAdapter adapter; - protected DataNode node; - - protected TableHelper joinTable; - + private DataNode node; + private TableHelper joinTable; @BeforeEach public void setUp() throws Exception { - adapter = env.dbAdapter(); node = env.dataNode(); joinTable = env.table("GENERATED_JOIN"); } @@ -122,7 +114,7 @@ public class IdentityColumnsIT { // for comparison DbEntity joinTableEntity = env.context().getEntityResolver().getDbEntity(joinTable.getTableName()); DbAttribute pkAttribute = joinTableEntity.getAttribute("ID"); - Number pk = (Number) adapter.getPkGenerator().generatePk(node, pkAttribute); + Number pk = (Number) node.getAdapter().getPkGenerator().generatePk(node, pkAttribute); GeneratedF1 f1 = env.context().newObject(GeneratedF1.class); GeneratedF2 f2 = env.context().newObject(GeneratedF2.class); @@ -137,7 +129,7 @@ public class IdentityColumnsIT { // PkGenertor provided ids... This sorta works though if pk generator // has a 200 // base value - if (adapter.supportsGeneratedKeys()) { + if (node.getAdapter().supportsGeneratedKeys()) { assertFalse(id == pk.intValue() + 1, "Looks like auto-increment wasn't used for the join table. ID: " + id); } else { assertEquals(id, pk.intValue() + 1); @@ -219,7 +211,7 @@ public class IdentityColumnsIT { @Test public void compoundPKWithGeneratedColumn() throws Exception { - if (adapter.supportsGeneratedKeys()) { + if (node.getAdapter().supportsGeneratedKeys()) { // only works for generated keys, as the entity tested has one // Cayenne // auto-pk and one generated key diff --git a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java index c2406acfd..f0ec255b5 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/dbsync/SchemaUpdateStrategyBase.java @@ -21,7 +21,6 @@ package org.apache.cayenne.access.dbsync; import org.apache.cayenne.CayenneRuntimeException; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.access.DataNode; -import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.map.DataMap; import org.apache.cayenne.query.SQLTemplate; import org.apache.cayenne.unit.di.runtime.CayenneProjects; @@ -49,17 +48,15 @@ public class SchemaUpdateStrategyBase { protected ObjectContext context; protected DataNode node; - protected DbAdapter adapter; @BeforeEach public void cleanUpDB() { context = env.context(); node = env.dataNode(); - adapter = env.dbAdapter(); DataMap map = node.getEntityResolver().getDataMap("sus-map"); for (String name : existingTables()) { - for (String drop : adapter.dropTableStatements(map.getDbEntity(name))) { + for (String drop : node.getAdapter().dropTableStatements(map.getDbEntity(name))) { context.performGenericQuery(new SQLTemplate(Object.class, drop)); } } @@ -82,7 +79,7 @@ public class SchemaUpdateStrategyBase { protected void createOneTable(String entityName) { DataMap map = node.getEntityResolver().getDataMap("sus-map"); - String createTable = adapter.createTable(map.getDbEntity(entityName)); + String createTable = node.getAdapter().createTable(map.getDbEntity(entityName)); context.performGenericQuery(new SQLTemplate(Object.class, createTable)); } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java index 371a170fa..1d1b6fb6b 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/jdbc/SQLTemplateActionIT.java @@ -23,7 +23,6 @@ import org.apache.cayenne.DataRow; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.access.DataNode; import org.apache.cayenne.access.MockOperationObserver; -import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.query.CapsStrategy; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.query.SQLAction; @@ -52,307 +51,304 @@ import static org.junit.jupiter.api.Assertions.*; @SuppressWarnings("deprecation") public class SQLTemplateActionIT { - @RegisterExtension - static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT); - - protected RuntimeCaseDataSourceFactory dataSourceFactory; - protected DataNode node; - protected DbAdapter adapter; - protected UnitDbAdapter unitDbAdapter; - protected ObjectContext objectContext; - protected SQLTemplateCustomizer sqlTemplateCustomizer; - - protected TableHelper tArtist; - - @BeforeEach - public void setUp() throws Exception { - dataSourceFactory = env.dataSourceFactory(); - node = env.dataNode(); - adapter = env.dbAdapter(); - unitDbAdapter = env.unitDbAdapter(); - objectContext = env.context(); - sqlTemplateCustomizer = env.sqlTemplateCustomizer(); - tArtist = env.table("ARTIST", "ARTIST_ID", "ARTIST_NAME", "DATE_OF_BIRTH"); - } - - protected void createFourArtists() throws Exception { - - Date date = new Date(System.currentTimeMillis()); - - tArtist.insert(11, "artist2", date); - tArtist.insert(101, "artist3", date); - tArtist.insert(201, "artist4", date); - tArtist.insert(3001, "artist5", date); - } - - @Test - public void properties() { - SQLTemplate template = new SQLTemplate(Object.class, "AAAAA"); - - SQLTemplateAction action = new SQLTemplateAction(template, node); - assertSame(template, action.getQuery()); - assertSame(node, action.dataNode); - } - - @Test - public void executeSelect() throws Exception { - createFourArtists(); + @RegisterExtension + static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT); + + private RuntimeCaseDataSourceFactory dataSourceFactory; + private DataNode node; + private UnitDbAdapter unitDbAdapter; + private ObjectContext context; + private SQLTemplateCustomizer sqlTemplateCustomizer; + private TableHelper tArtist; + + @BeforeEach + public void setUp() throws Exception { + dataSourceFactory = env.dataSourceFactory(); + node = env.dataNode(); + unitDbAdapter = env.unitDbAdapter(); + context = env.context(); + sqlTemplateCustomizer = env.sqlTemplateCustomizer(); + tArtist = env.table("ARTIST", "ARTIST_ID", "ARTIST_NAME", "DATE_OF_BIRTH"); + } + + protected void createFourArtists() throws Exception { + + Date date = new Date(System.currentTimeMillis()); + + tArtist.insert(11, "artist2", date); + tArtist.insert(101, "artist3", date); + tArtist.insert(201, "artist4", date); + tArtist.insert(3001, "artist5", date); + } + + @Test + public void properties() { + SQLTemplate template = new SQLTemplate(Object.class, "AAAAA"); + + SQLTemplateAction action = new SQLTemplateAction(template, node); + assertSame(template, action.getQuery()); + assertSame(node, action.dataNode); + } + + @Test + public void executeSelect() throws Exception { + createFourArtists(); + + String templateString = "SELECT * FROM ARTIST WHERE ARTIST_ID = #bind($id)"; + SQLTemplate template = new SQLTemplate(Object.class, templateString); + sqlTemplateCustomizer.updateSQLTemplate(template); + + Map<String, Object> bindings = new HashMap<>(); + bindings.put("id", 201L); + template.setParameters(bindings); + + // must ensure the right SQLTemplateAction is created + + SQLAction plan = node.getAdapter().getAction(template, node); + assertTrue(plan instanceof SQLTemplateAction); + + MockOperationObserver observer = new MockOperationObserver(); - String templateString = "SELECT * FROM ARTIST WHERE ARTIST_ID = #bind($id)"; - SQLTemplate template = new SQLTemplate(Object.class, templateString); - sqlTemplateCustomizer.updateSQLTemplate(template); + try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { + plan.performAction(c, observer); + } - Map<String, Object> bindings = new HashMap<>(); - bindings.put("id", 201L); - template.setParameters(bindings); + List<DataRow> rows = observer.rowsForQuery(template); + assertNotNull(rows); + assertEquals(1, rows.size()); + DataRow row = rows.get(0); + + // In the absence of ObjEntity most DB's return a Long here, except for + // Oracle + // that has no BIGINT type and + // returns BigDecimal, so do a Number comparison + Number id = (Number) row.get("ARTIST_ID"); + assertNotNull(id); + assertEquals(((Number) bindings.get("id")).longValue(), id.longValue()); + assertEquals("artist4", row.get("ARTIST_NAME")); + assertTrue(row.containsKey("DATE_OF_BIRTH")); + } - // must ensure the right SQLTemplateAction is created - - SQLAction plan = adapter.getAction(template, node); - assertTrue(plan instanceof SQLTemplateAction); - - MockOperationObserver observer = new MockOperationObserver(); + @Test + public void selectObjects() throws Exception { + createFourArtists(); - try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { - plan.performAction(c, observer); - } + String templateString = "SELECT * FROM ARTIST"; + SQLTemplate sqlTemplate = new SQLTemplate(Artist.class, templateString); - List<DataRow> rows = observer.rowsForQuery(template); - assertNotNull(rows); - assertEquals(1, rows.size()); - DataRow row = rows.get(0); + if (unitDbAdapter.isLowerCaseNames()) { + sqlTemplate.setColumnNamesCapitalization(CapsStrategy.UPPER); + } - // In the absence of ObjEntity most DB's return a Long here, except for - // Oracle - // that has no BIGINT type and - // returns BigDecimal, so do a Number comparison - Number id = (Number) row.get("ARTIST_ID"); - assertNotNull(id); - assertEquals(((Number) bindings.get("id")).longValue(), id.longValue()); - assertEquals("artist4", row.get("ARTIST_NAME")); - assertTrue(row.containsKey("DATE_OF_BIRTH")); - } - - @Test - public void selectObjects() throws Exception { - createFourArtists(); - - String templateString = "SELECT * FROM ARTIST"; - SQLTemplate sqlTemplate = new SQLTemplate(Artist.class, templateString); - - if(unitDbAdapter.isLowerCaseNames()) { - sqlTemplate.setColumnNamesCapitalization(CapsStrategy.UPPER); - } - - @SuppressWarnings("unchecked") - List<Artist> artists = (List<Artist>)objectContext.performQuery(sqlTemplate); - - assertEquals(4, artists.size()); - for(Artist artist : artists){ - assertTrue(artist.getArtistName().startsWith("artist")); - } - } - - @Test - public void selectUtilDate() throws Exception { - createFourArtists(); - - String templateString = "SELECT #result('DATE_OF_BIRTH' 'java.util.Date' 'DOB') " - + "FROM ARTIST WHERE ARTIST_ID = #bind($id)"; - SQLTemplate template = new SQLTemplate(Object.class, templateString); - sqlTemplateCustomizer.updateSQLTemplate(template); - - Map<String, Object> bindings = new HashMap<>(); - bindings.put("id", 101); - template.setParameters(bindings); - - SQLAction plan = adapter.getAction(template, node); - - MockOperationObserver observer = new MockOperationObserver(); - - try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { - plan.performAction(c, observer); - } - - List<DataRow> rows = observer.rowsForQuery(template); - assertNotNull(rows); - assertEquals(1, rows.size()); - DataRow row = rows.get(0); - - assertNotNull(row.get("DOB")); - assertEquals(java.util.Date.class, row.get("DOB").getClass()); - } - - @Test - public void selectSQLDate() throws Exception { - createFourArtists(); - - String templateString = "SELECT #result('DATE_OF_BIRTH' 'java.sql.Date' 'DOB') " - + "FROM ARTIST WHERE ARTIST_ID = #bind($id)"; - SQLTemplate template = new SQLTemplate(Object.class, templateString); - sqlTemplateCustomizer.updateSQLTemplate(template); - - Map<String, Object> bindings = new HashMap<>(); - bindings.put("id", 101); - template.setParameters(bindings); - - SQLAction plan = adapter.getAction(template, node); - - MockOperationObserver observer = new MockOperationObserver(); - - try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { - plan.performAction(c, observer); - } - - List<DataRow> rows = observer.rowsForQuery(template); - assertNotNull(rows); - assertEquals(1, rows.size()); - DataRow row = rows.get(0); - - assertNotNull(row.get("DOB")); - assertEquals(java.sql.Date.class, row.get("DOB").getClass()); - } - - @Test - public void selectSQLTimestamp() throws Exception { - createFourArtists(); - - String templateString = "SELECT #result('DATE_OF_BIRTH' 'java.sql.Timestamp' 'DOB') " - + "FROM ARTIST WHERE ARTIST_ID = #bind($id)"; - SQLTemplate template = new SQLTemplate(Object.class, templateString); - sqlTemplateCustomizer.updateSQLTemplate(template); - - Map<String, Object> bindings = new HashMap<>(); - bindings.put("id", 201); - template.setParameters(bindings); - - SQLAction plan = adapter.getAction(template, node); - - MockOperationObserver observer = new MockOperationObserver(); - - try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { - plan.performAction(c, observer); - } - - List<DataRow> rows = observer.rowsForQuery(template); - assertNotNull(rows); - assertEquals(1, rows.size()); - DataRow row = rows.get(0); - - assertNotNull(row.get("DOB")); - // Sybase returns a Timestamp subclass... so can't test equality - assertTrue(java.sql.Timestamp.class.isAssignableFrom(row.get("DOB").getClass())); - } - - @Test - public void executeUpdate() throws Exception { - String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) " - + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))"; - SQLTemplate template = new SQLTemplate(Object.class, templateString); - - Map<String, Object> bindings = new HashMap<>(); - bindings.put("id", 1L); - bindings.put("name", "a1"); - bindings.put("dob", new Date(System.currentTimeMillis())); - template.setParameters(bindings); - - SQLAction action = adapter.getAction(template, node); - - try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { - MockOperationObserver observer = new MockOperationObserver(); - action.performAction(c, observer); - - int[] batches = observer.countsForQuery(template); - assertNotNull(batches); - assertEquals(1, batches.length); - assertEquals(1, batches[0]); - } - assertEquals(1, tArtist.getRowCount()); - assertEquals(1L, tArtist.getLong("ARTIST_ID")); - assertEquals("a1", tArtist.getString("ARTIST_NAME").trim()); - } - - @Test - public void executeUpdateNoParameters() throws Exception { - createFourArtists(); - - SQLTemplate template = new SQLTemplate(Object.class, "delete from ARTIST where ARTIST_NAME like 'a%'"); - - SQLAction action = adapter.getAction(template, node); - - try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { - MockOperationObserver observer = new MockOperationObserver(); - action.performAction(c, observer); - - int[] batches = observer.countsForQuery(template); - assertNotNull(batches); - assertEquals(1, batches.length); - assertEquals(4, batches[0]); - } - } - - @Test - public void executeUpdateBatch() throws Exception { - String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) " - + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))"; - SQLTemplate template = new SQLTemplate(Object.class, templateString); - - Map<String, Object> bindings1 = new HashMap<>(); - bindings1.put("id", 1L); - bindings1.put("name", "a1"); - bindings1.put("dob", new Date(System.currentTimeMillis())); - - Map<String, Object> bindings2 = new HashMap<>(); - bindings2.put("id", 33L); - bindings2.put("name", "a$$$$$"); - bindings2.put("dob", new Date(System.currentTimeMillis())); - template.setParameters(new Map[] { bindings1, bindings2 }); - - SQLAction genericAction = adapter.getAction(template, node); - assertTrue(genericAction instanceof SQLTemplateAction); - SQLTemplateAction action = (SQLTemplateAction) genericAction; - - assertSame(node, action.dataNode); - assertSame(template, action.getQuery()); - - try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { - MockOperationObserver observer = new MockOperationObserver(); - action.performAction(c, observer); - - int[] batches = observer.countsForQuery(template); - assertNotNull(batches); - assertEquals(2, batches.length); - assertEquals(1, batches[0]); - assertEquals(1, batches[1]); - } - - MockOperationObserver observer = new MockOperationObserver(); - ObjectSelect<Artist> query = ObjectSelect.query(Artist.class) - .orderBy("db:ARTIST_ID", SortOrder.ASCENDING); - node.performQueries(Collections.singletonList(query), observer); - - @SuppressWarnings("unchecked") - List<DataRow> data = observer.rowsForQuery(query); - assertEquals(2, data.size()); - DataRow row1 = data.get(0); - assertEquals(bindings1.get("id"), row1.get("ARTIST_ID")); - assertEquals(bindings1.get("name"), row1.get("ARTIST_NAME")); - // to compare dates we need to create the binding correctly - // assertEquals(bindings1.get("dob"), row.get("DATE_OF_BIRTH")); - - DataRow row2 = data.get(1); - assertEquals(bindings2.get("id"), row2.get("ARTIST_ID")); - assertEquals(bindings2.get("name"), row2.get("ARTIST_NAME")); - // to compare dates we need to create the binding correctly - // assertEquals(bindings2.get("dob"), row2.get("DATE_OF_BIRTH")); - } - - @Test - public void extractTemplateString() { - SQLTemplate template = new SQLTemplate(Artist.class, "A\nBC"); - SQLTemplateAction action = new SQLTemplateAction(template, node); - - assertEquals("A BC", action.extractTemplateString()); - } + @SuppressWarnings("unchecked") + List<Artist> artists = (List<Artist>) context.performQuery(sqlTemplate); + + assertEquals(4, artists.size()); + for (Artist artist : artists) { + assertTrue(artist.getArtistName().startsWith("artist")); + } + } + + @Test + public void selectUtilDate() throws Exception { + createFourArtists(); + + String templateString = "SELECT #result('DATE_OF_BIRTH' 'java.util.Date' 'DOB') " + + "FROM ARTIST WHERE ARTIST_ID = #bind($id)"; + SQLTemplate template = new SQLTemplate(Object.class, templateString); + sqlTemplateCustomizer.updateSQLTemplate(template); + + Map<String, Object> bindings = new HashMap<>(); + bindings.put("id", 101); + template.setParameters(bindings); + + SQLAction plan = node.getAdapter().getAction(template, node); + + MockOperationObserver observer = new MockOperationObserver(); + + try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { + plan.performAction(c, observer); + } + + List<DataRow> rows = observer.rowsForQuery(template); + assertNotNull(rows); + assertEquals(1, rows.size()); + DataRow row = rows.get(0); + + assertNotNull(row.get("DOB")); + assertEquals(java.util.Date.class, row.get("DOB").getClass()); + } + + @Test + public void selectSQLDate() throws Exception { + createFourArtists(); + + String templateString = "SELECT #result('DATE_OF_BIRTH' 'java.sql.Date' 'DOB') " + + "FROM ARTIST WHERE ARTIST_ID = #bind($id)"; + SQLTemplate template = new SQLTemplate(Object.class, templateString); + sqlTemplateCustomizer.updateSQLTemplate(template); + + Map<String, Object> bindings = new HashMap<>(); + bindings.put("id", 101); + template.setParameters(bindings); + + SQLAction plan = node.getAdapter().getAction(template, node); + + MockOperationObserver observer = new MockOperationObserver(); + + try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { + plan.performAction(c, observer); + } + + List<DataRow> rows = observer.rowsForQuery(template); + assertNotNull(rows); + assertEquals(1, rows.size()); + DataRow row = rows.get(0); + + assertNotNull(row.get("DOB")); + assertEquals(java.sql.Date.class, row.get("DOB").getClass()); + } + + @Test + public void selectSQLTimestamp() throws Exception { + createFourArtists(); + + String templateString = "SELECT #result('DATE_OF_BIRTH' 'java.sql.Timestamp' 'DOB') " + + "FROM ARTIST WHERE ARTIST_ID = #bind($id)"; + SQLTemplate template = new SQLTemplate(Object.class, templateString); + sqlTemplateCustomizer.updateSQLTemplate(template); + + Map<String, Object> bindings = new HashMap<>(); + bindings.put("id", 201); + template.setParameters(bindings); + + SQLAction plan = node.getAdapter().getAction(template, node); + + MockOperationObserver observer = new MockOperationObserver(); + + try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { + plan.performAction(c, observer); + } + + List<DataRow> rows = observer.rowsForQuery(template); + assertNotNull(rows); + assertEquals(1, rows.size()); + DataRow row = rows.get(0); + + assertNotNull(row.get("DOB")); + // Sybase returns a Timestamp subclass... so can't test equality + assertTrue(java.sql.Timestamp.class.isAssignableFrom(row.get("DOB").getClass())); + } + + @Test + public void executeUpdate() throws Exception { + String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) " + + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))"; + SQLTemplate template = new SQLTemplate(Object.class, templateString); + + Map<String, Object> bindings = new HashMap<>(); + bindings.put("id", 1L); + bindings.put("name", "a1"); + bindings.put("dob", new Date(System.currentTimeMillis())); + template.setParameters(bindings); + + SQLAction action = node.getAdapter().getAction(template, node); + + try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { + MockOperationObserver observer = new MockOperationObserver(); + action.performAction(c, observer); + + int[] batches = observer.countsForQuery(template); + assertNotNull(batches); + assertEquals(1, batches.length); + assertEquals(1, batches[0]); + } + assertEquals(1, tArtist.getRowCount()); + assertEquals(1L, tArtist.getLong("ARTIST_ID")); + assertEquals("a1", tArtist.getString("ARTIST_NAME").trim()); + } + + @Test + public void executeUpdateNoParameters() throws Exception { + createFourArtists(); + + SQLTemplate template = new SQLTemplate(Object.class, "delete from ARTIST where ARTIST_NAME like 'a%'"); + + SQLAction action = node.getAdapter().getAction(template, node); + + try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { + MockOperationObserver observer = new MockOperationObserver(); + action.performAction(c, observer); + + int[] batches = observer.countsForQuery(template); + assertNotNull(batches); + assertEquals(1, batches.length); + assertEquals(4, batches[0]); + } + } + + @Test + public void executeUpdateBatch() throws Exception { + String templateString = "INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME, DATE_OF_BIRTH) " + + "VALUES (#bind($id), #bind($name), #bind($dob 'DATE'))"; + SQLTemplate template = new SQLTemplate(Object.class, templateString); + + Map<String, Object> bindings1 = new HashMap<>(); + bindings1.put("id", 1L); + bindings1.put("name", "a1"); + bindings1.put("dob", new Date(System.currentTimeMillis())); + + Map<String, Object> bindings2 = new HashMap<>(); + bindings2.put("id", 33L); + bindings2.put("name", "a$$$$$"); + bindings2.put("dob", new Date(System.currentTimeMillis())); + template.setParameters(bindings1, bindings2); + + SQLAction genericAction = node.getAdapter().getAction(template, node); + assertTrue(genericAction instanceof SQLTemplateAction); + SQLTemplateAction action = (SQLTemplateAction) genericAction; + + assertSame(node, action.dataNode); + assertSame(template, action.getQuery()); + + try (Connection c = dataSourceFactory.getSharedDataSource().getConnection();) { + MockOperationObserver observer = new MockOperationObserver(); + action.performAction(c, observer); + + int[] batches = observer.countsForQuery(template); + assertNotNull(batches); + assertEquals(2, batches.length); + assertEquals(1, batches[0]); + assertEquals(1, batches[1]); + } + + MockOperationObserver observer = new MockOperationObserver(); + ObjectSelect<Artist> query = ObjectSelect.query(Artist.class) + .orderBy("db:ARTIST_ID", SortOrder.ASCENDING); + node.performQueries(Collections.singletonList(query), observer); + + @SuppressWarnings("unchecked") + List<DataRow> data = observer.rowsForQuery(query); + assertEquals(2, data.size()); + DataRow row1 = data.get(0); + assertEquals(bindings1.get("id"), row1.get("ARTIST_ID")); + assertEquals(bindings1.get("name"), row1.get("ARTIST_NAME")); + // to compare dates we need to create the binding correctly + // assertEquals(bindings1.get("dob"), row.get("DATE_OF_BIRTH")); + + DataRow row2 = data.get(1); + assertEquals(bindings2.get("id"), row2.get("ARTIST_ID")); + assertEquals(bindings2.get("name"), row2.get("ARTIST_NAME")); + // to compare dates we need to create the binding correctly + // assertEquals(bindings2.get("dob"), row2.get("DATE_OF_BIRTH")); + } + + @Test + public void extractTemplateString() { + SQLTemplate template = new SQLTemplate(Artist.class, "A\nBC"); + SQLTemplateAction action = new SQLTemplateAction(template, node); + + assertEquals("A BC", action.extractTemplateString()); + } } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java index cf9adfae2..f90332d2f 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/DeleteBatchTranslatorIT.java @@ -19,11 +19,6 @@ package org.apache.cayenne.access.translator.batch; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.dba.JdbcAdapter; import org.apache.cayenne.di.AdhocObjectFactory; @@ -35,13 +30,16 @@ import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity; import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.junit.jupiter.api.extension.RegisterExtension; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.mock; public class DeleteBatchTranslatorIT { @@ -58,7 +56,7 @@ public class DeleteBatchTranslatorIT { @BeforeEach public void setUp() { runtime = env.runtime(); - adapter = env.dbAdapter(); + adapter = env.dataNode().getAdapter(); unitAdapter = env.unitDbAdapter(); objectFactory = env.adhocObjectFactory(); } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java index 20db19a3c..83dbbd362 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/InsertBatchTranslatorIT.java @@ -51,7 +51,7 @@ public class InsertBatchTranslatorIT { @BeforeEach public void setUp() { runtime = env.runtime(); - adapter = env.dbAdapter(); + adapter = env.dataNode().getAdapter(); unitAdapter = env.unitDbAdapter(); objectFactory = env.adhocObjectFactory(); } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java index 37c6d96e2..b89ce0222 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/SoftDeleteBatchTranslatorIT.java @@ -18,10 +18,6 @@ ****************************************************************/ package org.apache.cayenne.access.translator.batch; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.List; import org.apache.cayenne.PersistenceState; import org.apache.cayenne.access.DataNode; import org.apache.cayenne.dba.DbAdapter; @@ -39,9 +35,14 @@ import org.apache.cayenne.testdo.soft_delete.SoftDelete; import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.junit.jupiter.api.extension.RegisterExtension; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; @@ -51,24 +52,22 @@ public class SoftDeleteBatchTranslatorIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.SOFT_DELETE_PROJECT); - protected DbAdapter adapter; - private DataNode dataNode; + private DataNode node; private UnitDbAdapter unitAdapter; private AdhocObjectFactory objectFactory; private DeleteBatchTranslator createTranslator(DeleteBatchQuery query) { - JdbcAdapter adapter = objectFactory.newInstance(JdbcAdapter.class, JdbcAdapter.class.getName()); + DbAdapter adapter = objectFactory.newInstance(JdbcAdapter.class, JdbcAdapter.class.getName()); return createTranslator(query, adapter); } - private DeleteBatchTranslator createTranslator(DeleteBatchQuery query, JdbcAdapter adapter) { + private DeleteBatchTranslator createTranslator(DeleteBatchQuery query, DbAdapter adapter) { return (DeleteBatchTranslator) new SoftDeleteTranslatorFactory().translator(query, adapter, null); } @BeforeEach public void setUp() { - adapter = env.dbAdapter(); - dataNode = env.dataNode(); + node = env.dataNode(); unitAdapter = env.unitDbAdapter(); objectFactory = env.adhocObjectFactory(); } @@ -111,7 +110,7 @@ public class SoftDeleteBatchTranslatorIT { List<DbAttribute> idAttributes = Collections.singletonList(entity.getAttribute("ID")); DeleteBatchQuery deleteQuery = new DeleteBatchQuery(entity, idAttributes, Collections.emptySet(), 1); - JdbcAdapter adapter = (JdbcAdapter) this.adapter; + DbAdapter adapter = node.getAdapter(); DeleteBatchTranslator builder = createTranslator(deleteQuery, adapter); String generatedSql = builder.getSql(); @@ -130,11 +129,11 @@ public class SoftDeleteBatchTranslatorIT { @Test public void update() throws Exception { - final DbEntity entity = env.context().getEntityResolver().getObjEntity(SoftDelete.class).getDbEntity(); + DbEntity entity = env.context().getEntityResolver().getObjEntity(SoftDelete.class).getDbEntity(); - BatchTranslatorFactory oldFactory = dataNode.getBatchTranslatorFactory(); + BatchTranslatorFactory oldFactory = node.getBatchTranslatorFactory(); try { - dataNode.setBatchTranslatorFactory(new SoftDeleteTranslatorFactory()); + node.setBatchTranslatorFactory(new SoftDeleteTranslatorFactory()); final SoftDelete test = env.context().newObject(SoftDelete.class); test.setName("SoftDeleteBatchQueryBuilderTest"); @@ -170,7 +169,7 @@ public class SoftDeleteBatchTranslatorIT { }.runTest(200); } finally { env.context().performQuery(new SQLTemplate(entity, "DELETE FROM SOFT_DELETE")); - dataNode.setBatchTranslatorFactory(oldFactory); + node.setBatchTranslatorFactory(oldFactory); } } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java index b6756ec10..8b2c0c3e4 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/batch/UpdateBatchTranslatorIT.java @@ -19,11 +19,6 @@ package org.apache.cayenne.access.translator.batch; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.List; - import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.dba.JdbcAdapter; import org.apache.cayenne.di.AdhocObjectFactory; @@ -35,13 +30,16 @@ import org.apache.cayenne.testdo.locking.SimpleLockingTestEntity; import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.junit.jupiter.api.extension.RegisterExtension; -import org.junit.jupiter.api.Test; import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; -import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.assertNotNull; -import static org.junit.jupiter.api.Assertions.assertSame; +import static org.junit.jupiter.api.Assertions.*; import static org.mockito.Mockito.mock; public class UpdateBatchTranslatorIT { @@ -58,7 +56,7 @@ public class UpdateBatchTranslatorIT { @BeforeEach public void setUp() { runtime = env.runtime(); - adapter = env.dbAdapter(); + adapter = env.dataNode().getAdapter(); unitAdapter = env.unitDbAdapter(); objectFactory = env.adhocObjectFactory(); } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java index 024adb8cf..2900fbecc 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/ejbql/EJBQLSelectTranslatorIT.java @@ -18,17 +18,16 @@ ****************************************************************/ package org.apache.cayenne.access.translator.ejbql; -import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.ejbql.EJBQLCompiledExpression; import org.apache.cayenne.ejbql.EJBQLParser; import org.apache.cayenne.ejbql.EJBQLParserFactory; import org.apache.cayenne.query.EJBQLQuery; import org.apache.cayenne.query.SQLTemplate; -import org.apache.cayenne.runtime.CayenneRuntime; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + import java.util.Collections; import java.util.HashMap; import java.util.Map; @@ -57,7 +56,7 @@ public class EJBQLSelectTranslatorIT { }; EJBQLTranslationContext tr = new EJBQLTranslationContext(env.runtime().getDataDomain().getEntityResolver(), query, - select, new JdbcEJBQLTranslatorFactory(), env.dbAdapter().getQuotingStrategy()); + select, new JdbcEJBQLTranslatorFactory(), env.dataNode().getAdapter().getQuotingStrategy()); select.getExpression().visit(new EJBQLSelectTranslator(tr)); return tr.getQuery(); } @@ -309,7 +308,7 @@ public class EJBQLSelectTranslatorIT { query.setParameter("x", null); EJBQLTranslationContext tr = new EJBQLTranslationContext(env.runtime().getDataDomain().getEntityResolver(), query, - select, new JdbcEJBQLTranslatorFactory(), env.dbAdapter().getQuotingStrategy()); + select, new JdbcEJBQLTranslatorFactory(), env.dataNode().getAdapter().getQuotingStrategy()); select.getExpression().visit(new EJBQLSelectTranslator(tr)); String sql = tr.getQuery().getDefaultTemplate(); assertTrue(sql.endsWith("t0.ARTIST_ID IS NULL"), sql); @@ -326,7 +325,7 @@ public class EJBQLSelectTranslatorIT { query.setParameter("b", "Y"); EJBQLTranslationContext tr = new EJBQLTranslationContext(env.runtime().getDataDomain().getEntityResolver(), query, - select, new JdbcEJBQLTranslatorFactory(), env.dbAdapter().getQuotingStrategy()); + select, new JdbcEJBQLTranslatorFactory(), env.dataNode().getAdapter().getQuotingStrategy()); select.getExpression().visit(new EJBQLSelectTranslator(tr)); String sql = tr.getQuery().getDefaultTemplate(); assertTrue(sql.endsWith("t0.ARTIST_ID IS NULL OR t1.ARTIST_NAME = #bind($id0)"), sql); diff --git a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java index 6f32cf234..34a2b5dd4 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/translator/select/DefaultObjectSelectTranslatorIT.java @@ -19,15 +19,14 @@ package org.apache.cayenne.access.translator.select; -import org.apache.cayenne.access.DataContext; -import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.testdo.testmap.Artist; import org.apache.cayenne.testdo.testmap.Painting; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; -import org.junit.jupiter.api.extension.RegisterExtension; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.RegisterExtension; + import static org.junit.jupiter.api.Assertions.*; public class DefaultObjectSelectTranslatorIT { @@ -38,7 +37,7 @@ public class DefaultObjectSelectTranslatorIT { @Test public void simpleSql() { ObjectSelect<Artist> select = ObjectSelect.query(Artist.class); - DefaultSelectTranslator translator = new DefaultSelectTranslator(select, env.dbAdapter(), env.context().getEntityResolver()); + DefaultSelectTranslator translator = new DefaultSelectTranslator(select, env.dataNode().getAdapter(), env.context().getEntityResolver()); String sql = translator.getSql(); assertTrue(sql.startsWith("SELECT ")); @@ -61,7 +60,7 @@ public class DefaultObjectSelectTranslatorIT { ObjectSelect<Artist> select = ObjectSelect.query(Artist.class, Artist.ARTIST_NAME.eq("artist") .andExp(Artist.PAINTING_ARRAY.dot(Painting.PAINTING_TITLE).eq("painting"))); - DefaultSelectTranslator translator = new DefaultSelectTranslator(select, env.dbAdapter(), env.context().getEntityResolver()); + DefaultSelectTranslator translator = new DefaultSelectTranslator(select, env.dataNode().getAdapter(), env.context().getEntityResolver()); String sql = translator.getSql(); assertTrue(sql.startsWith("SELECT DISTINCT")); @@ -89,7 +88,7 @@ public class DefaultObjectSelectTranslatorIT { public void selectWithJointPrefetch() { ObjectSelect<Painting> select = ObjectSelect.query(Painting.class).prefetch(Painting.TO_ARTIST.joint()); - DefaultSelectTranslator translator = new DefaultSelectTranslator(select, env.dbAdapter(), env.context().getEntityResolver()); + DefaultSelectTranslator translator = new DefaultSelectTranslator(select, env.dataNode().getAdapter(), env.context().getEntityResolver()); String sql = translator.getSql(); diff --git a/cayenne/src/test/java/org/apache/cayenne/access/types/DateTimeTypesIT.java b/cayenne/src/test/java/org/apache/cayenne/access/types/DateTimeTypesIT.java index 2fbfa3dd0..3b11a93c5 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/types/DateTimeTypesIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/types/DateTimeTypesIT.java @@ -23,7 +23,7 @@ import org.apache.cayenne.access.DataContext; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.query.SQLExec; import org.apache.cayenne.query.SQLSelect; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.testdo.datetime.DurationTestEntity; import org.apache.cayenne.testdo.datetime.LocalDateTestEntity; import org.apache.cayenne.testdo.datetime.LocalDateTimeTestEntity; @@ -61,7 +61,7 @@ public class DateTimeTypesIT { public void before() throws SQLException { context = env.context(); unitDbAdapter = env.unitDbAdapter(); - DBHelper dbHelper = env.dbHelper(); + DbHelper dbHelper = env.dbHelper(); dbHelper.deleteAll("LOCAL_DATE_TEST"); dbHelper.deleteAll("LOCAL_DATETIME_TEST"); dbHelper.deleteAll("LOCAL_TIME_TEST"); diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java index b665ffd8e..db9418694 100644 --- a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcAdapterIT.java @@ -20,7 +20,6 @@ package org.apache.cayenne.dba; import org.apache.cayenne.dba.mysql.MySQLAdapter; -import org.apache.cayenne.di.AdhocObjectFactory; import org.apache.cayenne.map.DataMap; import org.apache.cayenne.map.DbAttribute; import org.apache.cayenne.map.DbEntity; @@ -63,7 +62,7 @@ public class JdbcAdapterIT { @Test public void createTableQuoteSqlIdentifiers() { - if (env.dbAdapter() instanceof MySQLAdapter) { + if (env.dataNode().getAdapter() instanceof MySQLAdapter mySQLAdapter) { DbEntity entity = new DbEntity(); DbAttribute attr = new DbAttribute(); @@ -79,9 +78,8 @@ public class JdbcAdapterIT { entity.setDataMap(dm); entity.setName("name table"); - MySQLAdapter adaptMySQL = (MySQLAdapter) env.dbAdapter(); String str = "CREATE TABLE `name table` (`name column` CHAR NULL) ENGINE=InnoDB"; - assertEquals(str, adaptMySQL.createTable(entity)); + assertEquals(str, mySQLAdapter.createTable(entity)); } } } diff --git a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java index 78f23afd2..39af0df33 100644 --- a/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/dba/JdbcPkGeneratorIT.java @@ -33,6 +33,7 @@ import org.junit.jupiter.api.extension.RegisterExtension; import java.util.Collections; +import static org.junit.jupiter.api.Assertions.assertInstanceOf; import static org.junit.jupiter.api.Assertions.assertTrue; public class JdbcPkGeneratorIT { @@ -40,36 +41,34 @@ public class JdbcPkGeneratorIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT); - private DbAdapter adapter; private DataNode node; - private AllTestsSchemaManager schemaBuilder; + private AllTestsSchemaManager schemaManager; @BeforeEach public void setUp() throws Exception { - adapter = env.dbAdapter(); node = env.dataNode(); - schemaBuilder = env.schemaBuilder(); - schemaBuilder.dropPKSupport(); + schemaManager = env.schemaManager(); + schemaManager.dropPKSupport(); } @AfterEach public void tearDown() throws Exception { - if (JdbcPkGenerator.class.isAssignableFrom(adapter.getPkGenerator().getClass())) { + if (JdbcPkGenerator.class.isAssignableFrom(node.getAdapter().getPkGenerator().getClass())) { // reset PK gen properly before updating PKs in DB - JdbcPkGenerator pkGenerator = (JdbcPkGenerator) adapter.getPkGenerator(); + JdbcPkGenerator pkGenerator = (JdbcPkGenerator) node.getAdapter().getPkGenerator(); pkGenerator.setPkStartValue(JdbcPkGenerator.DEFAULT_PK_START_VALUE); - schemaBuilder.dropPKSupport(); - schemaBuilder.createPKSupport(); + schemaManager.dropPKSupport(); + schemaManager.createPKSupport(); } } @Test public void longPk() throws Exception { - if (!JdbcPkGenerator.class.isAssignableFrom(adapter.getPkGenerator().getClass())) { + if (!JdbcPkGenerator.class.isAssignableFrom(node.getAdapter().getPkGenerator().getClass())) { return; } @@ -77,18 +76,18 @@ public class JdbcPkGeneratorIT { DbAttribute pkAttribute = artistEntity.getAttribute(Artist.ARTIST_ID_PK_COLUMN); - JdbcPkGenerator pkGenerator = (JdbcPkGenerator) adapter.getPkGenerator(); + JdbcPkGenerator pkGenerator = (JdbcPkGenerator) node.getAdapter().getPkGenerator(); pkGenerator.setPkStartValue(Integer.MAX_VALUE * 2L); - if (!JdbcPkGenerator.class.equals(adapter.getPkGenerator().getClass()) && - !DerbyPkGenerator.class.equals(adapter.getPkGenerator().getClass())) { // AUTO_PK_SUPPORT doesn't allow dropping PK support for a single entity + if (!JdbcPkGenerator.class.equals(node.getAdapter().getPkGenerator().getClass()) && + !DerbyPkGenerator.class.equals(node.getAdapter().getPkGenerator().getClass())) { // AUTO_PK_SUPPORT doesn't allow dropping PK support for a single entity pkGenerator.dropAutoPk(node, Collections.singletonList(artistEntity)); } pkGenerator.createAutoPk(node, Collections.singletonList(artistEntity)); pkGenerator.reset(); Object pk = pkGenerator.generatePk(node, pkAttribute); - assertTrue(pk instanceof Long); - assertTrue(((Long) pk).longValue() > Integer.MAX_VALUE, "PK is too small: " + pk); + assertInstanceOf(Long.class, pk); + assertTrue((Long) pk > Integer.MAX_VALUE, "PK is too small: " + pk); } } diff --git a/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java b/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java index f6def0be8..8e1de6427 100644 --- a/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/query/SQLExecIT.java @@ -23,9 +23,6 @@ import java.util.Map; import org.apache.cayenne.DataRow; import org.apache.cayenne.QueryResult; -import org.apache.cayenne.access.DataContext; -import org.apache.cayenne.test.jdbc.DBHelper; -import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.runtime.CayenneProjects; import org.apache.cayenne.unit.di.runtime.CayenneTestsEnv; import org.junit.jupiter.api.Test; diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/AllTestsSchemaManager.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/AllTestsSchemaManager.java index a402867ca..e76798efc 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/AllTestsSchemaManager.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/AllTestsSchemaManager.java @@ -228,16 +228,20 @@ public class AllTestsSchemaManager { } } - public List<DbEntity> dbEntitiesInInsertOrder(DataMap map) { - return sortedDbEntities(map, false); + public List<DbEntity> dbEntitiesInInsertOrder(String mapName) { + return sortedDbEntities(mapName, false); } - public List<DbEntity> dbEntitiesInDeleteOrder(DataMap map) { - return sortedDbEntities(map, true); + public List<DbEntity> dbEntitiesInDeleteOrder(String mapName) { + return sortedDbEntities(mapName, true); } - private List<DbEntity> sortedDbEntities(DataMap map, boolean deleteOrder) { - DataMap localMap = domain.getDataMap(map.getName()); + private List<DbEntity> sortedDbEntities(String mapName, boolean deleteOrder) { + + // intentionally taking "mapName", not a "map", as we need to resolve the corresponding map in our private + // namespace defined by "domain" + + DataMap localMap = domain.getDataMap(mapName); List<DbEntity> entities = new ArrayList<>(localMap.getDbEntities()); entities.removeAll(excludeEntities(entities)); @@ -309,7 +313,7 @@ public class AllTestsSchemaManager { private void dropSchema(DataNode node, DataMap map) throws Exception { - List<DbEntity> list = dbEntitiesInInsertOrder(map); + List<DbEntity> list = dbEntitiesInInsertOrder(map.getName()); try (Connection conn = dataSourceFactory.getSharedDataSource().getConnection()) { @@ -355,12 +359,12 @@ public class AllTestsSchemaManager { } private void dropPKSupport(DataNode node, DataMap map) throws Exception { - List<DbEntity> filteredEntities = dbEntitiesInInsertOrder(map); + List<DbEntity> filteredEntities = dbEntitiesInInsertOrder(map.getName()); node.getAdapter().getPkGenerator().dropAutoPk(node, filteredEntities); } private void createPKSupport(DataNode node, DataMap map) throws Exception { - List<DbEntity> filteredEntities = dbEntitiesInInsertOrder(map); + List<DbEntity> filteredEntities = dbEntitiesInInsertOrder(map.getName()); node.getAdapter().getPkGenerator().createAutoPk(node, filteredEntities); } @@ -385,7 +389,7 @@ public class AllTestsSchemaManager { private Collection<String> tableCreateQueries(DataNode node, DataMap map) { DbAdapter adapter = node.getAdapter(); - List<DbEntity> orderedEntities = dbEntitiesInInsertOrder(map); + List<DbEntity> orderedEntities = dbEntitiesInInsertOrder(map.getName()); List<DbEntity> excludedEntities = excludeEntities(map.getDbEntities()); DbGenerator gen = new DbGenerator(adapter, map, excludedEntities, domain, jdbcEventLogger); List<String> queries = new ArrayList<>(); diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneTestsEnv.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneTestsEnv.java index 482dd7427..664747bb8 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneTestsEnv.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/CayenneTestsEnv.java @@ -24,16 +24,16 @@ import org.apache.cayenne.access.DataNode; import org.apache.cayenne.configuration.Constants; import org.apache.cayenne.configuration.DataSourceDescriptor; import org.apache.cayenne.configuration.runtime.CoreModule; -import org.apache.cayenne.dba.DbAdapter; import org.apache.cayenne.di.AdhocObjectFactory; import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.DIBootstrap; import org.apache.cayenne.di.Injector; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.spi.DefaultScope; +import org.apache.cayenne.map.DataMap; import org.apache.cayenne.map.EntityResolver; import org.apache.cayenne.runtime.CayenneRuntime; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import org.apache.cayenne.unit.UnitDbAdapter; import org.apache.cayenne.unit.di.DataChannelInterceptor; @@ -42,6 +42,8 @@ import org.junit.jupiter.api.extension.AfterEachCallback; import org.junit.jupiter.api.extension.BeforeEachCallback; import org.junit.jupiter.api.extension.ExtensionContext; +import java.util.stream.Collectors; + /** * JUnit 5 extension that wires a Cayenne test environment. */ @@ -62,8 +64,8 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { private final boolean weakReferenceStrategy; private DataContext context; - private DBHelper dbHelper; - private DBCleaner dbCleaner; + private DbHelper dbHelper; + private DbCleaner dbCleaner; private CayenneRuntime runtime; private CayenneTestsEnv(String project, Class<?>[] extraModules, boolean autoClean, boolean weakReferenceStrategy) { @@ -103,7 +105,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { } @Override - public void beforeEach(ExtensionContext ctx) throws Exception { + public void beforeEach(ExtensionContext ctx) { INJECTOR.getInstance(RuntimeCaseProperties.class).setConfigurationLocation(project); Class<?>[] effectiveExtras = extraModules; @@ -116,18 +118,14 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { this.runtime = INJECTOR.getInstance(CayenneRuntime.class); this.context = (DataContext) runtime.newContext(); - this.dbHelper = INJECTOR.getInstance(DBHelper.class); - this.dbCleaner = new DBCleaner( - (FlavoredDBHelper) dbHelper, + this.dbHelper = INJECTOR.getInstance(DbHelper.class); + this.dbCleaner = new DbCleaner( INJECTOR.getInstance(AllTestsSchemaManager.class), - runtime.getDataDomain().getDataMaps()); + dbHelper, + context.getEntityResolver().getDataMaps().stream().map(DataMap::getName).collect(Collectors.toSet())); if (autoClean) { - try { - dbCleaner.clean(); - } catch (Exception ex) { - dbCleaner.clean(); - } + dbCleaner.clean(); } } @@ -144,7 +142,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { return context; } - public DBHelper dbHelper() { + public DbHelper dbHelper() { return dbHelper; } @@ -160,10 +158,6 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { return INJECTOR.getInstance(UnitDbAdapter.class); } - public DbAdapter dbAdapter() { - return INJECTOR.getInstance(DbAdapter.class); - } - public EntityResolver entityResolver() { return runtime.getDataDomain().getEntityResolver(); } @@ -185,7 +179,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { return INJECTOR.getInstance(RuntimeCaseDataSourceFactory.class); } - public DBCleaner dbCleaner() { + public DbCleaner dbCleaner() { return dbCleaner; } @@ -197,7 +191,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { return INJECTOR.getInstance(SQLTemplateCustomizer.class); } - public AllTestsSchemaManager schemaBuilder() { + public AllTestsSchemaManager schemaManager() { return INJECTOR.getInstance(AllTestsSchemaManager.class); } diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleaner.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DbCleaner.java similarity index 59% rename from cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleaner.java rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DbCleaner.java index d5150fd5a..6801d8d80 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DBCleaner.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/DbCleaner.java @@ -19,30 +19,35 @@ package org.apache.cayenne.unit.di.runtime; -import org.apache.cayenne.map.DataMap; import org.apache.cayenne.map.DbEntity; +import org.apache.cayenne.test.jdbc.DbHelper; import java.sql.SQLException; -import java.util.Collection; -import java.util.List; +import java.util.Set; -public class DBCleaner { +/** + * Cleans up test data in the scope of a given test DataMaps. + */ +public class DbCleaner { - private final FlavoredDBHelper dbHelper; - private final AllTestsSchemaManager schemaBuilder; - private final Collection<DataMap> dataMaps; + private final DbHelper dbHelper; + private final AllTestsSchemaManager parentSchemaManager; + private final Set<String> dataMaps; - public DBCleaner(FlavoredDBHelper dbHelper, AllTestsSchemaManager schemaBuilder, Collection<DataMap> dataMaps) { + public DbCleaner(AllTestsSchemaManager parentSchemaManager, DbHelper dbHelper, Set<String> dataMaps) { + this.parentSchemaManager = parentSchemaManager; this.dbHelper = dbHelper; - this.schemaBuilder = schemaBuilder; this.dataMaps = dataMaps; } - public void clean() throws SQLException { - for (DataMap map : dataMaps) { - List<DbEntity> entities = schemaBuilder.dbEntitiesInDeleteOrder(map); - for (DbEntity entity : entities) { - dbHelper.deleteAll(entity.getName()); + public void clean() { + for (String map : dataMaps) { + for (DbEntity entity : parentSchemaManager.dbEntitiesInDeleteOrder(map)) { + try { + dbHelper.deleteAll(entity.getName()); + } catch (SQLException e) { + throw new RuntimeException(e); + } } } } diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelperProvider.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelperProvider.java index 0b8a56b46..4ee294820 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelperProvider.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelperProvider.java @@ -25,9 +25,9 @@ import org.apache.cayenne.di.Inject; import org.apache.cayenne.di.Provider; import org.apache.cayenne.map.DataMap; import org.apache.cayenne.runtime.CayenneRuntime; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; -public class FlavoredDBHelperProvider implements Provider<DBHelper> { +public class FlavoredDBHelperProvider implements Provider<DbHelper> { @Inject protected RuntimeCaseDataSourceFactory dataSourceFactory; @@ -39,9 +39,9 @@ public class FlavoredDBHelperProvider implements Provider<DBHelper> { @Inject protected DbAdapter adapter; - public DBHelper get() throws ConfigurationException { + public DbHelper get() throws ConfigurationException { DataChannel channel = runtimeProvider.get().getChannel(); DataMap firstMap = channel.getEntityResolver().getDataMaps().iterator().next(); - return new FlavoredDBHelper(dataSourceFactory.getSharedDataSource(), adapter.getQuotingStrategy(), firstMap); + return new FlavoredDbHelper(dataSourceFactory.getSharedDataSource(), adapter.getQuotingStrategy(), firstMap); } } diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelper.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDbHelper.java similarity index 90% rename from cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelper.java rename to cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDbHelper.java index 2039f3e27..bb41f2e40 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDBHelper.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/FlavoredDbHelper.java @@ -20,19 +20,19 @@ package org.apache.cayenne.unit.di.runtime; import org.apache.cayenne.dba.QuotingStrategy; import org.apache.cayenne.map.DataMap; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import javax.sql.DataSource; /** * A DbHelper that understands various supported DB flavors. */ -public class FlavoredDBHelper extends DBHelper { +public class FlavoredDbHelper extends DbHelper { private final QuotingStrategy quotingStrategy; private final DataMap dataMap; - public FlavoredDBHelper(DataSource dataSource, QuotingStrategy quotingStrategy, DataMap dataMap) { + public FlavoredDbHelper(DataSource dataSource, QuotingStrategy quotingStrategy, DataMap dataMap) { super(dataSource); this.dataMap = dataMap; this.quotingStrategy = quotingStrategy; diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/PeopleProjectCase.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/PeopleProjectCase.java index 02d55faa7..4963eca5f 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/PeopleProjectCase.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/PeopleProjectCase.java @@ -20,7 +20,7 @@ package org.apache.cayenne.unit.di.runtime; import java.sql.Types; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.extension.RegisterExtension; @@ -31,7 +31,7 @@ public class PeopleProjectCase { .forProject(CayenneProjects.PEOPLE_PROJECT) .withoutAutoClean(); - protected DBHelper dbHelper; + protected DbHelper dbHelper; @BeforeEach public void cleanUpDB() throws Exception { diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseModule.java b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseModule.java index 9694badd0..78f0f2f11 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseModule.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/di/runtime/RuntimeCaseModule.java @@ -84,7 +84,7 @@ import org.apache.cayenne.reflect.generic.ValueComparisonStrategyFactory; import org.apache.cayenne.resource.ClassLoaderResourceLocator; import org.apache.cayenne.resource.ResourceLocator; import org.apache.cayenne.runtime.CayenneRuntime; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.unit.DB2UnitDbAdapter; import org.apache.cayenne.unit.DerbyUnitDbAdapter; import org.apache.cayenne.unit.FirebirdUnitDbAdapter; @@ -252,7 +252,7 @@ public class RuntimeCaseModule implements Module { binder.bind(RuntimeCaseProperties.class).to(RuntimeCaseProperties.class).in(testScope); binder.bind(RuntimeCaseExtraModules.class).to(RuntimeCaseExtraModules.class).in(testScope); binder.bind(CayenneRuntime.class).toProvider(CayenneRuntimeProvider.class).in(testScope); - binder.bind(DBHelper.class).toProvider(FlavoredDBHelperProvider.class).in(testScope); + binder.bind(DbHelper.class).toProvider(FlavoredDBHelperProvider.class).in(testScope); } // this class exists so that ToolsModule can call "initAllExtensions()" that is protected in CoreModuleExtender. diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java index 3e639cc84..9653f6209 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/jira/CAY_194IT.java @@ -21,7 +21,7 @@ package org.apache.cayenne.unit.jira; import org.apache.cayenne.access.DataContext; import org.apache.cayenne.query.ObjectSelect; -import org.apache.cayenne.test.jdbc.DBHelper; +import org.apache.cayenne.test.jdbc.DbHelper; import org.apache.cayenne.test.jdbc.TableHelper; import org.apache.cayenne.testdo.relationships.ReflexiveAndToOne; import org.apache.cayenne.unit.di.runtime.CayenneProjects; @@ -47,7 +47,7 @@ public class CAY_194IT { static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.RELATIONSHIPS_PROJECT); protected DataContext context; - private DBHelper dbHelper; + private DbHelper dbHelper; @BeforeEach public void setUp() throws Exception {
