fix(接口测试): 修复v1到v2场景步骤中断言问题

Signed-off-by: fit2-zhao <yong.zhao@fit2cloud.com>
This commit is contained in:
fit2-zhao 2024-01-12 17:47:05 +08:00 committed by Craftsman
parent b0e8bd3a81
commit 4f9c3e9eae
1 changed files with 24 additions and 14 deletions

View File

@ -30,9 +30,7 @@ import org.json.JSONArray;
import org.json.JSONObject;
import org.springframework.stereotype.Service;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -179,20 +177,31 @@ public class MsHashTreeService {
}
public List<JSONObject> mergeOrgAssertion(List<JSONObject> orgAssertions) {
if (CollectionUtils.isNotEmpty(orgAssertions) && orgAssertions.size() > 1) {
try {
List<JSONObject> list = new ArrayList<>();
if (CollectionUtils.isNotEmpty(orgAssertions)) {
if (orgAssertions.size() > 1) {
//根据不同的类型把所有的数据都合并到第一个上
JSONObject jsonObject = orgAssertions.get(0);
for (int i = 1; i < orgAssertions.size(); i++) {
JSONObject jsonObject1 = orgAssertions.get(i);
JSONObject object = orgAssertions.get(i);
//jsonPath
mergeArrayAssertions(jsonObject.optJSONArray(JSON_PATH), jsonObject1.optJSONArray(JSON_PATH));
mergeArrayAssertions(jsonObject.optJSONArray(JSR223), jsonObject1.optJSONArray(JSR223));
mergeArrayAssertions(jsonObject.optJSONArray(XPATH), jsonObject1.optJSONArray(XPATH));
mergeArrayAssertions(jsonObject.optJSONArray(REGEX), jsonObject1.optJSONArray(REGEX));
mergeArrayAssertions(jsonObject.optJSONArray(JSON_PATH), object.optJSONArray(JSON_PATH));
mergeArrayAssertions(jsonObject.optJSONArray(JSR223), object.optJSONArray(JSR223));
mergeArrayAssertions(jsonObject.optJSONArray(XPATH), object.optJSONArray(XPATH));
mergeArrayAssertions(jsonObject.optJSONArray(REGEX), object.optJSONArray(REGEX));
}
}
return List.of(orgAssertions.get(0));
LogUtil.info("处理断言数据,只有一个,不需要合并");
list.add(orgAssertions.get(0));
return list;
}
} catch (Exception e) {
LogUtil.error("mergeOrgAssertion error", e);
}
return new ArrayList<>();
}
public void mergeArrayAssertions(JSONArray org, JSONArray org1) {
@ -504,4 +513,5 @@ public class MsHashTreeService {
caseFormatting(array, caseMap, apiMap, msParameter);
}
}
}