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 796a4c9c600b8939523b6f1e2cb2013fb159028f
Author: Andrus Adamchik <[email protected]>
AuthorDate: Sat May 16 15:23:29 2026 -0400

    tests cleanup
---
 .../runtime/DefaultDataNodeFactory.java            |  6 ++-
 .../org/apache/cayenne/unit/CayenneTestsEnv.java   | 52 ++--------------------
 ...ataNode.java => TelemetricDataNodeFactory.java} | 46 +++++++++++--------
 .../org/apache/cayenne/unit/TestTelemetry.java     |  8 +++-
 4 files changed, 42 insertions(+), 70 deletions(-)

diff --git 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DefaultDataNodeFactory.java
 
b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DefaultDataNodeFactory.java
index 9f43a3f23..afa3aacdb 100644
--- 
a/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DefaultDataNodeFactory.java
+++ 
b/cayenne/src/main/java/org/apache/cayenne/configuration/runtime/DefaultDataNodeFactory.java
@@ -66,7 +66,7 @@ public class DefaultDataNodeFactory implements 
DataNodeFactory {
     @Override
     public DataNode createDataNode(DataNodeDescriptor nodeDescriptor) {
 
-        DataNode dataNode = new DataNode(nodeDescriptor.getName());
+        DataNode dataNode = doCreateDataNode(nodeDescriptor.getName());
 
         dataNode.setJdbcEventLogger(jdbcEventLogger);
         dataNode.setRowReaderFactory(rowReaderFactory);
@@ -86,4 +86,8 @@ public class DefaultDataNodeFactory implements 
DataNodeFactory {
         return dataNode;
     }
 
+    // keeping a protected method for the sake of tests that would override it
+    protected DataNode doCreateDataNode(String name) {
+        return new DataNode(name);
+    }
 }
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java 
b/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
index 25baf4af7..cc481ea09 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java
@@ -21,22 +21,14 @@ package org.apache.cayenne.unit;
 import org.apache.cayenne.access.DataContext;
 import org.apache.cayenne.access.DataDomain;
 import org.apache.cayenne.access.DataNode;
-import org.apache.cayenne.access.dbsync.SkipSchemaUpdateStrategy;
-import org.apache.cayenne.access.jdbc.SQLTemplateProcessor;
-import org.apache.cayenne.access.jdbc.reader.RowReaderFactory;
-import org.apache.cayenne.access.translator.batch.BatchTranslatorFactory;
-import org.apache.cayenne.access.translator.select.SelectTranslatorFactory;
 import org.apache.cayenne.configuration.Constants;
-import org.apache.cayenne.configuration.DataNodeDescriptor;
 import org.apache.cayenne.configuration.DataSourceDescriptor;
 import org.apache.cayenne.configuration.runtime.CoreModule;
-import org.apache.cayenne.configuration.runtime.DbAdapterFactory;
+import org.apache.cayenne.configuration.runtime.DataNodeFactory;
 import org.apache.cayenne.datasource.DataSourceBuilder;
 import org.apache.cayenne.dba.DbAdapter;
 import org.apache.cayenne.di.AdhocObjectFactory;
-import org.apache.cayenne.di.Injector;
 import org.apache.cayenne.di.Module;
-import org.apache.cayenne.log.JdbcEventLogger;
 import org.apache.cayenne.map.DataMap;
 import org.apache.cayenne.map.EntityResolver;
 import org.apache.cayenne.map.Procedure;
@@ -120,8 +112,6 @@ public class CayenneTestsEnv implements BeforeEachCallback, 
AfterEachCallback {
     @Override
     public void beforeEach(ExtensionContext ctx) {
         this.runtime = buildRuntime();
-        synthesizeDataNodes(runtime, COMMON_SCHEMA.dataSource());
-
         this.context = (DataContext) runtime.newContext();
 
         DbAdapter firstAdapter = 
runtime.getDataDomain().getDataNodes().iterator().next().getAdapter();
@@ -159,52 +149,16 @@ public class CayenneTestsEnv implements 
BeforeEachCallback, AfterEachCallback {
 
         List<Module> modules = new ArrayList<>();
         modules.add(b -> 
CoreModule.extend(b).setProperty(Constants.OBJECT_RETAIN_STRATEGY_PROPERTY, 
retainStrategy));
+        modules.add(b -> 
b.bind(DataNodeFactory.class).to(TelemetricDataNodeFactory.class));
         Collections.addAll(modules, extraModules);
 
         return CayenneRuntime.builder()
                 .addConfig(project)
                 .addModules(modules)
+                .dataSource(COMMON_SCHEMA.dataSource())
                 .build();
     }
 
-    private static void synthesizeDataNodes(CayenneRuntime runtime, DataSource 
dataSource) {
-
-        DataDomain domain = runtime.getDataDomain();
-        Injector runtimeInjector = runtime.getInjector();
-
-        JdbcEventLogger jdbcEventLogger = 
runtimeInjector.getInstance(JdbcEventLogger.class);
-        RowReaderFactory rowReaderFactory = 
runtimeInjector.getInstance(RowReaderFactory.class);
-        BatchTranslatorFactory batchTranslatorFactory = 
runtimeInjector.getInstance(BatchTranslatorFactory.class);
-        SelectTranslatorFactory selectTranslatorFactory = 
runtimeInjector.getInstance(SelectTranslatorFactory.class);
-        SQLTemplateProcessor sqlTemplateProcessor = 
runtimeInjector.getInstance(SQLTemplateProcessor.class);
-
-        for (DataMap dataMap : domain.getDataMaps()) {
-
-            DataNode node = new TestTelemetryDataNode(dataMap.getName());
-
-            node.setJdbcEventLogger(jdbcEventLogger);
-            node.setRowReaderFactory(rowReaderFactory);
-            node.setBatchTranslatorFactory(batchTranslatorFactory);
-            node.setSelectTranslatorFactory(selectTranslatorFactory);
-            node.setDataSource(dataSource);
-
-            // this gives us AutoAdapter
-            DbAdapter adapter = 
runtimeInjector.getInstance(DbAdapterFactory.class)
-                    .createAdapter(new DataNodeDescriptor(), dataSource);
-
-            node.setAdapter(adapter);
-            node.setSchemaUpdateStrategy(new SkipSchemaUpdateStrategy());
-            node.setSqlTemplateProcessor(sqlTemplateProcessor);
-
-            node.addDataMap(dataMap);
-            domain.addNode(node);
-        }
-
-        if (domain.getDataMaps().size() == 1) {
-            domain.setDefaultNode(domain.getDataNodes().iterator().next());
-        }
-    }
-
     private static void tweakProcedures(CayenneRuntime runtime, TestDbAdapter 
adapter) {
         for (DataMap dataMap : runtime.getDataDomain().getDataMaps()) {
             for (Procedure proc : dataMap.getProcedures()) {
diff --git 
a/cayenne/src/test/java/org/apache/cayenne/unit/TestTelemetryDataNode.java 
b/cayenne/src/test/java/org/apache/cayenne/unit/TelemetricDataNodeFactory.java
similarity index 54%
rename from 
cayenne/src/test/java/org/apache/cayenne/unit/TestTelemetryDataNode.java
rename to 
cayenne/src/test/java/org/apache/cayenne/unit/TelemetricDataNodeFactory.java
index 4ad5d5f6d..5ec032c94 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/TestTelemetryDataNode.java
+++ 
b/cayenne/src/test/java/org/apache/cayenne/unit/TelemetricDataNodeFactory.java
@@ -20,35 +20,45 @@ package org.apache.cayenne.unit;
 
 import org.apache.cayenne.access.DataNode;
 import org.apache.cayenne.access.OperationObserver;
+import org.apache.cayenne.configuration.runtime.DefaultDataNodeFactory;
 import org.apache.cayenne.query.Query;
 import org.junit.jupiter.api.Assertions;
 
 import java.util.Collection;
 import java.util.concurrent.atomic.AtomicInteger;
 
-class TestTelemetryDataNode extends DataNode {
+public class TelemetricDataNodeFactory extends DefaultDataNodeFactory {
 
-    private final AtomicInteger queryCounter = new AtomicInteger();
-    private volatile boolean blockingQueries;
-
-    public TestTelemetryDataNode(String name) {
-        super(name);
+    @Override
+    protected DataNode doCreateDataNode(String name) {
+        return new TelemetricDataNode(name);
     }
 
-    @Override
-    public void performQueries(Collection<? extends Query> queries, 
OperationObserver callback) {
-        if (blockingQueries) {
-            Assertions.fail("Query is unexpected: " + queries);
+    static class TelemetricDataNode extends DataNode {
+
+        private final AtomicInteger queryCounter = new AtomicInteger();
+        private volatile boolean blockingQueries;
+
+        public TelemetricDataNode(String name) {
+            super(name);
         }
-        super.performQueries(queries, callback);
-        queryCounter.addAndGet(queries.size());
-    }
 
-    public int getQueriesCount() {
-        return queryCounter.get();
-    }
+        @Override
+        public void performQueries(Collection<? extends Query> queries, 
OperationObserver callback) {
+            if (blockingQueries) {
+                Assertions.fail("Query is unexpected: " + queries);
+            }
+            super.performQueries(queries, callback);
+            queryCounter.addAndGet(queries.size());
+        }
+
+        public int getQueriesCount() {
+            return queryCounter.get();
+        }
 
-    public void setBlockingQueries(boolean blockingQueries) {
-        this.blockingQueries = blockingQueries;
+        public void setBlockingQueries(boolean blockingQueries) {
+            this.blockingQueries = blockingQueries;
+        }
     }
+
 }
diff --git a/cayenne/src/test/java/org/apache/cayenne/unit/TestTelemetry.java 
b/cayenne/src/test/java/org/apache/cayenne/unit/TestTelemetry.java
index 9f5fced10..500e1705b 100644
--- a/cayenne/src/test/java/org/apache/cayenne/unit/TestTelemetry.java
+++ b/cayenne/src/test/java/org/apache/cayenne/unit/TestTelemetry.java
@@ -37,7 +37,11 @@ class TestTelemetry {
     }
 
     public static int runWithQueryCounter(CayenneRuntime runtime, Runnable 
task) {
-        TestTelemetryDataNode node = (TestTelemetryDataNode) 
runtime.getDataDomain().getDataNodes().iterator().next();
+        TelemetricDataNodeFactory.TelemetricDataNode node = 
(TelemetricDataNodeFactory.TelemetricDataNode) runtime
+                .getDataDomain()
+                .getDataNodes()
+                .iterator()
+                .next();
 
         int start = node.getQueriesCount();
         int end;
@@ -51,7 +55,7 @@ class TestTelemetry {
 
     private static void setBlockingQueries(Collection<DataNode> nodes, boolean 
blocking) {
         for (DataNode node : nodes) {
-            ((TestTelemetryDataNode) node).setBlockingQueries(blocking);
+            ((TelemetricDataNodeFactory.TelemetricDataNode) 
node).setBlockingQueries(blocking);
         }
     }
 }

Reply via email to