Commit d1fe7f04 authored by wdy's avatar wdy

获取测试用例新格式

parent d7f4b6f1
package com.ruoyi.domain.vo;
import lombok.Data;
import java.util.List;
@Data
public class NewScenarioUseCasesVO {
// 场景
private String testScenario;
// 用例VO
List<UseCaseNewVO> useCases;
}
package com.ruoyi.domain.vo;
import lombok.Data;
import java.util.List;
@Data
public class NewStandardVO {
// 标准要求id
private String id;
// 标准要求章节号
private String serialNumber;
// 标准要求
private String requirements;
// 场景及其所属用例VO
List<NewScenarioUseCasesVO> scenarioUseCases;
}
......@@ -7,10 +7,7 @@ import com.ruoyi.domain.vo.UseCaseUrlVO;
import com.ruoyi.web.request.TestUseCaseByScenarioRequest;
import com.ruoyi.web.request.TestUseCaseIdListRequest;
import com.ruoyi.web.request.TestUserCaseRequest;
import com.ruoyi.web.response.TestStandardListResponse;
import com.ruoyi.web.response.TestUserCaseListNewResponse;
import com.ruoyi.web.response.TestUserCaseListResponse;
import com.ruoyi.web.response.UseCaseResponse;
import com.ruoyi.web.response.*;
import java.io.IOException;
import java.util.List;
......@@ -99,4 +96,11 @@ public interface TestUseCaseService extends IService<TestUseCase> {
* @throws IOException
*/
TestStandardListResponse getStandardList(String request) throws IOException;
/**
* 查询测试用例(科恩)改版
* @param request
* @return
*/
NewTestUserCaseListResponse getCaseListNew(String request) throws IOException;
}
......@@ -10,10 +10,7 @@ import com.ruoyi.mapper.TestUseCaseMapper;
import com.ruoyi.web.request.TestUseCaseByScenarioRequest;
import com.ruoyi.web.request.TestUseCaseIdListRequest;
import com.ruoyi.web.request.TestUserCaseRequest;
import com.ruoyi.web.response.TestStandardListResponse;
import com.ruoyi.web.response.TestUserCaseListNewResponse;
import com.ruoyi.web.response.TestUserCaseListResponse;
import com.ruoyi.web.response.UseCaseResponse;
import com.ruoyi.web.response.*;
import lombok.Data;
import okhttp3.*;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -369,6 +366,48 @@ public class TestUseCaseServiceImpl extends ServiceImpl<TestUseCaseMapper, TestU
return standardListResponse;
}
@Override
public NewTestUserCaseListResponse getCaseListNew(String request) throws IOException {
NewTestUserCaseListResponse caseResponse = new NewTestUserCaseListResponse();
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"query\":\"query regulationItems($name:String!$offset:OffsetConnectionInput$orderBy:OrderByInput$searchFields:Map$withScenarioUseCases:Boolean=true){regulationByName(name:$name){items(offset:$offset orderBy:$orderBy searchFields:$searchFields){totalCount nodes{id serialNumber requirements scenarioUseCases@include(if:$withScenarioUseCases){testScenario useCases{id customizedID description}}}}}}\",\"variables\":"+ request +"}");
Request requestKE = new Request.Builder()
.url("http://10.12.48.80:8089/api/query")
.method("POST", body)
.addHeader("Content-Type", "application/json")
// TODO 连接
.addHeader("Authorization", "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjAsInRva2VuaWQiOjYxLCJ0eXBlIjoiYXBpIiwidXNlcm5hbWUiOiJhZG1pbiJ9.48Ggjx-FtOcecf73vAHn0XglwgLXZlfXxhXiLDHWWQE")
// .addHeader("Host", "10.12.48.80:8089")
// .addHeader("Origin", "http://10.12.48.80:8089")
// .addHeader("Referer", "http://10.12.48.80:8089/api/graphql/playground")
// .addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36")
.build();
Response response = client.newCall(requestKE).execute();
String string = response.body().string();
JSONObject jsonObject = JSONObject.parseObject(string);
// 获取测试标准
if (jsonObject.getJSONObject("data").getJSONObject("regulationByName") != null) {
List<NewStandardVO> list = jsonObject.getJSONObject("data").getJSONObject("regulationByName").getJSONObject("items").getList("nodes", NewStandardVO.class);
caseResponse.setUseCases(list);
// 获取总条数
Integer totalCount = (Integer) jsonObject.getJSONObject("data").getJSONObject("regulationByName").getJSONObject("items").get("totalCount");
caseResponse.setTotalCount(totalCount);
} else {
caseResponse.setUseCases(new ArrayList<>());
caseResponse.setTotalCount(0);
}
return caseResponse;
}
}
......
......@@ -8,10 +8,7 @@ import com.ruoyi.service.TestUseCaseService;
import com.ruoyi.web.request.TestUseCaseByScenarioRequest;
import com.ruoyi.web.request.TestUseCaseIdListRequest;
import com.ruoyi.web.request.TestUserCaseRequest;
import com.ruoyi.web.response.TestStandardListResponse;
import com.ruoyi.web.response.TestUserCaseListNewResponse;
import com.ruoyi.web.response.TestUserCaseListResponse;
import com.ruoyi.web.response.UseCaseResponse;
import com.ruoyi.web.response.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.skywalking.apm.toolkit.trace.Tag;
......@@ -146,4 +143,14 @@ public class TestUserCaseController extends BaseController{
}
@ApiOperation("查询测试用例(科恩)改版")
@Trace
@Tags({@Tag(key = "param", value = "arg[0]"), @Tag(key = "result", value = "returnedObj")})
@RequestMapping(method = RequestMethod.POST, value = "/getUseCaseListNew", produces="application/json;charset=UTF-8")
public R<NewTestUserCaseListResponse> getUseCaseListNew(@Validated @RequestBody String request) throws IOException {
return R.ok(testUseCaseService.getCaseListNew(request));
}
}
package com.ruoyi.web.response;
import com.ruoyi.domain.vo.NewStandardVO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@ApiModel(value = "NewTestUserCaseListResponse", description = "查询测试用例")
@Data
public class NewTestUserCaseListResponse {
@ApiModelProperty("测试用例")
List<NewStandardVO> useCases;
@ApiModelProperty("总条数")
Integer totalCount;
@ApiModelProperty("用例总条数")
Integer useCaseNum;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment