This is an automated email from the ASF dual-hosted git repository.

zhangliang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 3885e4060d1 Add MigrationJobTypeTest (#37115)
3885e4060d1 is described below

commit 3885e4060d150ae59a784d3260f99d6c98fd4eae
Author: Liang Zhang <[email protected]>
AuthorDate: Sat Nov 15 18:19:44 2025 +0800

    Add MigrationJobTypeTest (#37115)
---
 .../data/pipeline/cdc/CDCJobTypeTest.java          | 13 ++----
 .../config/MigrationJobConfiguration.java          |  2 +-
 .../scenario/migration/MigrationJobTypeTest.java}  | 46 ++++++++++++----------
 3 files changed, 30 insertions(+), 31 deletions(-)

diff --git 
a/kernel/data-pipeline/scenario/cdc/core/src/test/java/org/apache/shardingsphere/data/pipeline/cdc/CDCJobTypeTest.java
 
b/kernel/data-pipeline/scenario/cdc/core/src/test/java/org/apache/shardingsphere/data/pipeline/cdc/CDCJobTypeTest.java
index 94edac021e5..79194c055d0 100644
--- 
a/kernel/data-pipeline/scenario/cdc/core/src/test/java/org/apache/shardingsphere/data/pipeline/cdc/CDCJobTypeTest.java
+++ 
b/kernel/data-pipeline/scenario/cdc/core/src/test/java/org/apache/shardingsphere/data/pipeline/cdc/CDCJobTypeTest.java
@@ -17,15 +17,12 @@
 
 package org.apache.shardingsphere.data.pipeline.cdc;
 
-import 
org.apache.shardingsphere.data.pipeline.api.type.ShardingSpherePipelineDataSourceConfiguration;
 import org.apache.shardingsphere.data.pipeline.cdc.config.CDCJobConfiguration;
 import 
org.apache.shardingsphere.data.pipeline.cdc.config.yaml.swapper.YamlCDCJobConfigurationSwapper;
-import org.apache.shardingsphere.data.pipeline.core.datanode.JobDataNodeLine;
 import 
org.apache.shardingsphere.data.pipeline.core.job.progress.yaml.swapper.YamlTransmissionJobItemProgressSwapper;
 import org.apache.shardingsphere.data.pipeline.core.job.type.PipelineJobOption;
 import org.apache.shardingsphere.data.pipeline.core.job.type.PipelineJobType;
 import org.apache.shardingsphere.data.pipeline.core.pojo.PipelineJobObjective;
-import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
@@ -38,6 +35,7 @@ import static org.hamcrest.Matchers.isA;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.mock;
 
 class CDCJobTypeTest {
     
@@ -61,15 +59,10 @@ class CDCJobTypeTest {
     @SuppressWarnings("unchecked")
     @Test
     void assertGetJobObjective() {
-        CDCJobConfiguration jobConfig = new CDCJobConfiguration("foo_job", 
"foo_db", Arrays.asList("foo_schema.foo_tbl", "bar_schema.bar_tbl"),
-                false, mock(DatabaseType.class), 
mock(ShardingSpherePipelineDataSourceConfiguration.class), 
mock(JobDataNodeLine.class), Collections.emptyList(),
-                false, mock(CDCJobConfiguration.SinkConfiguration.class), 1, 
3);
+        CDCJobConfiguration jobConfig = new CDCJobConfiguration("foo_job",
+                "foo_db", Arrays.asList("foo_schema.foo_tbl", 
"bar_schema.bar_tbl"), false, mock(), mock(), mock(), Collections.emptyList(), 
false, mock(), 1, 3);
         PipelineJobObjective actual = jobType.getJobObjective(jobConfig);
         assertThat(actual.getDatabaseName(), is("foo_db"));
         assertThat(actual.getTableName(), is("foo_schema.foo_tbl, 
bar_schema.bar_tbl"));
     }
-    
-    private static <T> T mock(final Class<T> type) {
-        return org.mockito.Mockito.mock(type);
-    }
 }
diff --git 
a/kernel/data-pipeline/scenario/migration/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/config/MigrationJobConfiguration.java
 
b/kernel/data-pipeline/scenario/migration/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/config/MigrationJobConfiguration.java
index 59d3b652d26..15ca5206ecc 100644
--- 
a/kernel/data-pipeline/scenario/migration/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/config/MigrationJobConfiguration.java
+++ 
b/kernel/data-pipeline/scenario/migration/core/src/main/java/org/apache/shardingsphere/data/pipeline/scenario/migration/config/MigrationJobConfiguration.java
@@ -51,7 +51,7 @@ public final class MigrationJobConfiguration implements 
PipelineJobConfiguration
     private final List<String> targetTableNames;
     
     /**
-     * Map{logic table names, schema name}.
+     * Map {logic table names, schema name}.
      */
     private final Map<String, String> targetTableSchemaMap;
     
diff --git 
a/kernel/data-pipeline/scenario/cdc/core/src/test/java/org/apache/shardingsphere/data/pipeline/cdc/CDCJobTypeTest.java
 
b/kernel/data-pipeline/scenario/migration/core/src/test/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobTypeTest.java
similarity index 53%
copy from 
kernel/data-pipeline/scenario/cdc/core/src/test/java/org/apache/shardingsphere/data/pipeline/cdc/CDCJobTypeTest.java
copy to 
kernel/data-pipeline/scenario/migration/core/src/test/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobTypeTest.java
index 94edac021e5..079513a5da6 100644
--- 
a/kernel/data-pipeline/scenario/cdc/core/src/test/java/org/apache/shardingsphere/data/pipeline/cdc/CDCJobTypeTest.java
+++ 
b/kernel/data-pipeline/scenario/migration/core/src/test/java/org/apache/shardingsphere/data/pipeline/scenario/migration/MigrationJobTypeTest.java
@@ -15,17 +15,18 @@
  * limitations under the License.
  */
 
-package org.apache.shardingsphere.data.pipeline.cdc;
+package org.apache.shardingsphere.data.pipeline.scenario.migration;
 
-import 
org.apache.shardingsphere.data.pipeline.api.type.ShardingSpherePipelineDataSourceConfiguration;
-import org.apache.shardingsphere.data.pipeline.cdc.config.CDCJobConfiguration;
-import 
org.apache.shardingsphere.data.pipeline.cdc.config.yaml.swapper.YamlCDCJobConfigurationSwapper;
+import 
org.apache.shardingsphere.data.pipeline.core.consistencycheck.PipelineDataConsistencyChecker;
+import org.apache.shardingsphere.data.pipeline.core.datanode.JobDataNodeEntry;
 import org.apache.shardingsphere.data.pipeline.core.datanode.JobDataNodeLine;
 import 
org.apache.shardingsphere.data.pipeline.core.job.progress.yaml.swapper.YamlTransmissionJobItemProgressSwapper;
 import org.apache.shardingsphere.data.pipeline.core.job.type.PipelineJobOption;
 import org.apache.shardingsphere.data.pipeline.core.job.type.PipelineJobType;
 import org.apache.shardingsphere.data.pipeline.core.pojo.PipelineJobObjective;
-import org.apache.shardingsphere.database.connector.core.type.DatabaseType;
+import 
org.apache.shardingsphere.data.pipeline.scenario.migration.config.MigrationJobConfiguration;
+import 
org.apache.shardingsphere.data.pipeline.scenario.migration.config.yaml.swapper.YamlMigrationJobConfigurationSwapper;
+import org.apache.shardingsphere.infra.datanode.DataNode;
 import org.apache.shardingsphere.infra.spi.type.typed.TypedSPILoader;
 import org.junit.jupiter.api.Test;
 
@@ -38,38 +39,43 @@ import static org.hamcrest.Matchers.isA;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.mockito.Mockito.mock;
 
-class CDCJobTypeTest {
+class MigrationJobTypeTest {
     
     @SuppressWarnings("rawtypes")
-    private final PipelineJobType jobType = 
TypedSPILoader.getService(PipelineJobType.class, "STREAMING");
+    private final PipelineJobType jobType = 
TypedSPILoader.getService(PipelineJobType.class, "MIGRATION");
     
     @Test
     void assertGetOption() {
         PipelineJobOption actual = jobType.getOption();
-        assertThat(actual.getCode(), is("03"));
+        assertThat(actual.getCode(), is("01"));
         assertTrue(actual.isTransmissionJob());
-        assertThat(actual.getYamlJobConfigurationSwapper(), 
isA(YamlCDCJobConfigurationSwapper.class));
+        assertThat(actual.getYamlJobConfigurationSwapper(), 
isA(YamlMigrationJobConfigurationSwapper.class));
         assertThat(actual.getYamlJobItemProgressSwapper(), 
isA(YamlTransmissionJobItemProgressSwapper.class));
-        assertThat(actual.getJobClass(), is(CDCJob.class));
+        assertThat(actual.getJobClass(), is(MigrationJob.class));
         
assertFalse(actual.isIgnoreToStartDisabledJobWhenJobItemProgressIsFinished());
-        assertNull(actual.getToBeStartDisabledNextJobType());
-        assertNull(actual.getToBeStoppedPreviousJobType());
-        
assertTrue(actual.isForceNoShardingWhenConvertToJobConfigurationPOJO());
+        assertThat(actual.getToBeStartDisabledNextJobType(), 
is("CONSISTENCY_CHECK"));
+        assertThat(actual.getToBeStoppedPreviousJobType(), 
is("CONSISTENCY_CHECK"));
+        
assertFalse(actual.isForceNoShardingWhenConvertToJobConfigurationPOJO());
     }
     
     @SuppressWarnings("unchecked")
     @Test
     void assertGetJobObjective() {
-        CDCJobConfiguration jobConfig = new CDCJobConfiguration("foo_job", 
"foo_db", Arrays.asList("foo_schema.foo_tbl", "bar_schema.bar_tbl"),
-                false, mock(DatabaseType.class), 
mock(ShardingSpherePipelineDataSourceConfiguration.class), 
mock(JobDataNodeLine.class), Collections.emptyList(),
-                false, mock(CDCJobConfiguration.SinkConfiguration.class), 1, 
3);
+        JobDataNodeEntry dataNodeEntry1 = new JobDataNodeEntry("foo_tbl", 
Arrays.asList(new DataNode("db.foo_tbl_0"), new DataNode("db.foo_tbl_1")));
+        JobDataNodeEntry dataNodeEntry2 = new JobDataNodeEntry("bar_tbl", 
Arrays.asList(new DataNode("db.bar_tbl_0"), new DataNode("db.bar_tbl_1")));
+        MigrationJobConfiguration jobConfig = new 
MigrationJobConfiguration("foo_job",
+                "foo_db", mock(), mock(), Collections.emptyMap(), mock(), 
Collections.emptyList(), Collections.emptyMap(), mock(),
+                Collections.singletonList(new 
JobDataNodeLine(Arrays.asList(dataNodeEntry1, dataNodeEntry2))), 1, 1);
         PipelineJobObjective actual = jobType.getJobObjective(jobConfig);
-        assertThat(actual.getDatabaseName(), is("foo_db"));
-        assertThat(actual.getTableName(), is("foo_schema.foo_tbl, 
bar_schema.bar_tbl"));
+        assertNull(actual.getDatabaseName());
+        assertThat(actual.getTableName(), 
is("db.foo_tbl_0,db.foo_tbl_1,db.bar_tbl_0,db.bar_tbl_1"));
     }
     
-    private static <T> T mock(final Class<T> type) {
-        return org.mockito.Mockito.mock(type);
+    @SuppressWarnings("unchecked")
+    @Test
+    void assertBuildDataConsistencyChecker() {
+        
assertThat(jobType.buildDataConsistencyChecker(mock(MigrationJobConfiguration.class),
 mock(), mock()), isA(PipelineDataConsistencyChecker.class));
     }
 }

Reply via email to