From 923973e0b63481c4bcc1f6ac947d7b083046eeac Mon Sep 17 00:00:00 2001 From: songjun Date: Mon, 6 Jun 2022 16:23:26 +0800 Subject: [PATCH 1/3] =?UTF-8?q?get=E8=AF=B7=E6=B1=82bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tester/executor/InterfaceCallUtils.java | 6 +++--- .../ruoyi/tester/executor/http/UnirestUtil.java | 17 +++++++++-------- .../TesterTaskInterfaceRelationMapper.xml | 2 +- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java b/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java index fa2f9ac..fbea5cd 100644 --- a/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java +++ b/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java @@ -20,7 +20,7 @@ public class InterfaceCallUtils { private static Logger logger = LoggerFactory.getLogger(InterfaceCallUtils.class); public static XzfHttpResult execute(TaskInterfaceEffectiveInfo interfaceInfo, Map headers) throws UnirestException { - String finalUrl = composeUrl(interfaceInfo.getHost(), interfaceInfo.getPort(), interfaceInfo.getMapping(), interfaceInfo.getQueryParam()); + String finalUrl = composeUrl(interfaceInfo.getHost(), interfaceInfo.getPort(), interfaceInfo.getMapping()); interfaceInfo.setFinalUrl(finalUrl); HttpUtils httpUtils = HttpUtilsFactory.getHttpUtils(); String contentType = StringUtils.hasLength(interfaceInfo.getContentType()) ? interfaceInfo.getContentType() : "application/x-www-form-urlencoded"; @@ -140,14 +140,14 @@ public class InterfaceCallUtils { // return null; // } - public static String composeUrl(String host, Integer port, String mapping, String getParam){ + public static String composeUrl(String host, Integer port, String mapping){ StringBuilder sb = new StringBuilder(); if(!host.startsWith("http")){ sb.append("http://"); } sb.append(host); if(port != null){ - sb.append(port); + sb.append(":").append(port); } if(host.endsWith("/") && mapping.startsWith("/")){ sb.append(mapping.substring(1)); diff --git a/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java b/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java index e1fed60..3a1e58e 100644 --- a/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java +++ b/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java @@ -28,14 +28,6 @@ public class UnirestUtil implements HttpUtils { @Override public XzfHttpResult get(String url, String contentType, Map headers, String queryParam, String pathParam) { - GetRequest requestWithBody = Unirest.get(url); - if(headers != null){ - requestWithBody.headers(headers); - } - if(StringUtils.hasLength(contentType)){ - requestWithBody.header("Content-Type", contentType); - } - if(StringUtils.hasLength(queryParam)) { StringBuilder sb = new StringBuilder(url); JSONObject paramJson = new JSONObject(queryParam); @@ -51,6 +43,15 @@ public class UnirestUtil implements HttpUtils { } url = sb.toString(); } + GetRequest requestWithBody = Unirest.get(url); + if(headers != null){ + requestWithBody.headers(headers); + } + if(StringUtils.hasLength(contentType)){ + requestWithBody.header("Content-Type", contentType); + } + + try { HttpResponse httpResponse = requestWithBody.asString(); Headers respHeaders = httpResponse.getHeaders(); diff --git a/tester/src/main/resources/mapper/tester/TesterTaskInterfaceRelationMapper.xml b/tester/src/main/resources/mapper/tester/TesterTaskInterfaceRelationMapper.xml index 2157c33..9d58210 100644 --- a/tester/src/main/resources/mapper/tester/TesterTaskInterfaceRelationMapper.xml +++ b/tester/src/main/resources/mapper/tester/TesterTaskInterfaceRelationMapper.xml @@ -34,7 +34,7 @@ and task_id = #{taskId} and interface_id = #{interfaceId} - and description = #{description} + and description like concat('%',#{description},'%') and host = #{host} and port = #{port} and depend_relation_ids = #{dependRelationIds} -- Gitee From 905d77ae221d400039043de67d06a114497af1fe Mon Sep 17 00:00:00 2001 From: songjun Date: Mon, 6 Jun 2022 16:36:03 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BC=98=E5=8C=96url=E6=8B=BC=E6=8E=A5?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tester/executor/InterfaceCallUtils.java | 105 ++---------------- 1 file changed, 10 insertions(+), 95 deletions(-) diff --git a/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java b/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java index fbea5cd..43e24b4 100644 --- a/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java +++ b/tester/src/main/java/com/ruoyi/tester/executor/InterfaceCallUtils.java @@ -52,93 +52,6 @@ public class InterfaceCallUtils { return null; } } -// -// public static HttpResponse get(String finalUrl, String getParam, Map headers, String contentType){ -// GetRequest requestWithBody = Unirest.get(finalUrl); -// if(headers != null){ -// requestWithBody.headers(headers); -// } -// if(StringUtils.hasLength(contentType)){ -// requestWithBody.header("Content-Type", contentType); -// } -// HttpResponse result = null; -// try { -// result = requestWithBody.asString(); -// } catch (UnirestException e) { -// e.printStackTrace(); -// } -// return result; -// } -// -// public static HttpResponse post(String finalUrl, String bodyParam, Map headers, String contentType){ -// try { -// HttpRequestWithBody requestWithBody = Unirest.post(finalUrl); -// if(headers != null){ -// requestWithBody.headers(headers); -// } -// if(StringUtils.hasLength(contentType)){ -// requestWithBody.header("Content-Type", contentType); -// } -// if(!StringUtils.hasLength(bodyParam)){ -// bodyParam = "{}"; -// } -// RequestBodyEntity requestBodyEntity = requestWithBody.body(bodyParam); -// HttpResponse result = requestBodyEntity.asString(); -// return result; -// } catch (Exception e){ -// e.printStackTrace(); -// } -// return null; -// } -// -// public static HttpResponse form(String finalUrl, String bodyParam, Map headers){ -// try { -// HttpRequestWithBody requestWithBody = Unirest.post(finalUrl); -// if(headers != null){ -// requestWithBody.headers(headers); -// } -// requestWithBody.header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); -// if(StringUtils.hasLength(bodyParam)) { -// JSONObject paramJson = new JSONObject(bodyParam); -// Map formMap = new HashMap<>(); -// for (String key : paramJson.keySet()) { -// formMap.put(key, paramJson.get(key)); -// } -// requestWithBody.fields(formMap); -// } -// HttpResponse result = requestWithBody.asString(); -// return result; -// } catch (Exception e){ -// e.printStackTrace(); -// } -// return null; -// } -// -// public static HttpResponse put(String finalUrl, String getParam, String bodyParam, Map headers, String contentType){ -// try { -// HttpRequestWithBody requestWithBody = Unirest.put(finalUrl); -// if(headers != null){ -// requestWithBody.headers(headers); -// } -// if(!StringUtils.hasLength(bodyParam)){ -// bodyParam = "{}"; -// } -// RequestBodyEntity requestBodyEntity = requestWithBody.body(bodyParam); -// HttpResponse result = requestBodyEntity.asString(); -// return result; -// } catch (Exception e){ -// e.printStackTrace(); -// } -// return null; -// } -// -// public static HttpResponse delete(String finalUrl, String getParam, String bodyParam, Map headers, String contentType){ -// return null; -// } -// -// public static HttpResponse patch(String finalUrl, String getParam, String bodyParam, Map headers, String contentType){ -// return null; -// } public static String composeUrl(String host, Integer port, String mapping){ StringBuilder sb = new StringBuilder(); @@ -146,18 +59,20 @@ public class InterfaceCallUtils { sb.append("http://"); } sb.append(host); + if(sb.charAt(sb.length()-1) == '/'){ + sb.deleteCharAt(sb.length()-1); + } if(port != null){ sb.append(":").append(port); } - if(host.endsWith("/") && mapping.startsWith("/")){ - sb.append(mapping.substring(1)); - } else if(!host.endsWith("/") && !mapping.startsWith("/")){ - sb.append("/").append(mapping); - } else { - sb.append(mapping); + if(mapping.charAt(0) != '/'){ + sb.append('/'); + } + sb.append(mapping); + if(sb.charAt(sb.length()-1) == '/'){ + sb.deleteCharAt(sb.length()-1); } - - return sb.toString(); } + } -- Gitee From 2c8c5ab9e9cf4c79f42297cc19ab13fc9f5f4010 Mon Sep 17 00:00:00 2001 From: songjun Date: Fri, 15 Sep 2023 10:13:08 +0800 Subject: [PATCH 3/3] modify --- .../ruoyi/tester/executor/http/UnirestUtil.java | 15 +++++++++++++++ .../executor/thread/InvolutedThreadPool.java | 2 +- .../tester/login/LoginHandlerContainer.java | 8 +++++--- .../mapper/tester/TesterInterfaceMapper.xml | 3 ++- .../TesterTaskInterfaceRelationMapper.xml | 3 ++- .../resources/templates/tester/task/add.html | 15 ++++++++------- .../resources/templates/tester/task/edit.html | 17 +++++++++-------- 7 files changed, 42 insertions(+), 21 deletions(-) diff --git a/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java b/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java index 3a1e58e..4323c36 100644 --- a/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java +++ b/tester/src/main/java/com/ruoyi/tester/executor/http/UnirestUtil.java @@ -72,6 +72,21 @@ public class UnirestUtil implements HttpUtils { @Override public XzfHttpResult post(String url, String contentType, Map headers, String queryParam, String bodyParam, String pathParam) { try { + if(StringUtils.hasLength(queryParam)) { + StringBuilder sb = new StringBuilder(url); + JSONObject paramJson = new JSONObject(queryParam); + int i = 0; + for (String key : paramJson.keySet()) { + if (i == 0) { + sb.append('?'); + } else { + sb.append('&'); + } + sb.append(key).append('=').append(paramJson.get(key)); + i++; + } + url = sb.toString(); + } HttpRequestWithBody requestWithBody = Unirest.post(url); if(headers != null){ requestWithBody.headers(headers); diff --git a/tester/src/main/java/com/ruoyi/tester/executor/thread/InvolutedThreadPool.java b/tester/src/main/java/com/ruoyi/tester/executor/thread/InvolutedThreadPool.java index 7a042d8..d81bad0 100644 --- a/tester/src/main/java/com/ruoyi/tester/executor/thread/InvolutedThreadPool.java +++ b/tester/src/main/java/com/ruoyi/tester/executor/thread/InvolutedThreadPool.java @@ -191,7 +191,7 @@ public class InvolutedThreadPool extends AbstractExecutorService { * The default rejected execution handler */ private static final InvolutedRejectedExecutionHandler defaultHandler = - new InvolutedThreadPool.AbortPolicy(); + new InvolutedThreadPool.CallerRunsPolicy(); /** * Permission required for callers of shutdown and shutdownNow. diff --git a/tester/src/main/java/com/ruoyi/tester/login/LoginHandlerContainer.java b/tester/src/main/java/com/ruoyi/tester/login/LoginHandlerContainer.java index c75e873..5375c51 100644 --- a/tester/src/main/java/com/ruoyi/tester/login/LoginHandlerContainer.java +++ b/tester/src/main/java/com/ruoyi/tester/login/LoginHandlerContainer.java @@ -19,9 +19,11 @@ public class LoginHandlerContainer { } public static Login getLoginHandler(Long loginConfigId){ - TesterLoginConfig loginBaseInfo = LoginCache.getLoginBaseInfo(loginConfigId); - if(loginBaseInfo != null){ - return container.get(loginBaseInfo.getLoginType()); + if(loginConfigId != null) { + TesterLoginConfig loginBaseInfo = LoginCache.getLoginBaseInfo(loginConfigId); + if (loginBaseInfo != null) { + return container.get(loginBaseInfo.getLoginType()); + } } return null; } diff --git a/tester/src/main/resources/mapper/tester/TesterInterfaceMapper.xml b/tester/src/main/resources/mapper/tester/TesterInterfaceMapper.xml index 5ab47aa..ea3dc48 100644 --- a/tester/src/main/resources/mapper/tester/TesterInterfaceMapper.xml +++ b/tester/src/main/resources/mapper/tester/TesterInterfaceMapper.xml @@ -38,6 +38,7 @@ and judge_expression = #{judgeExpression} and status = #{status} + order by interface_id desc -
+
-
+
-
- +
+
- +
-
+
@@ -57,4 +58,4 @@ } - \ No newline at end of file + diff --git a/tester/src/main/resources/templates/tester/task/edit.html b/tester/src/main/resources/templates/tester/task/edit.html index c51d2cd..75e10e5 100644 --- a/tester/src/main/resources/templates/tester/task/edit.html +++ b/tester/src/main/resources/templates/tester/task/edit.html @@ -7,33 +7,34 @@
-
+
-
+
-
+
-
- +
+
- +
-
+
@@ -58,4 +59,4 @@ } - \ No newline at end of file + -- Gitee