fix(系统管理): 测试计划组停止时对已完成的子计划不作处理
This commit is contained in:
parent
2f64741bda
commit
4d8378c10e
|
@ -9,10 +9,7 @@ import io.metersphere.plan.mapper.TestPlanCollectionMapper;
|
||||||
import io.metersphere.plan.mapper.TestPlanConfigMapper;
|
import io.metersphere.plan.mapper.TestPlanConfigMapper;
|
||||||
import io.metersphere.plan.mapper.TestPlanMapper;
|
import io.metersphere.plan.mapper.TestPlanMapper;
|
||||||
import io.metersphere.plan.mapper.TestPlanReportMapper;
|
import io.metersphere.plan.mapper.TestPlanReportMapper;
|
||||||
import io.metersphere.sdk.constants.ApiBatchRunMode;
|
import io.metersphere.sdk.constants.*;
|
||||||
import io.metersphere.sdk.constants.CaseType;
|
|
||||||
import io.metersphere.sdk.constants.TaskTriggerMode;
|
|
||||||
import io.metersphere.sdk.constants.TestPlanConstants;
|
|
||||||
import io.metersphere.sdk.dto.queue.TestPlanExecutionQueue;
|
import io.metersphere.sdk.dto.queue.TestPlanExecutionQueue;
|
||||||
import io.metersphere.sdk.exception.MSException;
|
import io.metersphere.sdk.exception.MSException;
|
||||||
import io.metersphere.sdk.util.JSON;
|
import io.metersphere.sdk.util.JSON;
|
||||||
|
@ -60,7 +57,9 @@ public class TestPlanExecuteService {
|
||||||
// 停止测试计划的执行
|
// 停止测试计划的执行
|
||||||
public void stopTestPlanRunning(String testPlanReportId) {
|
public void stopTestPlanRunning(String testPlanReportId) {
|
||||||
TestPlanReport testPlanReport = testPlanReportMapper.selectByPrimaryKey(testPlanReportId);
|
TestPlanReport testPlanReport = testPlanReportMapper.selectByPrimaryKey(testPlanReportId);
|
||||||
if (testPlanReport == null) {
|
if (testPlanReport == null
|
||||||
|
|| StringUtils.equalsAnyIgnoreCase(testPlanReport.getExecStatus(), ExecStatus.COMPLETED.name(), ExecStatus.STOPPED.name())) {
|
||||||
|
// 已经执行完成或者已经停止的测试计划,不再操作
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (testPlanReport.getIntegrated()) {
|
if (testPlanReport.getIntegrated()) {
|
||||||
|
@ -86,9 +85,12 @@ public class TestPlanExecuteService {
|
||||||
String groupExecuteQueueId = testPlanExecuteSupportService.genQueueKey(testPlanReportId, QUEUE_PREFIX_TEST_PLAN_GROUP_EXECUTE);
|
String groupExecuteQueueId = testPlanExecuteSupportService.genQueueKey(testPlanReportId, QUEUE_PREFIX_TEST_PLAN_GROUP_EXECUTE);
|
||||||
testPlanExecuteSupportService.deleteRedisKey(groupExecuteQueueId);
|
testPlanExecuteSupportService.deleteRedisKey(groupExecuteQueueId);
|
||||||
testPlanItemReport.forEach(item -> {
|
testPlanItemReport.forEach(item -> {
|
||||||
this.deepDeleteTestPlanCaseType(item);
|
//处理未完成的子报告
|
||||||
//统计子测试计划报告
|
if (!StringUtils.equalsIgnoreCase(item.getExecStatus(), ExecStatus.COMPLETED.name())) {
|
||||||
testPlanExecuteSupportService.summaryTestPlanReport(item.getId(), false, true);
|
this.deepDeleteTestPlanCaseType(item);
|
||||||
|
//统计子测试计划报告
|
||||||
|
testPlanExecuteSupportService.summaryTestPlanReport(item.getId(), false, true);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
testPlanExecuteSupportService.summaryTestPlanReport(testPlanReportId, true, true);
|
testPlanExecuteSupportService.summaryTestPlanReport(testPlanReportId, true, true);
|
||||||
this.testPlanExecuteQueueFinish(nextTestPlanQueue.getParentQueueId(), nextTestPlanQueue.getParentQueueType());
|
this.testPlanExecuteQueueFinish(nextTestPlanQueue.getParentQueueId(), nextTestPlanQueue.getParentQueueType());
|
||||||
|
|
|
@ -265,10 +265,6 @@ public class TestPlanExecuteTests extends BaseTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 待补充
|
|
||||||
// Assertions.assertTrue(!collectionQueueIdList.isEmpty());
|
|
||||||
// Assertions.assertTrue(!allQueueIds.isEmpty());
|
|
||||||
|
|
||||||
this.checkRedisKeyEmpty(allQueueIds, collectionQueueIdList);
|
this.checkRedisKeyEmpty(allQueueIds, collectionQueueIdList);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -285,6 +281,9 @@ public class TestPlanExecuteTests extends BaseTest {
|
||||||
List<String> collectionQueueIdList = new ArrayList<>();
|
List<String> collectionQueueIdList = new ArrayList<>();
|
||||||
for (String executeQueue : EXECUTE_QUEUE_PREFIX) {
|
for (String executeQueue : EXECUTE_QUEUE_PREFIX) {
|
||||||
Set<String> keys = stringRedisTemplate.keys("*" + executeQueue + "*");
|
Set<String> keys = stringRedisTemplate.keys("*" + executeQueue + "*");
|
||||||
|
if (CollectionUtils.isEmpty(keys)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
allQueueIds.addAll(keys);
|
allQueueIds.addAll(keys);
|
||||||
for (String key : keys) {
|
for (String key : keys) {
|
||||||
if (StringUtils.equalsIgnoreCase(executeQueue, QUEUE_PREFIX_TEST_PLAN_COLLECTION)) {
|
if (StringUtils.equalsIgnoreCase(executeQueue, QUEUE_PREFIX_TEST_PLAN_COLLECTION)) {
|
||||||
|
|
Loading…
Reference in New Issue