水木接口修改、afl字段添加

This commit is contained in:
even 2025-07-07 15:23:52 +08:00
parent 92fa95b91f
commit 1ebc5f6c95
8 changed files with 74 additions and 5 deletions

View File

@ -2,9 +2,11 @@ package cd.casic.ci.api;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuBuildAndSaveReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuProjectCreateReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuTestProblemReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuUpdateWFuzzJsonReq;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectInfoResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectVersionResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuTestProblemResp;
import cd.casic.ci.process.process.service.shuimu.ShuiMuService;
import cd.casic.framework.commons.pojo.CommonResult;
import jakarta.annotation.Resource;
@ -63,4 +65,8 @@ public class ShuiMuController {
shuiMuService.uploadWfuzzJson(req);
return CommonResult.success();
}
@PostMapping("/problemsOfTest")
public CommonResult<ShuiMuTestProblemResp> problemsOfTest(@RequestBody ShuiMuTestProblemReq req){
return null;
}
}

View File

@ -16,4 +16,6 @@ public class ShuiMuUrlConstant {
public static final String getProjectResource = "/api/project/getProjectResource";
public static final String uploadWfuzzJson = "/api/project/code/uploadWfuzzJson";
public static final String executeAllEntrypointsTest ="/api/driverGeneration/executeAllEntrypointsTest";
public static final String problemsOfTest = "/api/test/problemsOfTest";
}

View File

@ -0,0 +1,11 @@
package cd.casic.ci.process.dto.req.shuimu;
import cd.casic.framework.commons.pojo.PageParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(callSuper = true)
@Data
public class ShuiMuTestProblemReq extends PageParam {
private String projectId;
}

View File

@ -0,0 +1,23 @@
package cd.casic.ci.process.dto.resp.shuimu;
import lombok.Data;
@Data
public class ShuiMuTestProblemResp {
private String id;
private String name;
private String type;
private String state;
private String tag;
private String count;
private String passCount;
private String testid;
private String testGroupId;
private String createAt;
private String description;
private String cwe;
private String testGroupIdAndproblemId;
private String product;
private String projectName;
private String moduleName;
}

View File

@ -27,4 +27,5 @@ public class PipelineVariableConstant {
public static final String COMPILE_RESULT_KEY ="compileResult";
public static final String AFL_RESOURCE_MANAGER_ID_KEY = "managerId";
public static final String IMAGE_NAME = "IMAGE_NAME";
public static final String EXECUTABLE_NAME_KEY = "executableName";
}

View File

@ -102,6 +102,7 @@ public class AFLWorker extends DockerWorker {
toBadEnding();
}
localVariables.put(DIYImageExecuteCommandConstant.STATUS_CODE, statusCode);
putGlobalVariable(context, EXECUTABLE_NAME_KEY,imageName);
}
}
public String cdSourceName(String fileName){

View File

@ -2,10 +2,14 @@ package cd.casic.ci.process.process.service.shuimu;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuBuildAndSaveReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuProjectCreateReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuTestProblemReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuUpdateWFuzzJsonReq;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectInfoResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectResourceResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectVersionResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuTestProblemResp;
import cd.casic.framework.commons.pojo.CommonResult;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@ -32,4 +36,6 @@ public interface ShuiMuService {
void uploadWfuzzJson(ShuiMuUpdateWFuzzJsonReq req);
void executeAllEntrypointsTest(String projectId,Integer fuzzMinutes);
ShuiMuProjectResourceResp getProjectResource(String projectId);
List<ShuiMuTestProblemResp> problemsOfTest(ShuiMuTestProblemReq req);
}

View File

@ -2,11 +2,9 @@ package cd.casic.ci.process.process.service.shuimu.impl;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuBuildAndSaveReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuProjectCreateReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuTestProblemReq;
import cd.casic.ci.process.dto.req.shuimu.ShuiMuUpdateWFuzzJsonReq;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectInfoResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectResourceResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuProjectVersionResp;
import cd.casic.ci.process.dto.resp.shuimu.ShuiMuTokenResp;
import cd.casic.ci.process.dto.resp.shuimu.*;
import cd.casic.ci.process.engine.manager.RunContextManager;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
@ -279,6 +277,27 @@ public class ShuiMuServiceImpl implements ShuiMuService {
return null;
}
}
@Override
public List<ShuiMuTestProblemResp> problemsOfTest(ShuiMuTestProblemReq req) {
HttpHeaders headers = getHeaders();
HttpEntity<String> entity = new HttpEntity<>(null,headers);
String skip = String.valueOf((req.getPageNo()-1)*req.getPageSize());
String limit = String.valueOf(req.getPageSize());
String product = "code";
String projectId = req.getProjectId();
String uriString = UriComponentsBuilder.fromUriString(shuiMuProperties.getBaseUrl() + problemsOfTest)
.queryParam("skip", skip)
.queryParam("limit", limit)
.queryParam("product", product)
.queryParam("projectId", projectId).toUriString();
ResponseEntity<String> exchange = restTemplate.exchange(uriString, HttpMethod.GET, entity, String.class, new HashMap<>());
JSONObject jsonObject = JSON.parseObject(exchange.getBody());
JSONArray data = jsonObject.getJSONArray("data");
return null;
}
private HttpHeaders getHeaders(){
HttpHeaders httpHeaders = new HttpHeaders();
httpHeaders.setContentType(MediaType.APPLICATION_JSON);