You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by me...@apache.org on 2020/11/27 03:42:15 UTC
[shardingsphere] branch master updated: Remove
InventoryDataScalingTaskGroup (#8368)
This is an automated email from the ASF dual-hosted git repository.
menghaoran 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 b92a2a1 Remove InventoryDataScalingTaskGroup (#8368)
b92a2a1 is described below
commit b92a2a10abc2d6948441eebb7f4b783f4a4a9527
Author: 邱鹿 Lucas <lu...@163.com>
AuthorDate: Fri Nov 27 11:41:45 2020 +0800
Remove InventoryDataScalingTaskGroup (#8368)
Co-authored-by: qiulu3 <Lucas209910>
---
.../job/preparer/ShardingScalingJobPreparer.java | 6 +-
.../job/preparer/resumer/SyncPositionResumer.java | 18 +----
.../core/job/preparer/utils/JobPrepareUtil.java | 43 ------------
.../core/job/task/DefaultSyncTaskFactory.java | 8 ---
.../scaling/core/job/task/SyncTaskFactory.java | 13 +---
.../inventory/InventoryDataScalingTaskGroup.java | 69 -------------------
.../InventoryDataSyncTaskProgressGroup.java | 42 ------------
.../core/schedule/ScalingTaskScheduler.java | 2 -
.../scaling/core/utils/ScalingTaskUtil.java | 8 +--
.../InventoryDataScalingTaskGroupTest.java | 77 ----------------------
10 files changed, 5 insertions(+), 281 deletions(-)
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java
index 6b7136b..50dcfff 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/ShardingScalingJobPreparer.java
@@ -33,14 +33,12 @@ import org.apache.shardingsphere.scaling.core.job.preparer.checker.DataSourceChe
import org.apache.shardingsphere.scaling.core.job.preparer.checker.DataSourceCheckerCheckerFactory;
import org.apache.shardingsphere.scaling.core.job.preparer.resumer.SyncPositionResumer;
import org.apache.shardingsphere.scaling.core.job.preparer.splitter.InventoryDataTaskSplitter;
-import org.apache.shardingsphere.scaling.core.job.preparer.utils.JobPrepareUtil;
import org.apache.shardingsphere.scaling.core.job.task.DefaultSyncTaskFactory;
import org.apache.shardingsphere.scaling.core.job.task.ScalingTask;
import org.apache.shardingsphere.scaling.core.job.task.SyncTaskFactory;
import org.apache.shardingsphere.scaling.core.schedule.SyncTaskControlStatus;
import org.apache.shardingsphere.scaling.core.utils.ScalingTaskUtil;
-import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
@@ -97,9 +95,7 @@ public final class ShardingScalingJobPreparer {
for (SyncConfiguration each : shardingScalingJob.getSyncConfigs()) {
allInventoryDataTasks.addAll(inventoryDataTaskSplitter.splitInventoryData(each, dataSourceManager));
}
- for (Collection<ScalingTask> each : JobPrepareUtil.groupInventoryDataTasks(shardingScalingJob.getSyncConfigs().get(0).getConcurrency(), allInventoryDataTasks)) {
- shardingScalingJob.getInventoryDataTasks().add(syncTaskFactory.createInventoryDataSyncTaskGroup(each));
- }
+ shardingScalingJob.getInventoryDataTasks().addAll(allInventoryDataTasks);
}
private void initIncrementalDataTasks(final String databaseType, final ShardingScalingJob shardingScalingJob, final DataSourceManager dataSourceManager) {
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/resumer/SyncPositionResumer.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/resumer/SyncPositionResumer.java
index 3f1281d..a9e6d51 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/resumer/SyncPositionResumer.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/resumer/SyncPositionResumer.java
@@ -24,14 +24,11 @@ import org.apache.shardingsphere.scaling.core.datasource.DataSourceManager;
import org.apache.shardingsphere.scaling.core.job.ShardingScalingJob;
import org.apache.shardingsphere.scaling.core.job.position.PositionManager;
import org.apache.shardingsphere.scaling.core.job.position.resume.ResumeBreakPointManager;
-import org.apache.shardingsphere.scaling.core.job.preparer.utils.JobPrepareUtil;
import org.apache.shardingsphere.scaling.core.job.task.DefaultSyncTaskFactory;
import org.apache.shardingsphere.scaling.core.job.task.ScalingTask;
import org.apache.shardingsphere.scaling.core.job.task.SyncTaskFactory;
-import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataScalingTaskGroup;
import org.apache.shardingsphere.scaling.core.metadata.MetaDataManager;
-import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
@@ -60,10 +57,7 @@ public final class SyncPositionResumer {
}
private void resumeInventoryPosition(final ShardingScalingJob shardingScalingJob, final DataSourceManager dataSourceManager, final ResumeBreakPointManager resumeBreakPointManager) {
- List<ScalingTask> allInventoryDataTasks = getAllInventoryDataTasks(shardingScalingJob, dataSourceManager, resumeBreakPointManager);
- for (Collection<ScalingTask> each : JobPrepareUtil.groupInventoryDataTasks(shardingScalingJob.getSyncConfigs().get(0).getConcurrency(), allInventoryDataTasks)) {
- shardingScalingJob.getInventoryDataTasks().add(syncTaskFactory.createInventoryDataSyncTaskGroup(each));
- }
+ shardingScalingJob.getInventoryDataTasks().addAll(getAllInventoryDataTasks(shardingScalingJob, dataSourceManager, resumeBreakPointManager));
}
private List<ScalingTask> getAllInventoryDataTasks(final ShardingScalingJob shardingScalingJob,
@@ -117,17 +111,9 @@ public final class SyncPositionResumer {
private void persistInventoryPosition(final List<ScalingTask> inventoryDataTasks, final ResumeBreakPointManager resumeBreakPointManager) {
for (ScalingTask each : inventoryDataTasks) {
- if (each instanceof InventoryDataScalingTaskGroup) {
- putInventoryDataScalingTask(((InventoryDataScalingTaskGroup) each).getScalingTasks(), resumeBreakPointManager);
- }
- }
- resumeBreakPointManager.persistInventoryPosition();
- }
-
- private void putInventoryDataScalingTask(final Collection<ScalingTask> scalingTasks, final ResumeBreakPointManager resumeBreakPointManager) {
- for (ScalingTask each : scalingTasks) {
resumeBreakPointManager.getInventoryPositionManagerMap().put(each.getTaskId(), each.getPositionManager());
}
+ resumeBreakPointManager.persistInventoryPosition();
}
private void persistIncrementalPosition(final List<ScalingTask> incrementalDataTasks, final ResumeBreakPointManager resumeBreakPointManager) {
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/utils/JobPrepareUtil.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/utils/JobPrepareUtil.java
deleted file mode 100644
index c6daa5e..0000000
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/preparer/utils/JobPrepareUtil.java
+++ /dev/null
@@ -1,43 +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
- *
- * 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.shardingsphere.scaling.core.job.preparer.utils;
-
-import com.google.common.collect.Lists;
-import lombok.AccessLevel;
-import lombok.NoArgsConstructor;
-import org.apache.shardingsphere.scaling.core.job.task.ScalingTask;
-
-import java.util.List;
-
-/**
- * Scaling job prepare util.
- */
-@NoArgsConstructor(access = AccessLevel.PRIVATE)
-public final class JobPrepareUtil {
-
- /**
- * Group inventory data tasks by task number.
- *
- * @param taskNumber task number
- * @param allInventoryDataTasks all inventory data tasks
- * @return task group list
- */
- public static List<List<ScalingTask>> groupInventoryDataTasks(final int taskNumber, final List<ScalingTask> allInventoryDataTasks) {
- return Lists.partition(allInventoryDataTasks, taskNumber);
- }
-}
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/DefaultSyncTaskFactory.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/DefaultSyncTaskFactory.java
index 709b676..9a4cf38 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/DefaultSyncTaskFactory.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/DefaultSyncTaskFactory.java
@@ -22,9 +22,6 @@ import org.apache.shardingsphere.scaling.core.config.ImporterConfiguration;
import org.apache.shardingsphere.scaling.core.config.InventoryDumperConfiguration;
import org.apache.shardingsphere.scaling.core.job.task.incremental.IncrementalDataScalingTask;
import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataScalingTask;
-import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataScalingTaskGroup;
-
-import java.util.Collection;
/**
* Default sync task factory.
@@ -32,11 +29,6 @@ import java.util.Collection;
public final class DefaultSyncTaskFactory implements SyncTaskFactory {
@Override
- public InventoryDataScalingTaskGroup createInventoryDataSyncTaskGroup(final Collection<ScalingTask> inventoryDataScalingTasks) {
- return new InventoryDataScalingTaskGroup(inventoryDataScalingTasks);
- }
-
- @Override
public InventoryDataScalingTask createInventoryDataSyncTask(final InventoryDumperConfiguration inventoryDumperConfig, final ImporterConfiguration importerConfig) {
return new InventoryDataScalingTask(inventoryDumperConfig, importerConfig);
}
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/SyncTaskFactory.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/SyncTaskFactory.java
index 5ce9c16..c399131 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/SyncTaskFactory.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/SyncTaskFactory.java
@@ -22,9 +22,6 @@ import org.apache.shardingsphere.scaling.core.config.ImporterConfiguration;
import org.apache.shardingsphere.scaling.core.config.InventoryDumperConfiguration;
import org.apache.shardingsphere.scaling.core.job.task.incremental.IncrementalDataScalingTask;
import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataScalingTask;
-import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataScalingTaskGroup;
-
-import java.util.Collection;
/**
* Sync task factory.
@@ -32,14 +29,6 @@ import java.util.Collection;
public interface SyncTaskFactory {
/**
- * Create inventory data sync task group.
- *
- * @param inventoryDataScalingTasks inventory data sync tasks
- * @return inventory data sync task group
- */
- InventoryDataScalingTaskGroup createInventoryDataSyncTaskGroup(Collection<ScalingTask> inventoryDataScalingTasks);
-
- /**
* Create inventory data sync task.
*
* @param inventoryDumperConfig inventory dumper configuration
@@ -52,7 +41,7 @@ public interface SyncTaskFactory {
* Create incremental data sync task.
*
* @param concurrency concurrency
- * @param dumperConfig dumper configuration
+ * @param dumperConfig dumper configuration
* @param importerConfig importer configuration
* @return incremental data sync task
*/
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTaskGroup.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTaskGroup.java
deleted file mode 100644
index de55fcf..0000000
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTaskGroup.java
+++ /dev/null
@@ -1,69 +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
- *
- * 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.shardingsphere.scaling.core.job.task.inventory;
-
-import lombok.Getter;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shardingsphere.scaling.core.execute.executor.AbstractShardingScalingExecutor;
-import org.apache.shardingsphere.scaling.core.job.SyncProgress;
-import org.apache.shardingsphere.scaling.core.job.position.FinishedPosition;
-import org.apache.shardingsphere.scaling.core.job.position.PositionManager;
-import org.apache.shardingsphere.scaling.core.job.task.ScalingTask;
-
-import java.util.Collection;
-
-/**
- * Inventory data sync task group.
- */
-@Slf4j
-@Getter
-public final class InventoryDataScalingTaskGroup extends AbstractShardingScalingExecutor implements ScalingTask {
-
- private final Collection<ScalingTask> scalingTasks;
-
- public InventoryDataScalingTaskGroup(final Collection<ScalingTask> inventoryDataScalingTasks) {
- scalingTasks = inventoryDataScalingTasks;
- }
-
- @Override
- public void start() {
- super.start();
- for (ScalingTask each : scalingTasks) {
- PositionManager positionManager = each.getPositionManager();
- if (null != positionManager && !(positionManager.getPosition() instanceof FinishedPosition)) {
- each.start();
- }
- }
- }
-
- @Override
- public void stop() {
- for (ScalingTask each : scalingTasks) {
- each.stop();
- }
- }
-
- @Override
- public SyncProgress getProgress() {
- InventoryDataSyncTaskProgressGroup result = new InventoryDataSyncTaskProgressGroup();
- for (ScalingTask each : scalingTasks) {
- result.addSyncProgress(each.getProgress());
- }
- return result;
- }
-}
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataSyncTaskProgressGroup.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataSyncTaskProgressGroup.java
deleted file mode 100644
index 92526a2..0000000
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataSyncTaskProgressGroup.java
+++ /dev/null
@@ -1,42 +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
- *
- * 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.shardingsphere.scaling.core.job.task.inventory;
-
-import lombok.Getter;
-import org.apache.shardingsphere.scaling.core.job.SyncProgress;
-
-import java.util.LinkedList;
-import java.util.List;
-
-/**
- * Inventory data sync task group progress.
- */
-@Getter
-public final class InventoryDataSyncTaskProgressGroup implements SyncProgress {
-
- private final List<SyncProgress> innerTaskProgresses = new LinkedList<>();
-
- /**
- * Add sync progress to group.
- *
- * @param syncProgress sync progress
- */
- public void addSyncProgress(final SyncProgress syncProgress) {
- innerTaskProgresses.add(syncProgress);
- }
-}
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java
index 53eebda..a0486b2 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/schedule/ScalingTaskScheduler.java
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.scaling.core.execute.engine.ExecuteCallback;
import org.apache.shardingsphere.scaling.core.job.ShardingScalingJob;
import org.apache.shardingsphere.scaling.core.job.SyncProgress;
import org.apache.shardingsphere.scaling.core.job.task.ScalingTask;
-import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataSyncTaskProgressGroup;
import org.apache.shardingsphere.scaling.core.utils.ScalingTaskUtil;
import java.util.Collection;
@@ -132,7 +131,6 @@ public final class ScalingTaskScheduler implements Runnable {
public Collection<SyncProgress> getInventoryDataTaskProgress() {
return shardingScalingJob.getInventoryDataTasks().stream()
.map(ScalingTask::getProgress)
- .flatMap(each -> ((InventoryDataSyncTaskProgressGroup) each).getInnerTaskProgresses().stream())
.collect(Collectors.toList());
}
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/utils/ScalingTaskUtil.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/utils/ScalingTaskUtil.java
index 3e75530..e004075 100644
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/utils/ScalingTaskUtil.java
+++ b/shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/utils/ScalingTaskUtil.java
@@ -21,10 +21,8 @@ import org.apache.shardingsphere.scaling.core.constant.ScalingConstant;
import org.apache.shardingsphere.scaling.core.job.position.FinishedPosition;
import org.apache.shardingsphere.scaling.core.job.task.ScalingTask;
import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataScalingTask;
-import org.apache.shardingsphere.scaling.core.job.task.inventory.InventoryDataScalingTaskGroup;
import java.util.List;
-import java.util.function.Predicate;
/**
* Scaling task util.
@@ -38,11 +36,7 @@ public final class ScalingTaskUtil {
* @return is finished
*/
public static boolean allInventoryTasksFinished(final List<ScalingTask> inventoryDataTasks) {
- return inventoryDataTasks.stream().allMatch(each -> ((InventoryDataScalingTaskGroup) each).getScalingTasks().stream().allMatch(getFinishPredicate()));
- }
-
- private static Predicate<ScalingTask> getFinishPredicate() {
- return each -> ((InventoryDataScalingTask) each).getPositionManager().getPosition() instanceof FinishedPosition;
+ return inventoryDataTasks.stream().allMatch(each -> ((InventoryDataScalingTask) each).getPositionManager().getPosition() instanceof FinishedPosition);
}
/**
diff --git a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTaskGroupTest.java b/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTaskGroupTest.java
deleted file mode 100644
index c9cab67..0000000
--- a/shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/job/task/inventory/InventoryDataScalingTaskGroupTest.java
+++ /dev/null
@@ -1,77 +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
- *
- * 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.shardingsphere.scaling.core.job.task.inventory;
-
-import org.apache.shardingsphere.scaling.core.datasource.DataSourceManager;
-import org.apache.shardingsphere.scaling.core.job.SyncProgress;
-import org.apache.shardingsphere.scaling.core.job.position.PositionManager;
-import org.apache.shardingsphere.scaling.core.job.position.PlaceholderPosition;
-import org.apache.shardingsphere.scaling.core.job.task.ScalingTask;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
-
-import java.util.Collections;
-
-import static org.hamcrest.CoreMatchers.instanceOf;
-import static org.junit.Assert.assertThat;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-@RunWith(MockitoJUnitRunner.class)
-public final class InventoryDataScalingTaskGroupTest {
-
- private DataSourceManager dataSourceManager;
-
- @Mock
- private ScalingTask scalingTask;
-
- @Before
- public void setUp() {
- dataSourceManager = new DataSourceManager();
- }
-
- @After
- public void tearDown() {
- dataSourceManager.close();
- }
-
- @Test
- public void assertStart() {
- when(scalingTask.getPositionManager()).thenReturn(new PositionManager(new PlaceholderPosition()));
- InventoryDataScalingTaskGroup inventoryDataSyncTaskGroup = new InventoryDataScalingTaskGroup(Collections.singletonList(scalingTask));
- inventoryDataSyncTaskGroup.start();
- verify(scalingTask).start();
- }
-
- @Test
- public void assertStop() {
- InventoryDataScalingTaskGroup inventoryDataSyncTaskGroup = new InventoryDataScalingTaskGroup(Collections.singletonList(scalingTask));
- inventoryDataSyncTaskGroup.stop();
- verify(scalingTask).stop();
- }
-
- @Test
- public void assertGetProgress() {
- InventoryDataScalingTaskGroup inventoryDataSyncTaskGroup = new InventoryDataScalingTaskGroup(Collections.emptyList());
- assertThat(inventoryDataSyncTaskGroup.getProgress(), instanceOf(SyncProgress.class));
- }
-}