From 75fd0ba7b475cc8561ebee1b988997510a084fae Mon Sep 17 00:00:00 2001 From: chenjianxing Date: Thu, 14 Jul 2022 11:57:47 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=B5=8B=E8=AF=95=E8=B7=9F=E8=B8=AA):=20?= =?UTF-8?q?=E5=AF=BC=E5=85=A5postman=E8=B7=9F=E9=9A=8F=E9=87=8D=E5=AE=9A?= =?UTF-8?q?=E5=90=91=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --bug=1014825 --user=陈建星 【接口测试】导入postman文件,设置了跟随重定向,导入后没勾选重定向 {#_orginal_url#} --- .../metersphere/api/dto/parse/postman/PostmanItem.java | 9 +++++++++ .../api/parse/PostmanAbstractParserParser.java | 7 +++++++ .../track/service/TestPlanTestCaseService.java | 8 +++++++- 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/io/metersphere/api/dto/parse/postman/PostmanItem.java b/backend/src/main/java/io/metersphere/api/dto/parse/postman/PostmanItem.java index e8666554a1..341a9b6a40 100644 --- a/backend/src/main/java/io/metersphere/api/dto/parse/postman/PostmanItem.java +++ b/backend/src/main/java/io/metersphere/api/dto/parse/postman/PostmanItem.java @@ -1,6 +1,8 @@ package io.metersphere.api.dto.parse.postman; import lombok.Data; +import lombok.Getter; +import lombok.Setter; import java.util.List; @@ -11,4 +13,11 @@ public class PostmanItem { private PostmanRequest request; private List response; private List item; + private ProtocolProfileBehavior protocolProfileBehavior; + + @Getter + @Setter + public class ProtocolProfileBehavior { + private Boolean followRedirects = true; + } } diff --git a/backend/src/main/java/io/metersphere/api/parse/PostmanAbstractParserParser.java b/backend/src/main/java/io/metersphere/api/parse/PostmanAbstractParserParser.java index cd1a687d97..6e5b607f91 100644 --- a/backend/src/main/java/io/metersphere/api/parse/PostmanAbstractParserParser.java +++ b/backend/src/main/java/io/metersphere/api/parse/PostmanAbstractParserParser.java @@ -43,6 +43,13 @@ public abstract class PostmanAbstractParserParser extends ApiImportAbstractPa request.setArguments(parseKeyValue(url == null ? new ArrayList<>() : url.getQuery())); request.setHeaders(parseKeyValue(requestDesc.getHeader())); addBodyHeader(request); + PostmanItem.ProtocolProfileBehavior protocolProfileBehavior = requestItem.getProtocolProfileBehavior(); + if (protocolProfileBehavior != null && + !protocolProfileBehavior.getFollowRedirects()) { + request.setFollowRedirects(false); + } else { + request.setFollowRedirects(true); + } return request; } diff --git a/backend/src/main/java/io/metersphere/track/service/TestPlanTestCaseService.java b/backend/src/main/java/io/metersphere/track/service/TestPlanTestCaseService.java index 5eb9c280f9..b5878fb27b 100644 --- a/backend/src/main/java/io/metersphere/track/service/TestPlanTestCaseService.java +++ b/backend/src/main/java/io/metersphere/track/service/TestPlanTestCaseService.java @@ -145,7 +145,13 @@ public class TestPlanTestCaseService { if (StringUtils.equals(TestPlanTestCaseStatus.Prepare.name(), testPlanTestCase.getStatus())) { testPlanTestCase.setStatus(TestPlanTestCaseStatus.Underway.name()); } - testPlanTestCase.setExecutor(SessionUtils.getUser().getId()); + if (StringUtils.isNotBlank(testPlanTestCase.getStatus())) { + TestPlanTestCaseWithBLOBs originData = testPlanTestCaseMapper.selectByPrimaryKey(testPlanTestCase.getId()); + if (!StringUtils.equals(originData.getStatus(), testPlanTestCase.getStatus())) { + // 更新了状态才更新执行人 + testPlanTestCase.setExecutor(SessionUtils.getUser().getId()); + } + } testPlanTestCase.setUpdateTime(System.currentTimeMillis()); testPlanTestCase.setRemark(null); testPlanTestCaseMapper.updateByPrimaryKeySelective(testPlanTestCase);