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 2c967a1abb14d7b87fce40e8f5f80f125b87d591 Author: Andrus Adamchik <[email protected]> AuthorDate: Fri May 15 18:35:36 2026 -0400 tests cleanup: passing extra modules as lambdas --- .../org/apache/cayenne/dbsync/merge/MergeCase.java | 2 +- .../cayenne/jcache/CayenneJCacheModuleIT.java | 2 +- .../cayenne/CDOReflexiveRelICustomSorterIT.java | 10 +------ .../access/DataContextDataChannelEventsIT.java | 4 +-- .../access/DataContextDelegateSharedCacheIT.java | 4 +-- ...tyWithMeaningfulPKAndCustomDbRowOpSorterIT.java | 4 ++- .../access/DataContextSharedCacheEmpiricIT.java | 10 +------ .../cayenne/access/DataContextSharedCacheIT.java | 4 +-- .../apache/cayenne/access/GraphSorterModule.java | 35 ---------------------- .../access/NestedDataContextParentEventsIT.java | 4 +-- .../NestedDataContextParentPeerEventsIT.java | 4 +-- .../access/NestedDataContextPeerEventsIT.java | 4 +-- .../cayenne/access/VerticalInheritanceIT.java | 4 ++- .../cayenne/access/util/RuntimeCaseSyncModule.java | 30 ------------------- .../org/apache/cayenne/unit/CayenneTestsEnv.java | 21 ++++--------- 15 files changed, 28 insertions(+), 114 deletions(-) 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 e35e198b2..1ce7ea345 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 @@ -67,7 +67,7 @@ public abstract class MergeCase { @RegisterExtension protected static final CayenneTestsEnv env = CayenneTestsEnv .forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(DbSyncModule.class) + .withExtraModules(new DbSyncModule()) .withoutAutoClean(); protected EntityResolver resolver; diff --git a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java index 0c9eca0ae..e06e00960 100644 --- a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java +++ b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java @@ -47,7 +47,7 @@ public class CayenneJCacheModuleIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv .forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(EhCacheModule.class); + .withExtraModules(new EhCacheModule()); ObjectContext context; CayenneRuntime runtime; diff --git a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java index 421981b93..1607e67e3 100644 --- a/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java @@ -21,8 +21,6 @@ package org.apache.cayenne; import org.apache.cayenne.access.flush.operation.DbRowOpSorter; import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter; -import org.apache.cayenne.di.Binder; -import org.apache.cayenne.di.Module; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.testdo.testmap.ArtGroup; import org.apache.cayenne.testdo.testmap.Artist; @@ -40,7 +38,7 @@ public class CDOReflexiveRelICustomSorterIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv .forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(GraphSorterModule.class); + .withExtraModules(binder -> binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class)); @Test public void addDeleteNoCommit() { @@ -201,10 +199,4 @@ public class CDOReflexiveRelICustomSorterIT { context.commitChanges(); } - public static class GraphSorterModule implements Module { - @Override - public void configure(Binder binder) { - binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class); - } - } } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java index 9581c94fb..b811560ec 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java @@ -22,7 +22,7 @@ package org.apache.cayenne.access; import org.apache.cayenne.DataChannel; import org.apache.cayenne.DataChannelListener; import org.apache.cayenne.ObjectContext; -import org.apache.cayenne.access.util.RuntimeCaseSyncModule; +import org.apache.cayenne.configuration.runtime.CoreModule; import org.apache.cayenne.graph.GraphEvent; import org.apache.cayenne.test.parallel.ParallelTestContainer; import org.apache.cayenne.testdo.testmap.Artist; @@ -43,7 +43,7 @@ public class DataContextDataChannelEventsIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(RuntimeCaseSyncModule.class); + .withExtraModules(binder -> CoreModule.extend(binder).syncContexts()); private DataContext context; private DataContext peer; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java index be88a77f3..73dfe1f06 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java @@ -24,7 +24,7 @@ import java.util.Date; import org.apache.cayenne.DataRow; import org.apache.cayenne.PersistenceState; import org.apache.cayenne.Persistent; -import org.apache.cayenne.access.util.RuntimeCaseSyncModule; +import org.apache.cayenne.configuration.runtime.CoreModule; import org.apache.cayenne.test.parallel.ParallelTestContainer; import org.apache.cayenne.testdo.testmap.Artist; import org.apache.cayenne.unit.runtime.CayenneProjects; @@ -43,7 +43,7 @@ public class DataContextDelegateSharedCacheIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(RuntimeCaseSyncModule.class); + .withExtraModules(binder -> CoreModule.extend(binder).syncContexts()); private DataContext context; private DataContext context1; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java index ec10f6eb7..3a640db38 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java @@ -19,6 +19,8 @@ package org.apache.cayenne.access; +import org.apache.cayenne.access.flush.operation.DbRowOpSorter; +import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter; import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep; import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1; import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk; @@ -32,7 +34,7 @@ public class DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv .forProject(CayenneProjects.MEANINGFUL_PK_PROJECT) - .withExtraModules(GraphSorterModule.class); + .withExtraModules(binder -> binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class)); @Test public void insertDelete() { diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java index dc6547389..715a621e8 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheEmpiricIT.java @@ -26,8 +26,6 @@ import java.util.List; import org.apache.cayenne.DataRow; import org.apache.cayenne.configuration.DefaultRuntimeProperties; import org.apache.cayenne.configuration.runtime.CoreModule; -import org.apache.cayenne.di.Binder; -import org.apache.cayenne.di.Module; import org.apache.cayenne.event.DefaultEventManager; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.runtime.CayenneRuntime; @@ -49,7 +47,7 @@ public class DataContextSharedCacheEmpiricIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(DataContextSharedCacheEmpiricIT.SyncContextsModule.class); + .withExtraModules(binder -> CoreModule.extend(binder).syncContexts()); private static final String NEW_NAME = "versionX"; @@ -173,10 +171,4 @@ public class DataContextSharedCacheEmpiricIT { helper.runTest(3000); } - public static class SyncContextsModule implements Module { - @Override - public void configure(Binder binder) { - CoreModule.extend(binder).syncContexts(); - } - } } diff --git a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java index b3ecb2eb3..183c3ce76 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java @@ -28,7 +28,7 @@ import java.util.Map; import org.apache.cayenne.DataRow; import org.apache.cayenne.ObjectId; import org.apache.cayenne.PersistenceState; -import org.apache.cayenne.access.util.RuntimeCaseSyncModule; +import org.apache.cayenne.configuration.runtime.CoreModule; import org.apache.cayenne.query.ObjectSelect; import org.apache.cayenne.query.SQLTemplate; import org.apache.cayenne.test.parallel.ParallelTestContainer; @@ -51,7 +51,7 @@ public class DataContextSharedCacheIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(RuntimeCaseSyncModule.class); + .withExtraModules(binder -> CoreModule.extend(binder).syncContexts()); private DataContext context; private DataContext context1; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/GraphSorterModule.java b/cayenne/src/test/java/org/apache/cayenne/access/GraphSorterModule.java deleted file mode 100644 index d833d590b..000000000 --- a/cayenne/src/test/java/org/apache/cayenne/access/GraphSorterModule.java +++ /dev/null @@ -1,35 +0,0 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ - -package org.apache.cayenne.access; - -import org.apache.cayenne.access.flush.operation.DbRowOpSorter; -import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter; -import org.apache.cayenne.di.Binder; -import org.apache.cayenne.di.Module; - -/** - * Test module that sets up {@link GraphBasedDbRowOpSorter} instead of default one - */ -public class GraphSorterModule implements Module { - @Override - public void configure(Binder binder) { - binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class); - } -} diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java index 4f577e11e..8a000d9b7 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java @@ -20,7 +20,7 @@ package org.apache.cayenne.access; import org.apache.cayenne.ObjectContext; -import org.apache.cayenne.access.util.RuntimeCaseSyncModule; +import org.apache.cayenne.configuration.runtime.CoreModule; import org.apache.cayenne.test.parallel.ParallelTestContainer; import org.apache.cayenne.testdo.testmap.Artist; import org.apache.cayenne.unit.runtime.CayenneProjects; @@ -36,7 +36,7 @@ public class NestedDataContextParentEventsIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(RuntimeCaseSyncModule.class); + .withExtraModules(binder -> CoreModule.extend(binder).syncContexts()); @Test public void parentUpdatedId() throws Exception { diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java index be0c66163..bb4d831a4 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java @@ -20,7 +20,7 @@ package org.apache.cayenne.access; import org.apache.cayenne.ObjectContext; -import org.apache.cayenne.access.util.RuntimeCaseSyncModule; +import org.apache.cayenne.configuration.runtime.CoreModule; import org.apache.cayenne.runtime.CayenneRuntime; import org.apache.cayenne.test.parallel.ParallelTestContainer; import org.apache.cayenne.testdo.relationships_child_master.Child; @@ -41,7 +41,7 @@ public class NestedDataContextParentPeerEventsIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.RELATIONSHIPS_CHILD_MASTER_PROJECT) - .withExtraModules(RuntimeCaseSyncModule.class); + .withExtraModules(binder -> CoreModule.extend(binder).syncContexts()); private CayenneRuntime runtime; private DataContext parentContext1; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java index b0af29447..8bf693a80 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java @@ -21,7 +21,7 @@ package org.apache.cayenne.access; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.ObjectId; -import org.apache.cayenne.access.util.RuntimeCaseSyncModule; +import org.apache.cayenne.configuration.runtime.CoreModule; import org.apache.cayenne.test.parallel.ParallelTestContainer; import org.apache.cayenne.testdo.testmap.Artist; import org.apache.cayenne.testdo.testmap.Painting; @@ -38,7 +38,7 @@ public class NestedDataContextPeerEventsIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.TESTMAP_PROJECT) - .withExtraModules(RuntimeCaseSyncModule.class); + .withExtraModules(binder -> CoreModule.extend(binder).syncContexts()); @Test public void peerObjectUpdatedTempOID() throws Exception { diff --git a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java index a9d86675e..94e628c07 100644 --- a/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java +++ b/cayenne/src/test/java/org/apache/cayenne/access/VerticalInheritanceIT.java @@ -21,6 +21,8 @@ package org.apache.cayenne.access; import org.apache.cayenne.Cayenne; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.Persistent; +import org.apache.cayenne.access.flush.operation.DbRowOpSorter; +import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter; import org.apache.cayenne.query.ColumnSelect; import org.apache.cayenne.query.EJBQLQuery; import org.apache.cayenne.query.ObjectSelect; @@ -51,7 +53,7 @@ public class VerticalInheritanceIT { @RegisterExtension static final CayenneTestsEnv env = CayenneTestsEnv.forProject(CayenneProjects.INHERITANCE_VERTICAL_PROJECT) - .withExtraModules(GraphSorterModule.class); + .withExtraModules(binder -> binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class)); protected CayenneRuntime runtime; diff --git a/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java b/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java deleted file mode 100644 index a2871bf72..000000000 --- a/cayenne/src/test/java/org/apache/cayenne/access/util/RuntimeCaseSyncModule.java +++ /dev/null @@ -1,30 +0,0 @@ -/***************************************************************** - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * https://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - ****************************************************************/ -package org.apache.cayenne.access.util; - -import org.apache.cayenne.configuration.runtime.CoreModule; -import org.apache.cayenne.di.Binder; -import org.apache.cayenne.di.Module; - -public class RuntimeCaseSyncModule implements Module { - @Override - public void configure(Binder binder) { - CoreModule.extend(binder).syncContexts(); - } -} 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 b6767bd84..074793fa0 100644 --- a/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java +++ b/cayenne/src/test/java/org/apache/cayenne/unit/CayenneTestsEnv.java @@ -54,6 +54,7 @@ import org.junit.jupiter.api.extension.BeforeEachCallback; import org.junit.jupiter.api.extension.ExtensionContext; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -81,7 +82,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { } private final String project; - private final Class<?>[] extraModules; + private final Module[] extraModules; private final boolean autoClean; private final boolean weakReferences; @@ -91,7 +92,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { private DbCleaner dbCleaner; private CayenneRuntime runtime; - private CayenneTestsEnv(String project, Class<?>[] extraModules, boolean autoClean, boolean weakReferences) { + private CayenneTestsEnv(String project, Module[] extraModules, boolean autoClean, boolean weakReferences) { this.project = project; this.extraModules = extraModules; this.autoClean = autoClean; @@ -99,10 +100,10 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { } public static CayenneTestsEnv forProject(String project) { - return new CayenneTestsEnv(project, new Class<?>[0], true, false); + return new CayenneTestsEnv(project, new Module[0], true, false); } - public CayenneTestsEnv withExtraModules(Class<?>... modules) { + public CayenneTestsEnv withExtraModules(Module... modules) { return new CayenneTestsEnv(project, modules, autoClean, weakReferences); } @@ -155,9 +156,7 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { List<Module> modules = new ArrayList<>(); modules.add(new TestRuntimeOverridesModule()); - for (Class<?> moduleType : extraModules) { - modules.add(instantiateModule(moduleType)); - } + Collections.addAll(modules, extraModules); if (weakReferences) { modules.add(new WeakReferenceStrategyModule()); @@ -214,14 +213,6 @@ public class CayenneTestsEnv implements BeforeEachCallback, AfterEachCallback { } } - private static Module instantiateModule(Class<?> moduleType) { - try { - return (Module) moduleType.getConstructor().newInstance(); - } catch (ReflectiveOperationException e) { - throw new RuntimeException("Failed to instantiate extra module: " + moduleType.getName(), e); - } - } - public DataContext context() { return context; }
