From 2abc0bd91257fb0ec6765fafe145e6f74413c28b Mon Sep 17 00:00:00 2001 From: "Captain.B" Date: Mon, 14 Sep 2020 16:08:25 +0800 Subject: [PATCH 1/2] =?UTF-8?q?refactor:=20=E5=A4=84=E7=90=86=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E5=AE=B9=E5=99=A8=E7=9A=84=E8=BF=94=E5=9B=9E=E7=BB=93?= =?UTF-8?q?=E6=9E=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/docker/DockerTestEngine.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/io/metersphere/performance/engine/docker/DockerTestEngine.java b/backend/src/main/java/io/metersphere/performance/engine/docker/DockerTestEngine.java index 1ab74dd46d..ade042112a 100644 --- a/backend/src/main/java/io/metersphere/performance/engine/docker/DockerTestEngine.java +++ b/backend/src/main/java/io/metersphere/performance/engine/docker/DockerTestEngine.java @@ -6,7 +6,7 @@ import io.metersphere.base.domain.TestResource; import io.metersphere.commons.constants.ResourceStatusEnum; import io.metersphere.commons.exception.MSException; import io.metersphere.commons.utils.CommonBeanFactory; -import io.metersphere.commons.utils.LogUtil; +import io.metersphere.controller.ResultHolder; import io.metersphere.dto.NodeDTO; import io.metersphere.i18n.Translator; import io.metersphere.performance.engine.AbstractEngine; @@ -87,12 +87,14 @@ public class DockerTestEngine extends AbstractEngine { testRequest.setTestData(context.getTestData()); testRequest.setEnv(context.getEnv()); - try { - restTemplate.postForObject(uri, testRequest, String.class); - } catch (Exception e) { - LogUtil.error(e); + + ResultHolder result = restTemplate.postForObject(uri, testRequest, ResultHolder.class); + if (result == null) { MSException.throwException(Translator.get("start_engine_fail")); } + if (!result.isSuccess()) { + MSException.throwException(result.getMessage()); + } } @Override @@ -105,12 +107,13 @@ public class DockerTestEngine extends AbstractEngine { Integer port = node.getPort(); String uri = String.format(BASE_URL + "/jmeter/container/stop/" + testId, ip, port); - try { - restTemplateWithTimeOut.getForObject(uri, String.class); - } catch (Exception e) { - LogUtil.error("stop load test fail... " + testId, e); + ResultHolder result = restTemplateWithTimeOut.getForObject(uri, ResultHolder.class); + if (result == null) { MSException.throwException(Translator.get("container_delete_fail")); } + if (!result.isSuccess()) { + MSException.throwException(result.getMessage()); + } }); } } From 54b72c017e09d06c02176ab8f870a870a895d3a6 Mon Sep 17 00:00:00 2001 From: shiziyuan9527 Date: Mon, 14 Sep 2020 16:50:49 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat(=E6=B5=8B=E8=AF=95=E8=AE=A1=E5=88=92):?= =?UTF-8?q?=20=E6=B5=8B=E8=AF=95=E6=8A=A5=E5=91=8A=E4=B8=AD=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=A2=9E=E5=8A=A0=E6=89=80=E5=B1=9E=E9=A1=B9=E7=9B=AE?= =?UTF-8?q?=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/io/metersphere/base/domain/Issues.java | 2 ++ .../metersphere/track/domain/ReportResultComponent.java | 4 ++++ .../track/dto/TestCaseReportModuleResultDTO.java | 1 + .../io/metersphere/track/service/TestCaseNodeService.java | 8 ++++++++ .../io/metersphere/track/service/TestPlanService.java | 4 ++++ .../report/TemplateComponent/DefectListComponent.vue | 5 +++++ .../report/TemplateComponent/FailureResultComponent.vue | 6 ++++++ .../report/TemplateComponent/TestResultComponent.vue | 6 ++++++ frontend/src/i18n/en-US.js | 4 +++- frontend/src/i18n/zh-CN.js | 4 +++- frontend/src/i18n/zh-TW.js | 4 +++- 11 files changed, 45 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/io/metersphere/base/domain/Issues.java b/backend/src/main/java/io/metersphere/base/domain/Issues.java index 48dd833af9..fafaa92c08 100644 --- a/backend/src/main/java/io/metersphere/base/domain/Issues.java +++ b/backend/src/main/java/io/metersphere/base/domain/Issues.java @@ -26,5 +26,7 @@ public class Issues implements Serializable { private String model; + private String projectName; + private static final long serialVersionUID = 1L; } \ No newline at end of file diff --git a/backend/src/main/java/io/metersphere/track/domain/ReportResultComponent.java b/backend/src/main/java/io/metersphere/track/domain/ReportResultComponent.java index a82882e9ba..400b94ab47 100644 --- a/backend/src/main/java/io/metersphere/track/domain/ReportResultComponent.java +++ b/backend/src/main/java/io/metersphere/track/domain/ReportResultComponent.java @@ -1,5 +1,6 @@ package io.metersphere.track.domain; +import io.metersphere.base.domain.Project; import io.metersphere.base.domain.TestCaseNode; import io.metersphere.base.domain.TestCaseNodeExample; import io.metersphere.base.mapper.TestCaseNodeMapper; @@ -52,6 +53,9 @@ public class ReportResultComponent extends ReportComponent { nodeTrees.forEach(rootNode -> { TestCaseReportModuleResultDTO moduleResult = moduleResultMap.get(rootNode.getId()); if (moduleResult != null) { + TestCaseNodeService testCaseNodeService = (TestCaseNodeService) CommonBeanFactory.getBean("testCaseNodeService"); + Project project = testCaseNodeService.getProjectByNode(rootNode.getId()); + moduleResult.setProjectName(project.getName()); moduleResult.setModuleName(rootNode.getName()); } }); diff --git a/backend/src/main/java/io/metersphere/track/dto/TestCaseReportModuleResultDTO.java b/backend/src/main/java/io/metersphere/track/dto/TestCaseReportModuleResultDTO.java index f0bdb158ab..c069a83ebf 100644 --- a/backend/src/main/java/io/metersphere/track/dto/TestCaseReportModuleResultDTO.java +++ b/backend/src/main/java/io/metersphere/track/dto/TestCaseReportModuleResultDTO.java @@ -20,4 +20,5 @@ public class TestCaseReportModuleResultDTO { private Integer failureCount; private Integer blockingCount; private Integer underwayCount; + private String projectName; } diff --git a/backend/src/main/java/io/metersphere/track/service/TestCaseNodeService.java b/backend/src/main/java/io/metersphere/track/service/TestCaseNodeService.java index 4a003fdf16..8d6086fe89 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestCaseNodeService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestCaseNodeService.java @@ -498,4 +498,12 @@ public class TestCaseNodeService { } } + public Project getProjectByNode(String nodeId) { + TestCaseNodeExample example = new TestCaseNodeExample(); + example.createCriteria().andIdEqualTo(nodeId); + List testCaseNodes = testCaseNodeMapper.selectByExample(example); + String projectId = testCaseNodes.get(0).getProjectId(); + return projectMapper.selectByPrimaryKey(projectId); + } + } diff --git a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java index b7b6b30cc7..c7b378f935 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestPlanService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestPlanService.java @@ -273,6 +273,9 @@ public class TestPlanService { queryTestPlanRequest.setId(planId); TestPlanDTO testPlan = extTestPlanMapper.list(queryTestPlanRequest).get(0); + String projectName = getProjectNameByPlanId(planId); + testPlan.setProjectName(projectName); + TestCaseReport testCaseReport = testCaseReportMapper.selectByPrimaryKey(testPlan.getReportId()); JSONObject content = JSONObject.parseObject(testCaseReport.getContent()); JSONArray componentIds = content.getJSONArray("components"); @@ -286,6 +289,7 @@ public class TestPlanService { if (issue.size() > 0) { for (Issues i : issue) { i.setModel(testCase.getNodePath()); + i.setProjectName(testCase.getProjectName()); String des = i.getDescription().replaceAll("

", "").replaceAll("

", ""); i.setDescription(des); if (i.getLastmodify() == null || i.getLastmodify() == "") { diff --git a/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/DefectListComponent.vue b/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/DefectListComponent.vue index 65ecc7e01c..3a141ed057 100644 --- a/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/DefectListComponent.vue +++ b/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/DefectListComponent.vue @@ -15,6 +15,11 @@ :label="$t('test_track.module.module')" show-overflow-tooltip> + + + + + diff --git a/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/TestResultComponent.vue b/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/TestResultComponent.vue index e9ae3ffaa2..8ca94e5f87 100644 --- a/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/TestResultComponent.vue +++ b/frontend/src/business/components/track/plan/view/comonents/report/TemplateComponent/TestResultComponent.vue @@ -13,6 +13,12 @@ :label="$t('test_track.module.module')" > + +