提交 49108091 authored 作者: 黄夏豪's avatar 黄夏豪

refactor(base): 美化了一下代码排版

上级 02654234
...@@ -38,7 +38,11 @@ public class CheckPointActuator implements Actuator { ...@@ -38,7 +38,11 @@ public class CheckPointActuator implements Actuator {
String baseJsString; String baseJsString;
public CheckPointActuator(@Value("${baseJsPath}") String baseJs) { final
CompleteExpressionUtil completeExpressionUtil ;
public CheckPointActuator(@Value("${baseJsPath}") String baseJs, CompleteExpressionUtil completeExpressionUtil) {
this.completeExpressionUtil = completeExpressionUtil;
ClassPathResource cpr = new ClassPathResource(baseJs); ClassPathResource cpr = new ClassPathResource(baseJs);
try { try {
this.baseJsString = IOUtils.toString(cpr.getInputStream(), StandardCharsets.UTF_8); this.baseJsString = IOUtils.toString(cpr.getInputStream(), StandardCharsets.UTF_8);
...@@ -78,13 +82,13 @@ public class CheckPointActuator implements Actuator { ...@@ -78,13 +82,13 @@ public class CheckPointActuator implements Actuator {
public CheckPointResultDetail jsonPathCheck(String jsonPathCheckPoint, Object jsonObject,Long envId,Long projectId) { public CheckPointResultDetail jsonPathCheck(String jsonPathCheckPoint, Object jsonObject,Long envId,Long projectId) {
String expression = jsonPathCheckPoint; String expression = jsonPathCheckPoint;
try { try {
expression = CompleteExpressionUtil.completeDynamicVariable( expression = completeExpressionUtil.completeDynamicVariable(
expression, expression,
envId, envId,
projectId) projectId)
; ;
//todo 李迪凡 先将result中的动态变量都还原出来 (先后顺序不能乱)得先还原动态变量 //todo 李迪凡 先将result中的动态变量都还原出来 (先后顺序不能乱)得先还原动态变量
expression = CompleteExpressionUtil.completeJsonPathExpression( expression = completeExpressionUtil.completeJsonPathExpression(
expression, expression,
jsonObject jsonObject
); );
...@@ -151,7 +155,7 @@ public class CheckPointActuator implements Actuator { ...@@ -151,7 +155,7 @@ public class CheckPointActuator implements Actuator {
List<CheckPointResultDetail> resultDetails = new ArrayList<>(); List<CheckPointResultDetail> resultDetails = new ArrayList<>();
String[] split = containCheckPoint.split(","); String[] split = containCheckPoint.split(",");
for (String containExpression : split) { for (String containExpression : split) {
String parseContainExpression = CompleteExpressionUtil.completeDynamicVariable( String parseContainExpression = completeExpressionUtil.completeDynamicVariable(
containExpression, containExpression,
envId, envId,
projectId) projectId)
...@@ -181,7 +185,7 @@ public class CheckPointActuator implements Actuator { ...@@ -181,7 +185,7 @@ public class CheckPointActuator implements Actuator {
List<CheckPointResultDetail> resultDetails = new ArrayList<>(); List<CheckPointResultDetail> resultDetails = new ArrayList<>();
String[] split = noContainCheckPoint.split(","); String[] split = noContainCheckPoint.split(",");
for (String noContainExpression : split) { for (String noContainExpression : split) {
String parseNoContainExpression = CompleteExpressionUtil.completeDynamicVariable( String parseNoContainExpression = completeExpressionUtil.completeDynamicVariable(
noContainExpression, noContainExpression,
envId, envId,
projectId) projectId)
......
...@@ -5,12 +5,10 @@ import org.apache.commons.lang3.StringUtils; ...@@ -5,12 +5,10 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.http.conn.HttpHostConnectException; import org.apache.http.conn.HttpHostConnectException;
import org.matrix.actuators.Actuator; import org.matrix.actuators.Actuator;
import org.matrix.actuators.util.CompleteExpressionUtil; import org.matrix.actuators.util.CompleteExpressionUtil;
import org.matrix.config.HttpRequestConfig;
import org.apache.http.Consts; import org.apache.http.Consts;
import org.apache.http.HttpEntity; import org.apache.http.HttpEntity;
import org.apache.http.HttpHeaders; import org.apache.http.HttpHeaders;
import org.apache.http.NameValuePair; import org.apache.http.NameValuePair;
import org.apache.http.client.CookieStore;
import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.*; import org.apache.http.client.methods.*;
import org.apache.http.client.utils.URIBuilder; import org.apache.http.client.utils.URIBuilder;
...@@ -22,7 +20,6 @@ import org.apache.http.impl.client.CloseableHttpClient; ...@@ -22,7 +20,6 @@ import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.message.BasicNameValuePair; import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils; import org.apache.http.util.EntityUtils;
import org.matrix.exception.HttpRequestException; import org.matrix.exception.HttpRequestException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -32,16 +29,12 @@ import java.io.FileInputStream; ...@@ -32,16 +29,12 @@ import java.io.FileInputStream;
import java.io.IOException; import java.io.IOException;
import java.net.URISyntaxException; import java.net.URISyntaxException;
import java.nio.charset.StandardCharsets; import java.nio.charset.StandardCharsets;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* HttpClient调用封装 * HttpClient调用封装
* todo 打印LOG
* @author HuangXiahao * @author HuangXiahao
**/ **/
@Component @Component
...@@ -50,8 +43,12 @@ public class HttpClientActuator implements Actuator { ...@@ -50,8 +43,12 @@ public class HttpClientActuator implements Actuator {
final final
CloseableHttpClient client; CloseableHttpClient client;
public HttpClientActuator(CloseableHttpClient client) { final
CompleteExpressionUtil completeExpressionUtil;
public HttpClientActuator(CloseableHttpClient client, CompleteExpressionUtil completeExpressionUtil) {
this.client = client; this.client = client;
this.completeExpressionUtil = completeExpressionUtil;
} }
/** /**
...@@ -62,13 +59,13 @@ public class HttpClientActuator implements Actuator { ...@@ -62,13 +59,13 @@ public class HttpClientActuator implements Actuator {
//todo 李迪凡 将header中的key和value里的 动态变量补全 //todo 李迪凡 将header中的key和value里的 动态变量补全
//获取动态变量,并将动态变量替换进去 //获取动态变量,并将动态变量替换进去
header.setName( header.setName(
CompleteExpressionUtil.completeDynamicVariable( completeExpressionUtil.completeDynamicVariable(
header.getName(), header.getName(),
envId, envId,
projectId) projectId)
); );
header.setValue( header.setValue(
CompleteExpressionUtil.completeDynamicVariable( completeExpressionUtil.completeDynamicVariable(
header.getValue(), header.getValue(),
envId, envId,
projectId) projectId)
...@@ -77,13 +74,13 @@ public class HttpClientActuator implements Actuator { ...@@ -77,13 +74,13 @@ public class HttpClientActuator implements Actuator {
for (RequestBody requestBody : httpRequestDetail.getRequestBodies()) { for (RequestBody requestBody : httpRequestDetail.getRequestBodies()) {
//todo 李迪凡 将requestBody中的key和value里的 动态变量补全 //todo 李迪凡 将requestBody中的key和value里的 动态变量补全
requestBody.setKey( requestBody.setKey(
CompleteExpressionUtil.completeDynamicVariable( completeExpressionUtil.completeDynamicVariable(
requestBody.getKey(), requestBody.getKey(),
envId, envId,
projectId) projectId)
); );
requestBody.setValue( requestBody.setValue(
CompleteExpressionUtil.completeDynamicVariable( completeExpressionUtil.completeDynamicVariable(
requestBody.getValue(), requestBody.getValue(),
envId, envId,
projectId) projectId)
...@@ -92,14 +89,14 @@ public class HttpClientActuator implements Actuator { ...@@ -92,14 +89,14 @@ public class HttpClientActuator implements Actuator {
if (!StringUtils.isEmpty(httpRequestDetail.getStringValue())){ if (!StringUtils.isEmpty(httpRequestDetail.getStringValue())){
//todo 李迪凡 将httpRequestDetail的stringValue 动态变量补全 //todo 李迪凡 将httpRequestDetail的stringValue 动态变量补全
httpRequestDetail.setStringValue( httpRequestDetail.setStringValue(
CompleteExpressionUtil.completeDynamicVariable( completeExpressionUtil.completeDynamicVariable(
httpRequestDetail.getStringValue(), httpRequestDetail.getStringValue(),
envId, envId,
projectId) projectId)
); );
} }
//todo 李迪凡 将httpRequestDetail的url 动态变量补全 //todo 李迪凡 将httpRequestDetail的url 动态变量补全
httpRequestDetail.setUrl(CompleteExpressionUtil.completeDynamicVariable( httpRequestDetail.setUrl(completeExpressionUtil.completeDynamicVariable(
httpRequestDetail.getUrl(), httpRequestDetail.getUrl(),
envId, envId,
projectId)); projectId));
...@@ -301,7 +298,7 @@ public class HttpClientActuator implements Actuator { ...@@ -301,7 +298,7 @@ public class HttpClientActuator implements Actuator {
response.close(); response.close();
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
throw new HttpRequestException(String.format("关闭返回流失败")); throw new HttpRequestException("关闭返回流失败");
} }
} }
} }
......
...@@ -6,6 +6,8 @@ import com.jayway.jsonpath.JsonPath; ...@@ -6,6 +6,8 @@ import com.jayway.jsonpath.JsonPath;
import org.matrix.actuators.checkpoint.JsonPathCheckPoint; import org.matrix.actuators.checkpoint.JsonPathCheckPoint;
import org.matrix.actuators.sql.SqlExpActuator; import org.matrix.actuators.sql.SqlExpActuator;
import org.matrix.util.SpringUtils; import org.matrix.util.SpringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.function.BiFunction; import java.util.function.BiFunction;
import java.util.regex.Matcher; import java.util.regex.Matcher;
...@@ -15,6 +17,7 @@ import java.util.regex.Pattern; ...@@ -15,6 +17,7 @@ import java.util.regex.Pattern;
* 补全http和检验点中的表达式的一些公共方法 * 补全http和检验点中的表达式的一些公共方法
* @author huangxiahao * @author huangxiahao
*/ */
@Component
public class CompleteExpressionUtil { public class CompleteExpressionUtil {
public static final String JSON_PATH_REG = "\\{(\\s)*\\$.*?}"; public static final String JSON_PATH_REG = "\\{(\\s)*\\$.*?}";
...@@ -25,7 +28,8 @@ public class CompleteExpressionUtil { ...@@ -25,7 +28,8 @@ public class CompleteExpressionUtil {
public static final String DYNAMIC_VARIABLE_REG = "\\$\\{(((?!pre\\.).)*?)}(\\[(.*?)])?"; public static final String DYNAMIC_VARIABLE_REG = "\\$\\{(((?!pre\\.).)*?)}(\\[(.*?)])?";
public static String completeDynamicVariable(String expression,Long envId,Long projectId) {
public String completeDynamicVariable(String expression,Long envId,Long projectId) {
String result = expression; String result = expression;
result = regexExpression(result, DYNAMIC_VARIABLE_REG, null, (o, s) -> getSqlExpActuator().parseVarByName(s,envId,projectId)); result = regexExpression(result, DYNAMIC_VARIABLE_REG, null, (o, s) -> getSqlExpActuator().parseVarByName(s,envId,projectId));
return result; return result;
...@@ -36,13 +40,13 @@ public class CompleteExpressionUtil { ...@@ -36,13 +40,13 @@ public class CompleteExpressionUtil {
* @param jsonObject 这个Object 是由 Configuration.defaultConfiguration().jsonProvider().parse(“json字符串”); 这个方法转换过来的 请不要乱传 * @param jsonObject 这个Object 是由 Configuration.defaultConfiguration().jsonProvider().parse(“json字符串”); 这个方法转换过来的 请不要乱传
* @return * @return
*/ */
public static String completeJsonPathExpression(String expression, Object jsonObject) { public String completeJsonPathExpression(String expression, Object jsonObject) {
String result = expression; String result = expression;
result = regexExpression(result, JSON_PATH_REG, jsonObject, (o, s) -> JSON.toJSONString(JsonPath.read(o, s.substring(1, s.length() - 1)))); result = regexExpression(result, JSON_PATH_REG, jsonObject, (o, s) -> JSON.toJSONString(JsonPath.read(o, s.substring(1, s.length() - 1))));
return result; return result;
} }
public static String regexExpression(String expression, String regex,Object sourceContent, BiFunction<Object,String,String> biFunction){ public String regexExpression(String expression, String regex,Object sourceContent, BiFunction<Object,String,String> biFunction){
String result = expression; String result = expression;
Pattern pattern = Pattern.compile(regex); Pattern pattern = Pattern.compile(regex);
Matcher mat = pattern.matcher(result); Matcher mat = pattern.matcher(result);
...@@ -57,4 +61,7 @@ public class CompleteExpressionUtil { ...@@ -57,4 +61,7 @@ public class CompleteExpressionUtil {
private static SqlExpActuator getSqlExpActuator(){ private static SqlExpActuator getSqlExpActuator(){
return SpringUtils.getBean("sqlExpActuator"); return SpringUtils.getBean("sqlExpActuator");
} }
} }
...@@ -14,5 +14,6 @@ spring: ...@@ -14,5 +14,6 @@ spring:
mybatis-plus: mybatis-plus:
type-enums-package: org.matrix.enums type-enums-package: org.matrix.enums
baseJsPath: syntaxCheck.js
baseJsPath: syntaxCheck.js baseJsPath: syntaxCheck.js
\ No newline at end of file
...@@ -24,6 +24,11 @@ ...@@ -24,6 +24,11 @@
<artifactId>mybatis-plus-generator</artifactId> <artifactId>mybatis-plus-generator</artifactId>
<version>3.5.1</version> <version>3.5.1</version>
</dependency> </dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
</dependency>
</dependencies> </dependencies>
......
package org.matrix;
import lombok.Data;
@Data
public class PageQueryTest {
int id ;
int pageNum;
int size;
}
...@@ -15,6 +15,9 @@ spring: ...@@ -15,6 +15,9 @@ spring:
password: root password: root
mybatis-plus: mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
type-enums-package: org.matrix.enums type-enums-package: org.matrix.enums
baseJsPath: syntaxCheck.js baseJsPath: syntaxCheck.js
\ No newline at end of file
package org.matrix; package org.matrix;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
/** /**
* Unit test for simple App. * Unit test for simple App.
*/ */
@SpringBootTest
public class AppTest { public class AppTest {
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论