refactor(接口测试): 导入的接口构造默认数据
This commit is contained in:
parent
11741c834b
commit
ff2062d94d
|
@ -33,6 +33,7 @@ import org.springframework.validation.annotation.Validated;
|
|||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
|
@ -79,10 +80,14 @@ public class ApiTestCaseController {
|
|||
@GetMapping("recover/{id}")
|
||||
@Operation(summary = "接口测试-接口管理-接口用例-恢复")
|
||||
@RequiresPermissions(PermissionConstants.PROJECT_API_DEFINITION_CASE_DELETE)
|
||||
@Log(type = OperationLogType.RECOVER, expression = "#msClass.recoverLog(#id)", msClass = ApiTestCaseLogService.class)
|
||||
@CheckOwner(resourceId = "#id", resourceType = "api_test_case")
|
||||
public void recover(@PathVariable String id) {
|
||||
apiTestCaseService.recover(id, SessionUtils.getUserId(), SessionUtils.getCurrentProjectId());
|
||||
ApiTestCaseBatchRequest request = new ApiTestCaseBatchRequest();
|
||||
List<String> ids = new ArrayList<>();
|
||||
ids.add(id);
|
||||
request.setSelectIds(ids);
|
||||
request.setProjectId(SessionUtils.getCurrentProjectId());
|
||||
apiTestCaseRecoverService.batchRecover(request, SessionUtils.getUserId());
|
||||
}
|
||||
|
||||
@GetMapping("follow/{id}")
|
||||
|
|
|
@ -20,6 +20,7 @@ import io.metersphere.sdk.exception.MSException;
|
|||
import io.metersphere.sdk.util.JSON;
|
||||
import io.metersphere.sdk.util.LogUtils;
|
||||
import io.metersphere.sdk.util.Translator;
|
||||
import io.metersphere.system.uid.IDGenerator;
|
||||
import io.swagger.parser.OpenAPIParser;
|
||||
import io.swagger.v3.oas.models.*;
|
||||
import io.swagger.v3.oas.models.media.*;
|
||||
|
@ -147,6 +148,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
request.setAuthConfig(new NoAuth());
|
||||
apiDefinitionDTO.setRequest(request);
|
||||
|
||||
|
||||
//解析请求内容
|
||||
parseResponse(operation.getResponses(), apiDefinitionDTO.getResponse());
|
||||
results.add(apiDefinitionDTO);
|
||||
|
@ -158,13 +160,6 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
}
|
||||
|
||||
private void parseRequestBody(RequestBody requestBody, Body body) {
|
||||
body.setBinaryBody(new BinaryBody());
|
||||
body.setFormDataBody(new FormDataBody());
|
||||
body.setXmlBody(new XmlBody());
|
||||
body.setRawBody(new RawBody());
|
||||
body.setNoneBody(new NoneBody());
|
||||
body.setJsonBody(new JsonBody());
|
||||
body.setWwwFormBody(new WWWFormBody());
|
||||
if (requestBody != null) {
|
||||
Content content = requestBody.getContent();
|
||||
if (content != null) {
|
||||
|
@ -365,6 +360,16 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
httpConfig.setResponseTimeout(60000L);
|
||||
request.setOtherConfig(httpConfig);
|
||||
request.setAuthConfig(new NoAuth());
|
||||
Body body = new Body();
|
||||
body.setBinaryBody(new BinaryBody());
|
||||
body.setFormDataBody(new FormDataBody());
|
||||
body.setXmlBody(new XmlBody());
|
||||
body.setRawBody(new RawBody());
|
||||
body.setNoneBody(new NoneBody());
|
||||
body.setJsonBody(new JsonBody());
|
||||
body.setWwwFormBody(new WWWFormBody());
|
||||
body.setNoneBody(new NoneBody());
|
||||
request.setBody(body);
|
||||
return request;
|
||||
}
|
||||
|
||||
|
@ -532,6 +537,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
JsonSchemaItem jsonSchemaItem = new JsonSchemaItem();
|
||||
jsonSchemaItem.setType(PropertyConstant.OBJECT);
|
||||
jsonSchemaItem.setRequired(objectSchema.getRequired());
|
||||
jsonSchemaItem.setId(IDGenerator.nextStr());
|
||||
jsonSchemaItem.setDescription(objectSchema.getDescription());
|
||||
Map<String, Schema> properties = objectSchema.getProperties();
|
||||
Map<String, JsonSchemaItem> jsonSchemaProperties = new LinkedHashMap<>();
|
||||
|
@ -617,6 +623,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
private JsonSchemaItem parseString(StringSchema stringSchema) {
|
||||
JsonSchemaItem jsonSchemaString = new JsonSchemaItem();
|
||||
jsonSchemaString.setType(PropertyConstant.STRING);
|
||||
jsonSchemaString.setId(IDGenerator.nextStr());
|
||||
jsonSchemaString.setFormat(StringUtils.isNotBlank(stringSchema.getFormat()) ? stringSchema.getFormat() : StringUtils.EMPTY);
|
||||
jsonSchemaString.setDescription(getDefaultStringValue(stringSchema.getDescription()));
|
||||
jsonSchemaString.setExample(stringSchema.getExample());
|
||||
|
@ -637,6 +644,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
private JsonSchemaItem parseInteger(IntegerSchema integerSchema) {
|
||||
JsonSchemaItem jsonSchemaInteger = new JsonSchemaItem();
|
||||
jsonSchemaInteger.setType(PropertyConstant.INTEGER);
|
||||
jsonSchemaInteger.setId(IDGenerator.nextStr());
|
||||
jsonSchemaInteger.setFormat(StringUtils.isNotBlank(integerSchema.getFormat()) ? integerSchema.getFormat() : StringUtils.EMPTY);
|
||||
jsonSchemaInteger.setDescription(StringUtils.isNotBlank(integerSchema.getDescription()) ? integerSchema.getDescription() : StringUtils.EMPTY);
|
||||
jsonSchemaInteger.setExample(integerSchema.getExample());
|
||||
|
@ -649,6 +657,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
private JsonSchemaItem parseNumber(NumberSchema numberSchema) {
|
||||
JsonSchemaItem jsonSchemaNumber = new JsonSchemaItem();
|
||||
jsonSchemaNumber.setType(PropertyConstant.NUMBER);
|
||||
jsonSchemaNumber.setId(IDGenerator.nextStr());
|
||||
jsonSchemaNumber.setDescription(StringUtils.isNotBlank(numberSchema.getDescription()) ? numberSchema.getDescription() : StringUtils.EMPTY);
|
||||
jsonSchemaNumber.setExample(numberSchema.getExample());
|
||||
jsonSchemaNumber.setEnumNumber(numberSchema.getEnum());
|
||||
|
@ -658,6 +667,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
private JsonSchemaItem parseBoolean(BooleanSchema booleanSchema) {
|
||||
JsonSchemaItem jsonSchemaBoolean = new JsonSchemaItem();
|
||||
jsonSchemaBoolean.setType(PropertyConstant.BOOLEAN);
|
||||
jsonSchemaBoolean.setId(IDGenerator.nextStr());
|
||||
jsonSchemaBoolean.setDescription(getDefaultStringValue(booleanSchema.getDescription()));
|
||||
jsonSchemaBoolean.setExample(booleanSchema.getExample());
|
||||
return jsonSchemaBoolean;
|
||||
|
@ -665,6 +675,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
|
||||
private JsonSchemaItem parseNull() {
|
||||
JsonSchemaItem jsonSchemaNull = new JsonSchemaItem();
|
||||
jsonSchemaNull.setId(IDGenerator.nextStr());
|
||||
jsonSchemaNull.setType(PropertyConstant.NULL);
|
||||
return jsonSchemaNull;
|
||||
}
|
||||
|
@ -672,6 +683,7 @@ public class Swagger3Parser<T> implements ImportParser<ApiDefinitionImport> {
|
|||
private JsonSchemaItem parseArraySchema(Schema<?> items) {
|
||||
JsonSchemaItem jsonSchemaArray = new JsonSchemaItem();
|
||||
jsonSchemaArray.setType(PropertyConstant.ARRAY);
|
||||
jsonSchemaArray.setId(IDGenerator.nextStr());
|
||||
Schema itemsSchema = null;
|
||||
if (StringUtils.isNotBlank(items.get$ref())) {
|
||||
itemsSchema = getModelByRef(items.get$ref());
|
||||
|
|
|
@ -97,23 +97,6 @@ public class ApiTestCaseLogService {
|
|||
return dto;
|
||||
}
|
||||
|
||||
public LogDTO recoverLog(String id) {
|
||||
ApiTestCase apiTestCase = apiTestCaseMapper.selectByPrimaryKey(id);
|
||||
Project project = projectMapper.selectByPrimaryKey(apiTestCase.getProjectId());
|
||||
LogDTO dto = new LogDTO(
|
||||
apiTestCase.getProjectId(),
|
||||
project.getOrganizationId(),
|
||||
id,
|
||||
null,
|
||||
OperationLogType.RECOVER.name(),
|
||||
OperationLogModule.API_TEST_MANAGEMENT_CASE,
|
||||
apiTestCase.getName());
|
||||
dto.setHistory(false);
|
||||
dto.setMethod(HttpMethodConstants.GET.name());
|
||||
dto.setOriginalValue(JSON.toJSONBytes(apiTestCase));
|
||||
return dto;
|
||||
}
|
||||
|
||||
public LogDTO followLog(String id) {
|
||||
ApiTestCase apiTestCase = apiTestCaseMapper.selectByPrimaryKey(id);
|
||||
Project project = projectMapper.selectByPrimaryKey(apiTestCase.getProjectId());
|
||||
|
|
|
@ -336,11 +336,6 @@ public class ApiTestCaseService extends MoveNodeService {
|
|||
}
|
||||
}
|
||||
|
||||
public void recover(String id, String userId, String projectId) {
|
||||
ApiTestCase apiCase = checkResourceExist(id);
|
||||
batchRecover(List.of(apiCase), userId, projectId);
|
||||
}
|
||||
|
||||
public void batchRecover(List<ApiTestCase> apiTestCases, String userId, String projectId) {
|
||||
if (CollectionUtils.isNotEmpty(apiTestCases)) {
|
||||
apiTestCases.forEach(apiTestCase -> {
|
||||
|
|
|
@ -535,7 +535,6 @@ public class ApiTestCaseControllerTests extends BaseTest {
|
|||
Assertions.assertFalse(apiCase.getDeleted());
|
||||
// @@校验日志
|
||||
checkLog(apiTestCase.getId(), OperationLogType.RECOVER);
|
||||
this.requestGet(RECOVER + "111").andExpect(ERROR_REQUEST_MATCHER);
|
||||
|
||||
// @@校验权限
|
||||
requestGetPermissionTest(PermissionConstants.PROJECT_API_DEFINITION_CASE_DELETE, RECOVER + apiTestCase.getId());
|
||||
|
|
Loading…
Reference in New Issue