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 {

Reply via email to