This is an automated email from the ASF dual-hosted git repository.
anton-vinogradov pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git
The following commit(s) were added to refs/heads/master by this push:
new 4f109792 IGNITE-28857 Split CDC replication test classes to unlock
test parallelization (#358)
4f109792 is described below
commit 4f10979206dffad25e1e9ca919f8f6c4cead7d30
Author: Anton Vinogradov <[email protected]>
AuthorDate: Mon Jul 6 17:55:21 2026 +0300
IGNITE-28857 Split CDC replication test classes to unlock test
parallelization (#358)
---
.../apache/ignite/cdc/AbstractReplicationTest.java | 37 +++++++++-------------
... CdcIgniteToIgniteReplicationAbstractTest.java} | 2 +-
...iteToIgniteReplicationClientNodeAtomicTest.java | 30 ++++++++++++++++++
...cIgniteToIgniteReplicationClientNodeTxTest.java | 30 ++++++++++++++++++
...iteToIgniteReplicationThinClientAtomicTest.java | 30 ++++++++++++++++++
...cIgniteToIgniteReplicationThinClientTxTest.java | 30 ++++++++++++++++++
...t.java => CdcKafkaReplicationAbstractTest.java} | 2 +-
...va => CdcKafkaReplicationAppsAbstractTest.java} | 4 +--
...dcKafkaReplicationAppsClientNodeAtomicTest.java | 30 ++++++++++++++++++
.../CdcKafkaReplicationAppsClientNodeTxTest.java | 30 ++++++++++++++++++
...dcKafkaReplicationAppsThinClientAtomicTest.java | 30 ++++++++++++++++++
.../CdcKafkaReplicationAppsThinClientTxTest.java | 30 ++++++++++++++++++
.../CdcKafkaReplicationClientNodeAtomicTest.java | 30 ++++++++++++++++++
.../kafka/CdcKafkaReplicationClientNodeTxTest.java | 30 ++++++++++++++++++
.../CdcKafkaReplicationThinClientAtomicTest.java | 30 ++++++++++++++++++
.../kafka/CdcKafkaReplicationThinClientTxTest.java | 30 ++++++++++++++++++
.../kafka/KafkaToIgniteMetadataUpdaterTest.java | 12 +++----
.../CdcPostgreSqlReplicationAppsTest.java | 2 +-
18 files changed, 386 insertions(+), 33 deletions(-)
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java
index 9a5e18c7..ee75f0c7 100644
---
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/AbstractReplicationTest.java
@@ -75,7 +75,6 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
-import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
import static org.apache.ignite.cache.CacheMode.PARTITIONED;
import static org.apache.ignite.cache.CacheMode.REPLICATED;
@@ -99,38 +98,32 @@ import static org.junit.Assume.assumeTrue;
/** */
@RunWith(Parameterized.class)
public abstract class AbstractReplicationTest extends GridCommonAbstractTest {
- /** Client type to connect to a destination cluster. */
- @Parameterized.Parameter
- public ClientType clientType;
+ /** Client type to connect to a destination cluster. Initialized in the
concrete subclass constructor. */
+ protected ClientType clientType;
- /** Cache atomicity mode. */
- @Parameterized.Parameter(1)
- public CacheAtomicityMode atomicity;
+ /** Cache atomicity mode. Initialized in the concrete subclass
constructor. */
+ protected CacheAtomicityMode atomicity;
/** Cache replication mode. */
- @Parameterized.Parameter(2)
+ @Parameterized.Parameter
public CacheMode mode;
/** */
- @Parameterized.Parameter(3)
+ @Parameterized.Parameter(1)
public int backups;
/** @return Test parameters. */
- @Parameterized.Parameters(name = "clientType={0}, atomicity={1}, mode={2},
backupCnt={3}")
- public static Collection<?> parameters() {
+ @Parameterized.Parameters(name = "mode={0}, backupCnt={1}")
+ public static Collection<Object[]> parameters() {
List<Object[]> params = new ArrayList<>();
- for (ClientType clientType : ClientType.values()) {
- for (CacheAtomicityMode atomicity : EnumSet.of(ATOMIC,
TRANSACTIONAL)) {
- for (CacheMode mode : EnumSet.of(PARTITIONED, REPLICATED)) {
- for (int backups = 0; backups < 2; backups++) {
- // backupCount ignored for REPLICATED caches.
- if (backups > 0 && mode == REPLICATED)
- continue;
+ for (CacheMode mode : EnumSet.of(PARTITIONED, REPLICATED)) {
+ for (int backups = 0; backups < 2; backups++) {
+ // backupCount ignored for REPLICATED caches.
+ if (backups > 0 && mode == REPLICATED)
+ continue;
- params.add(new Object[] {clientType, atomicity, mode,
backups});
- }
- }
+ params.add(new Object[] {mode, backups});
}
}
@@ -820,7 +813,7 @@ public abstract class AbstractReplicationTest extends
GridCommonAbstractTest {
}
/** Client type to connect to a destination cluster. */
- protected enum ClientType {
+ public enum ClientType {
/** Client node. */
CLIENT_NODE,
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationAbstractTest.java
similarity index 98%
rename from
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationTest.java
rename to
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationAbstractTest.java
index b6d42e24..5745dfeb 100644
---
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationTest.java
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationAbstractTest.java
@@ -42,7 +42,7 @@ import static
org.apache.ignite.testframework.GridTestUtils.runAsync;
import static org.apache.ignite.testframework.GridTestUtils.waitForCondition;
/** */
-public class CdcIgniteToIgniteReplicationTest extends AbstractReplicationTest {
+public abstract class CdcIgniteToIgniteReplicationAbstractTest extends
AbstractReplicationTest {
/** {@inheritDoc} */
@Override protected List<IgniteInternalFuture<?>>
startActivePassiveCdc(String cache) {
List<IgniteInternalFuture<?>> futs = new ArrayList<>();
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationClientNodeAtomicTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationClientNodeAtomicTest.java
new file mode 100644
index 00000000..411103b1
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationClientNodeAtomicTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.CLIENT_NODE;
+
+/** {@link CdcIgniteToIgniteReplicationAbstractTest} for the {@code
CLIENT_NODE} client type and {@code ATOMIC} caches. */
+public class CdcIgniteToIgniteReplicationClientNodeAtomicTest extends
CdcIgniteToIgniteReplicationAbstractTest {
+ /** */
+ public CdcIgniteToIgniteReplicationClientNodeAtomicTest() {
+ clientType = CLIENT_NODE;
+ atomicity = ATOMIC;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationClientNodeTxTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationClientNodeTxTest.java
new file mode 100644
index 00000000..e96803d2
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationClientNodeTxTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.CLIENT_NODE;
+
+/** {@link CdcIgniteToIgniteReplicationAbstractTest} for the {@code
CLIENT_NODE} client type and {@code TRANSACTIONAL} caches. */
+public class CdcIgniteToIgniteReplicationClientNodeTxTest extends
CdcIgniteToIgniteReplicationAbstractTest {
+ /** */
+ public CdcIgniteToIgniteReplicationClientNodeTxTest() {
+ clientType = CLIENT_NODE;
+ atomicity = TRANSACTIONAL;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationThinClientAtomicTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationThinClientAtomicTest.java
new file mode 100644
index 00000000..e70322c7
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationThinClientAtomicTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.THIN_CLIENT;
+
+/** {@link CdcIgniteToIgniteReplicationAbstractTest} for the {@code
THIN_CLIENT} client type and {@code ATOMIC} caches. */
+public class CdcIgniteToIgniteReplicationThinClientAtomicTest extends
CdcIgniteToIgniteReplicationAbstractTest {
+ /** */
+ public CdcIgniteToIgniteReplicationThinClientAtomicTest() {
+ clientType = THIN_CLIENT;
+ atomicity = ATOMIC;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationThinClientTxTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationThinClientTxTest.java
new file mode 100644
index 00000000..87d0af6f
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/CdcIgniteToIgniteReplicationThinClientTxTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.THIN_CLIENT;
+
+/** {@link CdcIgniteToIgniteReplicationAbstractTest} for the {@code
THIN_CLIENT} client type and {@code TRANSACTIONAL} caches. */
+public class CdcIgniteToIgniteReplicationThinClientTxTest extends
CdcIgniteToIgniteReplicationAbstractTest {
+ /** */
+ public CdcIgniteToIgniteReplicationThinClientTxTest() {
+ clientType = THIN_CLIENT;
+ atomicity = TRANSACTIONAL;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAbstractTest.java
similarity index 99%
rename from
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationTest.java
rename to
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAbstractTest.java
index a56b2941..7b848cff 100644
---
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationTest.java
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAbstractTest.java
@@ -54,7 +54,7 @@ import static
org.apache.ignite.testframework.GridTestUtils.waitForCondition;
/**
* Tests for kafka replication.
*/
-public class CdcKafkaReplicationTest extends AbstractReplicationTest {
+public abstract class CdcKafkaReplicationAbstractTest extends
AbstractReplicationTest {
/** */
public static final String SRC_DEST_TOPIC = "source-dest";
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsAbstractTest.java
similarity index 97%
rename from
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsTest.java
rename to
modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsAbstractTest.java
index ef4e1400..8279ebd9 100644
---
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsTest.java
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsAbstractTest.java
@@ -38,7 +38,7 @@ import static
org.apache.ignite.testframework.GridTestUtils.getFieldValue;
import static org.apache.ignite.testframework.GridTestUtils.runAsync;
/** */
-public class CdcKafkaReplicationAppsTest extends CdcKafkaReplicationTest {
+public abstract class CdcKafkaReplicationAppsAbstractTest extends
CdcKafkaReplicationAbstractTest {
/** */
public static final String INSTANCE_NAME = "INSTANCE_NAME";
@@ -193,7 +193,7 @@ public class CdcKafkaReplicationAppsTest extends
CdcKafkaReplicationTest {
/** */
public static String prepareConfig(String path, Map<String, String>
params) {
try {
- String cfg = new
String(Files.readAllBytes(Paths.get(CdcKafkaReplicationAppsTest.class.getResource(path).toURI())));
+ String cfg = new
String(Files.readAllBytes(Paths.get(CdcKafkaReplicationAppsAbstractTest.class.getResource(path).toURI())));
for (String key : params.keySet()) {
String subst = '{' + key + '}';
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsClientNodeAtomicTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsClientNodeAtomicTest.java
new file mode 100644
index 00000000..9899c9ea
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsClientNodeAtomicTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.CLIENT_NODE;
+
+/** {@link CdcKafkaReplicationAppsAbstractTest} for the {@code CLIENT_NODE}
client type and {@code ATOMIC} caches. */
+public class CdcKafkaReplicationAppsClientNodeAtomicTest extends
CdcKafkaReplicationAppsAbstractTest {
+ /** */
+ public CdcKafkaReplicationAppsClientNodeAtomicTest() {
+ clientType = CLIENT_NODE;
+ atomicity = ATOMIC;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsClientNodeTxTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsClientNodeTxTest.java
new file mode 100644
index 00000000..f7268ef5
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsClientNodeTxTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.CLIENT_NODE;
+
+/** {@link CdcKafkaReplicationAppsAbstractTest} for the {@code CLIENT_NODE}
client type and {@code TRANSACTIONAL} caches. */
+public class CdcKafkaReplicationAppsClientNodeTxTest extends
CdcKafkaReplicationAppsAbstractTest {
+ /** */
+ public CdcKafkaReplicationAppsClientNodeTxTest() {
+ clientType = CLIENT_NODE;
+ atomicity = TRANSACTIONAL;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsThinClientAtomicTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsThinClientAtomicTest.java
new file mode 100644
index 00000000..319754d2
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsThinClientAtomicTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.THIN_CLIENT;
+
+/** {@link CdcKafkaReplicationAppsAbstractTest} for the {@code THIN_CLIENT}
client type and {@code ATOMIC} caches. */
+public class CdcKafkaReplicationAppsThinClientAtomicTest extends
CdcKafkaReplicationAppsAbstractTest {
+ /** */
+ public CdcKafkaReplicationAppsThinClientAtomicTest() {
+ clientType = THIN_CLIENT;
+ atomicity = ATOMIC;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsThinClientTxTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsThinClientTxTest.java
new file mode 100644
index 00000000..1fc4de6a
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationAppsThinClientTxTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.THIN_CLIENT;
+
+/** {@link CdcKafkaReplicationAppsAbstractTest} for the {@code THIN_CLIENT}
client type and {@code TRANSACTIONAL} caches. */
+public class CdcKafkaReplicationAppsThinClientTxTest extends
CdcKafkaReplicationAppsAbstractTest {
+ /** */
+ public CdcKafkaReplicationAppsThinClientTxTest() {
+ clientType = THIN_CLIENT;
+ atomicity = TRANSACTIONAL;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationClientNodeAtomicTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationClientNodeAtomicTest.java
new file mode 100644
index 00000000..a33f6301
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationClientNodeAtomicTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.CLIENT_NODE;
+
+/** {@link CdcKafkaReplicationAbstractTest} for the {@code CLIENT_NODE} client
type and {@code ATOMIC} caches. */
+public class CdcKafkaReplicationClientNodeAtomicTest extends
CdcKafkaReplicationAbstractTest {
+ /** */
+ public CdcKafkaReplicationClientNodeAtomicTest() {
+ clientType = CLIENT_NODE;
+ atomicity = ATOMIC;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationClientNodeTxTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationClientNodeTxTest.java
new file mode 100644
index 00000000..c3e78944
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationClientNodeTxTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.CLIENT_NODE;
+
+/** {@link CdcKafkaReplicationAbstractTest} for the {@code CLIENT_NODE} client
type and {@code TRANSACTIONAL} caches. */
+public class CdcKafkaReplicationClientNodeTxTest extends
CdcKafkaReplicationAbstractTest {
+ /** */
+ public CdcKafkaReplicationClientNodeTxTest() {
+ clientType = CLIENT_NODE;
+ atomicity = TRANSACTIONAL;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationThinClientAtomicTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationThinClientAtomicTest.java
new file mode 100644
index 00000000..5934e4e7
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationThinClientAtomicTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.ATOMIC;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.THIN_CLIENT;
+
+/** {@link CdcKafkaReplicationAbstractTest} for the {@code THIN_CLIENT} client
type and {@code ATOMIC} caches. */
+public class CdcKafkaReplicationThinClientAtomicTest extends
CdcKafkaReplicationAbstractTest {
+ /** */
+ public CdcKafkaReplicationThinClientAtomicTest() {
+ clientType = THIN_CLIENT;
+ atomicity = ATOMIC;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationThinClientTxTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationThinClientTxTest.java
new file mode 100644
index 00000000..c86f1ca8
--- /dev/null
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/CdcKafkaReplicationThinClientTxTest.java
@@ -0,0 +1,30 @@
+/*
+ * 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
+ *
+ * http://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.ignite.cdc.kafka;
+
+import static org.apache.ignite.cache.CacheAtomicityMode.TRANSACTIONAL;
+import static
org.apache.ignite.cdc.AbstractReplicationTest.ClientType.THIN_CLIENT;
+
+/** {@link CdcKafkaReplicationAbstractTest} for the {@code THIN_CLIENT} client
type and {@code TRANSACTIONAL} caches. */
+public class CdcKafkaReplicationThinClientTxTest extends
CdcKafkaReplicationAbstractTest {
+ /** */
+ public CdcKafkaReplicationThinClientTxTest() {
+ clientType = THIN_CLIENT;
+ atomicity = TRANSACTIONAL;
+ }
+}
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/KafkaToIgniteMetadataUpdaterTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/KafkaToIgniteMetadataUpdaterTest.java
index 5138648d..8b88df67 100644
---
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/KafkaToIgniteMetadataUpdaterTest.java
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/kafka/KafkaToIgniteMetadataUpdaterTest.java
@@ -36,12 +36,12 @@ import
org.apache.kafka.streams.integration.utils.EmbeddedKafkaCluster;
import org.junit.Test;
import static
org.apache.ignite.cdc.AbstractReplicationTest.ACTIVE_PASSIVE_CACHE;
-import static org.apache.ignite.cdc.kafka.CdcKafkaReplicationTest.DFLT_PARTS;
-import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationTest.SRC_DEST_META_TOPIC;
-import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationTest.SRC_DEST_TOPIC;
-import static org.apache.ignite.cdc.kafka.CdcKafkaReplicationTest.initKafka;
-import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationTest.kafkaProperties;
-import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationTest.removeKafkaTopicsAndWait;
+import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAbstractTest.DFLT_PARTS;
+import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAbstractTest.SRC_DEST_META_TOPIC;
+import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAbstractTest.SRC_DEST_TOPIC;
+import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAbstractTest.initKafka;
+import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAbstractTest.kafkaProperties;
+import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAbstractTest.removeKafkaTopicsAndWait;
import static
org.apache.ignite.cdc.kafka.KafkaToIgniteCdcStreamerConfiguration.DFLT_KAFKA_CONSUMER_POLL_TIMEOUT;
import static
org.apache.ignite.cdc.kafka.KafkaToIgniteCdcStreamerConfiguration.DFLT_KAFKA_REQ_TIMEOUT;
import static org.apache.ignite.testframework.GridTestUtils.assertThrows;
diff --git
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/postgresql/CdcPostgreSqlReplicationAppsTest.java
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/postgresql/CdcPostgreSqlReplicationAppsTest.java
index f6eec625..26bf4bb4 100644
---
a/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/postgresql/CdcPostgreSqlReplicationAppsTest.java
+++
b/modules/cdc-ext/src/test/java/org/apache/ignite/cdc/postgresql/CdcPostgreSqlReplicationAppsTest.java
@@ -8,7 +8,7 @@ import org.apache.ignite.configuration.IgniteConfiguration;
import org.apache.ignite.internal.IgniteInternalFuture;
import org.apache.ignite.startup.cmdline.CdcCommandLineStartup;
-import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAppsTest.prepareConfig;
+import static
org.apache.ignite.cdc.kafka.CdcKafkaReplicationAppsAbstractTest.prepareConfig;
import static org.apache.ignite.testframework.GridTestUtils.runAsync;
/** PostgreSql CDC test with .xml configuration. */