fix(性能测试): 修复报告页面下载zip都是最新文件的问题
--bug=1013315 --user=刘瑞斌 【性能测试】github#13720,性能测试一个任务多个报告,历史的报告下载的也是最新的 jmx 执行文件 https://www.tapd.cn/55049933/s/1161694 Closes #13720
This commit is contained in:
parent
87a45eebd8
commit
983de4b3e4
|
@ -82,6 +82,8 @@ public class PerformanceReportService {
|
|||
private RedissonClient redissonClient;
|
||||
@Resource
|
||||
private ProjectMapper projectMapper;
|
||||
@Resource
|
||||
private LoadTestReportFileMapper loadTestReportFileMapper;
|
||||
|
||||
public List<ReportDTO> getRecentReportList(ReportRequest request) {
|
||||
List<OrderRequest> orders = new ArrayList<>();
|
||||
|
@ -152,6 +154,11 @@ public class PerformanceReportService {
|
|||
example.createCriteria().andReportIdEqualTo(reportId);
|
||||
loadTestReportDetailMapper.deleteByExample(example);
|
||||
|
||||
// delete load_test_report_file
|
||||
LoadTestReportFileExample loadTestReportFileExample = new LoadTestReportFileExample();
|
||||
loadTestReportFileExample.createCriteria().andReportIdEqualTo(reportId);
|
||||
loadTestReportFileMapper.deleteByExample(loadTestReportFileExample);
|
||||
|
||||
// delete load_test_report_log
|
||||
LoadTestReportLogExample loadTestReportLogExample = new LoadTestReportLogExample();
|
||||
loadTestReportLogExample.createCriteria().andReportIdEqualTo(reportId);
|
||||
|
|
|
@ -130,6 +130,8 @@ public class PerformanceTestService {
|
|||
private ExtProjectVersionMapper extProjectVersionMapper;
|
||||
@Resource
|
||||
private RedissonClient redissonClient;
|
||||
@Resource
|
||||
private LoadTestReportFileMapper loadTestReportFileMapper;
|
||||
|
||||
public List<LoadTestDTO> list(QueryTestPlanRequest request) {
|
||||
request.setOrders(ServiceUtils.getDefaultSortOrder(request.getOrders()));
|
||||
|
@ -509,12 +511,14 @@ public class PerformanceTestService {
|
|||
reportResult.setReportValue("Ready"); // 初始化一个 result_status, 这个值用在data-streaming中
|
||||
loadTestReportResultMapper.insertSelective(reportResult);
|
||||
// 保存标记
|
||||
LoadTestReportResult rr = new LoadTestReportResult();
|
||||
LoadTestReportResult rr = new LoadTestReportResult();
|
||||
rr.setId(UUID.randomUUID().toString());
|
||||
rr.setReportId(testReport.getId());
|
||||
rr.setReportKey(ReportKeys.VumProcessedStatus.name());
|
||||
rr.setReportValue(VumProcessedStatus.NOT_PROCESSED); // 避免测试运行出错时,对报告重复处理vum_used值
|
||||
loadTestReportResultMapper.insertSelective(rr);
|
||||
// 保存执行当时的file
|
||||
saveLoadTestReportFiles(testReport);
|
||||
// 检查配额
|
||||
this.checkLoadQuota(testReport, engine);
|
||||
return testReport.getId();
|
||||
|
@ -532,6 +536,19 @@ public class PerformanceTestService {
|
|||
}
|
||||
}
|
||||
|
||||
private void saveLoadTestReportFiles(LoadTestReport report) {
|
||||
LoadTestFileExample example = new LoadTestFileExample();
|
||||
example.createCriteria().andTestIdEqualTo(report.getTestId());
|
||||
List<LoadTestFile> files = loadTestFileMapper.selectByExample(example);
|
||||
files.forEach(f -> {
|
||||
LoadTestReportFile record = new LoadTestReportFile();
|
||||
record.setFileId(f.getFileId());
|
||||
record.setSort(f.getSort());
|
||||
record.setReportId(report.getId());
|
||||
loadTestReportFileMapper.insert(record);
|
||||
});
|
||||
}
|
||||
|
||||
private void checkLoadQuota(LoadTestReportWithBLOBs testReport, Engine engine) {
|
||||
RunTestPlanRequest checkRequest = new RunTestPlanRequest();
|
||||
QuotaService quotaService = CommonBeanFactory.getBean(QuotaService.class);
|
||||
|
|
Loading…
Reference in New Issue