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

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

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