# Conflicts:
#	backend/src/main/java/io/metersphere/api/controller/ApiAutomationController.java
#	backend/src/main/java/io/metersphere/api/service/ApiAutomationService.java
#	backend/src/main/java/io/metersphere/base/mapper/SwaggerUrlProjectMapper.xml
#	frontend/src/business/components/api/automation/ApiAutomation.vue
#	frontend/src/business/components/api/automation/scenario/ApiScenarioModule.vue
This commit is contained in:
fit2-zhao 2021-02-20 11:53:04 +08:00
parent b0486b6faf
commit 1270eb8b29
3 changed files with 30 additions and 32 deletions

View File

@ -111,7 +111,7 @@ public class ApiAutomationController {
@PostMapping("/batch/edit")
@RequiresRoles(value = {RoleConstants.TEST_USER, RoleConstants.TEST_MANAGER}, logical = Logical.OR)
public void bathEdit(@RequestBody SaveApiScenarioRequest request) {
public void bathEdit(@RequestBody ApiScenarioBatchRequest request) {
apiAutomationService.bathEdit(request);
}
@ -162,11 +162,11 @@ public class ApiAutomationController {
}
@PostMapping(value = "/import", consumes = {"multipart/form-data"})
@RequiresRoles(value = {RoleConstants.TEST_USER, RoleConstants.TEST_MANAGER}, logical = Logical.OR)
public ApiDefinitionImport testCaseImport(@RequestPart(value = "file", required = false) MultipartFile file, @RequestPart("request") ApiTestImportRequest request) {
return apiAutomationService.scenarioImport(file, request);
}
// @PostMapping(value = "/import", consumes = {"multipart/form-data"})
// @RequiresRoles(value = {RoleConstants.TEST_USER, RoleConstants.TEST_MANAGER}, logical = Logical.OR)
// public ApiDefinitionImport testCaseImport(@RequestPart(value = "file", required = false) MultipartFile file, @RequestPart("request") ApiTestImportRequest request) {
// return apiAutomationService.scenarioImport(file, request);
// }
@PostMapping(value = "/export")
@RequiresRoles(value = {RoleConstants.TEST_USER, RoleConstants.TEST_MANAGER}, logical = Logical.OR)

View File

@ -14,13 +14,10 @@ import io.metersphere.api.dto.automation.parse.ScenarioImportParser;
import io.metersphere.api.dto.automation.parse.ScenarioImportParserFactory;
import io.metersphere.api.dto.datacount.ApiDataCountResult;
import io.metersphere.api.dto.definition.RunDefinitionRequest;
import io.metersphere.api.dto.definition.parse.ApiDefinitionImport;
import io.metersphere.api.dto.definition.request.*;
import io.metersphere.api.dto.definition.request.variable.ScenarioVariable;
import io.metersphere.api.dto.scenario.environment.EnvironmentConfig;
import io.metersphere.api.jmeter.JMeterService;
import io.metersphere.api.parse.ApiImportParser;
import io.metersphere.api.parse.ApiScenarioImportParserFactory;
import io.metersphere.base.domain.*;
import io.metersphere.base.mapper.ApiScenarioMapper;
import io.metersphere.base.mapper.ApiScenarioReportMapper;
@ -816,28 +813,28 @@ public class ApiAutomationService {
return apiImport;
}
public ApiDefinitionImport scenarioImport(MultipartFile file, ApiTestImportRequest request) {
ApiImportParser apiImportParser = ApiScenarioImportParserFactory.getApiImportParser(request.getPlatform());
ApiDefinitionImport apiImport = null;
try {
apiImport = apiImportParser.parse(file == null ? null : file.getInputStream(), request);
} catch (Exception e) {
LogUtil.error(e.getMessage(), e);
MSException.throwException(Translator.get("parse_data_error"));
}
SaveApiScenarioRequest saveReq = new SaveApiScenarioRequest();
saveReq.setScenarioDefinition(apiImport.getScenarioDefinition());
saveReq.setName(saveReq.getScenarioDefinition().getName());
saveReq.setProjectId(request.getProjectId());
saveReq.setApiScenarioModuleId(request.getModuleId());
if (StringUtils.isNotBlank(request.getUserId())) {
saveReq.setPrincipal(request.getUserId());
} else {
saveReq.setPrincipal(SessionUtils.getUserId());
}
create(saveReq, new ArrayList<>());
return apiImport;
}
// public ApiDefinitionImport scenarioImport(MultipartFile file, ApiTestImportRequest request) {
// ApiImportParser apiImportParser = ApiScenarioImportParserFactory.getApiImportParser(request.getPlatform());
// ApiDefinitionImport apiImport = null;
// try {
// apiImport = apiImportParser.parse(file == null ? null : file.getInputStream(), request);
// } catch (Exception e) {
// LogUtil.error(e.getMessage(), e);
// MSException.throwException(Translator.get("parse_data_error"));
// }
// SaveApiScenarioRequest saveReq = new SaveApiScenarioRequest();
// saveReq.setScenarioDefinition(apiImport.getScenarioDefinition());
// saveReq.setName(saveReq.getScenarioDefinition().getName());
// saveReq.setProjectId(request.getProjectId());
// saveReq.setApiScenarioModuleId(request.getModuleId());
// if (StringUtils.isNotBlank(request.getUserId())) {
// saveReq.setPrincipal(request.getUserId());
// } else {
// saveReq.setPrincipal(SessionUtils.getUserId());
// }
// create(saveReq, new ArrayList<>());
// return apiImport;
// }
public ApiScenrioExportResult export(ApiScenarioBatchRequest request) {
ServiceUtils.getSelectAllIds(request, request.getCondition(),

View File

@ -62,11 +62,12 @@ import MsNodeTree from "../../../track/common/NodeTree";
import {buildNodePath} from "../../definition/model/NodeTree";
import ModuleTrashButton from "../../definition/components/module/ModuleTrashButton";
import ApiScenarioModuleHeader from "@/business/components/api/automation/scenario/module/ApiScenarioModuleHeader";
import ApiImport from "./common/ScenarioImport";
export default {
name: 'MsApiScenarioModule',
components: {
ApiScenarioModuleHeader,
ApiImport,
ModuleTrashButton,
MsNodeTree,
MsAddBasisScenario,