fix(接口测试): 修复tcp协议导入esb格式文件报错问题
--user=郭雨琦 https://www.tapd.cn/55049933/bugtrace/bugs/view/1155049933001017930
This commit is contained in:
parent
843087819d
commit
5edc53bad9
|
@ -669,7 +669,9 @@ public class ApiModuleService extends NodeTreeService<ApiModuleDTO> {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
buildOptionMap(optionDatas, optionMap);
|
buildOptionMap(optionDatas, optionMap);
|
||||||
repeatDataMap = repeatApiDefinitionWithBLOBs.stream().collect(Collectors.toMap(t -> t.getName().concat(t.getModulePath()), api -> api));
|
if (CollectionUtils.isNotEmpty(repeatApiDefinitionWithBLOBs)) {
|
||||||
|
repeatDataMap = repeatApiDefinitionWithBLOBs.stream().collect(Collectors.toMap(t -> t.getName().concat(t.getModulePath()), api -> api));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Boolean fullCoverageApi = getFullCoverageApi(request);
|
Boolean fullCoverageApi = getFullCoverageApi(request);
|
||||||
String updateVersionId = getUpdateVersionId(request);
|
String updateVersionId = getUpdateVersionId(request);
|
||||||
|
@ -1058,33 +1060,34 @@ public class ApiModuleService extends NodeTreeService<ApiModuleDTO> {
|
||||||
String updateVersionId, List<ApiTestCaseWithBLOBs> optionDataCases,
|
String updateVersionId, List<ApiTestCaseWithBLOBs> optionDataCases,
|
||||||
Map<String, List<ApiTestCaseWithBLOBs>> oldCaseMap, Map<String, EsbApiParamsWithBLOBs> esbApiParamsMap) {
|
Map<String, List<ApiTestCaseWithBLOBs>> oldCaseMap, Map<String, EsbApiParamsWithBLOBs> esbApiParamsMap) {
|
||||||
//覆盖但不覆盖模块
|
//覆盖但不覆盖模块
|
||||||
if (nameModuleMap != null) {
|
if (MapUtils.isEmpty(nameModuleMap) || MapUtils.isEmpty(repeatDataMap)) {
|
||||||
//导入文件没有新增接口无需创建接口模块
|
return new HashMap<>();
|
||||||
moduleMap = judgeModule(moduleMap, nameModuleMap, repeatDataMap);
|
|
||||||
repeatDataMap.forEach((k, v) -> {
|
|
||||||
ApiDefinitionWithBLOBs apiDefinitionWithBLOBs = nameModuleMap.get(k);
|
|
||||||
if (apiDefinitionWithBLOBs != null) {
|
|
||||||
//系统内重复的数据的版本如果不是选择的数据更新版本,则在数据更新版本新增,否则更新这个版本的数据
|
|
||||||
if (!v.getVersionId().equals(updateVersionId)) {
|
|
||||||
addNewVersionApi(apiDefinitionWithBLOBs, v, "update");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
Map<String, List<ApiTestCaseWithBLOBs>> definitionIdCaseMAp = optionDataCases.stream().collect(Collectors.groupingBy(ApiTestCase::getApiDefinitionId));
|
|
||||||
//该接口的case
|
|
||||||
Map<String, ApiTestCaseWithBLOBs> caseNameMap = getDistinctCaseNameMap(definitionIdCaseMAp, apiDefinitionWithBLOBs);
|
|
||||||
updateEsb(esbApiParamsMap, v.getId(), apiDefinitionWithBLOBs.getId());
|
|
||||||
//组合case
|
|
||||||
if (MapUtils.isNotEmpty(caseNameMap)) {
|
|
||||||
buildCaseList(oldCaseMap, caseNameMap, v, optionDataCases);
|
|
||||||
}
|
|
||||||
apiDefinitionWithBLOBs.setId(v.getId());
|
|
||||||
apiDefinitionWithBLOBs.setModuleId(v.getModuleId());
|
|
||||||
apiDefinitionWithBLOBs.setModulePath(v.getModulePath());
|
|
||||||
setApiParam(apiDefinitionWithBLOBs, updateVersionId, v);
|
|
||||||
toUpdateList.add(v);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
//导入文件没有新增接口无需创建接口模块
|
||||||
|
moduleMap = judgeModule(moduleMap, nameModuleMap, repeatDataMap);
|
||||||
|
repeatDataMap.forEach((k, v) -> {
|
||||||
|
ApiDefinitionWithBLOBs apiDefinitionWithBLOBs = nameModuleMap.get(k);
|
||||||
|
if (apiDefinitionWithBLOBs != null) {
|
||||||
|
//系统内重复的数据的版本如果不是选择的数据更新版本,则在数据更新版本新增,否则更新这个版本的数据
|
||||||
|
if (!v.getVersionId().equals(updateVersionId)) {
|
||||||
|
addNewVersionApi(apiDefinitionWithBLOBs, v, "update");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Map<String, List<ApiTestCaseWithBLOBs>> definitionIdCaseMAp = optionDataCases.stream().collect(Collectors.groupingBy(ApiTestCase::getApiDefinitionId));
|
||||||
|
//该接口的case
|
||||||
|
Map<String, ApiTestCaseWithBLOBs> caseNameMap = getDistinctCaseNameMap(definitionIdCaseMAp, apiDefinitionWithBLOBs);
|
||||||
|
updateEsb(esbApiParamsMap, v.getId(), apiDefinitionWithBLOBs.getId());
|
||||||
|
//组合case
|
||||||
|
if (MapUtils.isNotEmpty(caseNameMap)) {
|
||||||
|
buildCaseList(oldCaseMap, caseNameMap, v, optionDataCases);
|
||||||
|
}
|
||||||
|
apiDefinitionWithBLOBs.setId(v.getId());
|
||||||
|
apiDefinitionWithBLOBs.setModuleId(v.getModuleId());
|
||||||
|
apiDefinitionWithBLOBs.setModulePath(v.getModulePath());
|
||||||
|
setApiParam(apiDefinitionWithBLOBs, updateVersionId, v);
|
||||||
|
toUpdateList.add(v);
|
||||||
|
}
|
||||||
|
});
|
||||||
return moduleMap;
|
return moduleMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1119,29 +1122,30 @@ public class ApiModuleService extends NodeTreeService<ApiModuleDTO> {
|
||||||
private void coverModule(List<ApiDefinitionWithBLOBs> toUpdateList, Map<String, ApiDefinitionWithBLOBs> nameModuleMap,
|
private void coverModule(List<ApiDefinitionWithBLOBs> toUpdateList, Map<String, ApiDefinitionWithBLOBs> nameModuleMap,
|
||||||
Map<String, ApiDefinitionWithBLOBs> repeatDataMap, String updateVersionId, List<ApiTestCaseWithBLOBs> optionDataCases,
|
Map<String, ApiDefinitionWithBLOBs> repeatDataMap, String updateVersionId, List<ApiTestCaseWithBLOBs> optionDataCases,
|
||||||
Map<String, List<ApiTestCaseWithBLOBs>> oldCaseMap, Map<String, EsbApiParamsWithBLOBs> esbApiParamsMap) {
|
Map<String, List<ApiTestCaseWithBLOBs>> oldCaseMap, Map<String, EsbApiParamsWithBLOBs> esbApiParamsMap) {
|
||||||
if (nameModuleMap != null) {
|
if (MapUtils.isEmpty(nameModuleMap) || MapUtils.isEmpty(repeatDataMap)) {
|
||||||
repeatDataMap.forEach((k, v) -> {
|
return;
|
||||||
ApiDefinitionWithBLOBs apiDefinitionWithBLOBs = nameModuleMap.get(k);
|
|
||||||
if (apiDefinitionWithBLOBs != null) {
|
|
||||||
//系统内重复的数据的版本如果不是选择的数据更新版本,则在数据更新版本新增,否则更新这个版本的数据
|
|
||||||
if (!v.getVersionId().equals(updateVersionId)) {
|
|
||||||
addNewVersionApi(apiDefinitionWithBLOBs, v, "update");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
//该接口的case
|
|
||||||
Map<String, List<ApiTestCaseWithBLOBs>> definitionIdCaseMAp = optionDataCases.stream().collect(Collectors.groupingBy(ApiTestCase::getApiDefinitionId));
|
|
||||||
Map<String, ApiTestCaseWithBLOBs> caseNameMap = getDistinctCaseNameMap(definitionIdCaseMAp, apiDefinitionWithBLOBs);
|
|
||||||
updateEsb(esbApiParamsMap, v.getId(), apiDefinitionWithBLOBs.getId());
|
|
||||||
//组合case
|
|
||||||
if (MapUtils.isNotEmpty(caseNameMap)) {
|
|
||||||
buildCaseList(oldCaseMap, caseNameMap, v, optionDataCases);
|
|
||||||
}
|
|
||||||
apiDefinitionWithBLOBs.setId(v.getId());
|
|
||||||
setApiParam(apiDefinitionWithBLOBs, updateVersionId, v);
|
|
||||||
toUpdateList.add(v);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
repeatDataMap.forEach((k, v) -> {
|
||||||
|
ApiDefinitionWithBLOBs apiDefinitionWithBLOBs = nameModuleMap.get(k);
|
||||||
|
if (apiDefinitionWithBLOBs != null) {
|
||||||
|
//系统内重复的数据的版本如果不是选择的数据更新版本,则在数据更新版本新增,否则更新这个版本的数据
|
||||||
|
if (!v.getVersionId().equals(updateVersionId)) {
|
||||||
|
addNewVersionApi(apiDefinitionWithBLOBs, v, "update");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//该接口的case
|
||||||
|
Map<String, List<ApiTestCaseWithBLOBs>> definitionIdCaseMAp = optionDataCases.stream().collect(Collectors.groupingBy(ApiTestCase::getApiDefinitionId));
|
||||||
|
Map<String, ApiTestCaseWithBLOBs> caseNameMap = getDistinctCaseNameMap(definitionIdCaseMAp, apiDefinitionWithBLOBs);
|
||||||
|
updateEsb(esbApiParamsMap, v.getId(), apiDefinitionWithBLOBs.getId());
|
||||||
|
//组合case
|
||||||
|
if (MapUtils.isNotEmpty(caseNameMap)) {
|
||||||
|
buildCaseList(oldCaseMap, caseNameMap, v, optionDataCases);
|
||||||
|
}
|
||||||
|
apiDefinitionWithBLOBs.setId(v.getId());
|
||||||
|
setApiParam(apiDefinitionWithBLOBs, updateVersionId, v);
|
||||||
|
toUpdateList.add(v);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeRepeatOrigin(List<ApiDefinitionWithBLOBs> data, Boolean fullCoverage, List<ApiDefinitionWithBLOBs> optionDatas) {
|
private void removeRepeatOrigin(List<ApiDefinitionWithBLOBs> data, Boolean fullCoverage, List<ApiDefinitionWithBLOBs> optionDatas) {
|
||||||
|
|
Loading…
Reference in New Issue