fix(接口测试): 修复V1版本旧数据中前后置SQL组件取不到环境的问题

修复V1版本旧数据中前后置SQL组件取不到环境的问题
This commit is contained in:
建国 2023-04-17 16:08:14 +08:00 committed by fit2-zhao
parent 3ad28234e5
commit 0527393ab4
5 changed files with 27 additions and 4 deletions

View File

@ -53,6 +53,10 @@ public class MsJDBCPostProcessor extends MsTestElement {
if (!config.isOperating() && !this.isEnable()) { if (!config.isOperating() && !this.isEnable()) {
return; return;
} }
//检查projectId 旧数据
if (StringUtils.isBlank(this.getProjectId()) && this.getParent() != null) {
this.setProjectId(this.getParent().getProjectId());
}
if (config.getConfig() == null) { if (config.getConfig() == null) {
// 单独接口执行 // 单独接口执行
this.setProjectId(config.getProjectId()); this.setProjectId(config.getProjectId());

View File

@ -53,6 +53,10 @@ public class MsJDBCPreProcessor extends MsTestElement {
if (!config.isOperating() && !this.isEnable()) { if (!config.isOperating() && !this.isEnable()) {
return; return;
} }
//检查projectId 旧数据
if (StringUtils.isBlank(this.getProjectId()) && this.getParent() != null) {
this.setProjectId(this.getParent().getProjectId());
}
if (config.getConfig() == null) { if (config.getConfig() == null) {
// 单独接口执行 // 单独接口执行
this.setProjectId(config.getProjectId()); this.setProjectId(config.getProjectId());

View File

@ -6,7 +6,9 @@ import io.metersphere.api.dto.definition.request.ParameterConfig;
import io.metersphere.api.dto.definition.request.assertions.MsAssertions; import io.metersphere.api.dto.definition.request.assertions.MsAssertions;
import io.metersphere.api.dto.definition.request.auth.MsAuthManager; import io.metersphere.api.dto.definition.request.auth.MsAuthManager;
import io.metersphere.api.dto.definition.request.dns.MsDNSCacheManager; import io.metersphere.api.dto.definition.request.dns.MsDNSCacheManager;
import io.metersphere.api.dto.definition.request.processors.post.MsJDBCPostProcessor;
import io.metersphere.api.dto.definition.request.processors.post.MsJSR223PostProcessor; import io.metersphere.api.dto.definition.request.processors.post.MsJSR223PostProcessor;
import io.metersphere.api.dto.definition.request.processors.pre.MsJDBCPreProcessor;
import io.metersphere.api.dto.definition.request.processors.pre.MsJSR223PreProcessor; import io.metersphere.api.dto.definition.request.processors.pre.MsJSR223PreProcessor;
import io.metersphere.api.dto.mock.MockApiHeaders; import io.metersphere.api.dto.mock.MockApiHeaders;
import io.metersphere.api.dto.scenario.Body; import io.metersphere.api.dto.scenario.Body;
@ -237,6 +239,9 @@ public class MsHTTPSamplerProxy extends MsTestElement {
if (CollectionUtils.isNotEmpty(hashTree)) { if (CollectionUtils.isNotEmpty(hashTree)) {
hashTree = ElementUtil.order(hashTree); hashTree = ElementUtil.order(hashTree);
for (MsTestElement el : hashTree) { for (MsTestElement el : hashTree) {
if (el instanceof MsJDBCPreProcessor || el instanceof MsJDBCPostProcessor) {
el.setParent(this);
}
if (el.getEnvironmentId() == null) { if (el.getEnvironmentId() == null) {
if (this.getEnvironmentId() == null) { if (this.getEnvironmentId() == null) {
el.setEnvironmentId(useEnvironment); el.setEnvironmentId(useEnvironment);

View File

@ -2,6 +2,8 @@ package io.metersphere.api.dto.definition.request.sampler;
import io.metersphere.api.dto.definition.request.ElementUtil; import io.metersphere.api.dto.definition.request.ElementUtil;
import io.metersphere.api.dto.definition.request.ParameterConfig; import io.metersphere.api.dto.definition.request.ParameterConfig;
import io.metersphere.api.dto.definition.request.processors.post.MsJDBCPostProcessor;
import io.metersphere.api.dto.definition.request.processors.pre.MsJDBCPreProcessor;
import io.metersphere.api.dto.scenario.DatabaseConfig; import io.metersphere.api.dto.scenario.DatabaseConfig;
import io.metersphere.api.dto.scenario.KeyValue; import io.metersphere.api.dto.scenario.KeyValue;
import io.metersphere.api.dto.scenario.environment.EnvironmentConfig; import io.metersphere.api.dto.scenario.environment.EnvironmentConfig;
@ -150,6 +152,9 @@ public class MsJDBCSampler extends MsTestElement {
if (CollectionUtils.isNotEmpty(hashTree)) { if (CollectionUtils.isNotEmpty(hashTree)) {
hashTree = ElementUtil.order(hashTree); hashTree = ElementUtil.order(hashTree);
hashTree.forEach(el -> { hashTree.forEach(el -> {
if (el instanceof MsJDBCPreProcessor || el instanceof MsJDBCPostProcessor) {
el.setParent(this);
}
el.toHashTree(samplerHashTree, el.getHashTree(), config); el.toHashTree(samplerHashTree, el.getHashTree(), config);
}); });
} }

View File

@ -3,6 +3,8 @@ package io.metersphere.api.dto.definition.request.sampler;
import io.metersphere.api.dto.automation.TcpTreeTableDataStruct; import io.metersphere.api.dto.automation.TcpTreeTableDataStruct;
import io.metersphere.api.dto.definition.request.ElementUtil; import io.metersphere.api.dto.definition.request.ElementUtil;
import io.metersphere.api.dto.definition.request.ParameterConfig; import io.metersphere.api.dto.definition.request.ParameterConfig;
import io.metersphere.api.dto.definition.request.processors.post.MsJDBCPostProcessor;
import io.metersphere.api.dto.definition.request.processors.pre.MsJDBCPreProcessor;
import io.metersphere.api.dto.definition.request.processors.pre.MsJSR223PreProcessor; import io.metersphere.api.dto.definition.request.processors.pre.MsJSR223PreProcessor;
import io.metersphere.api.dto.scenario.KeyValue; import io.metersphere.api.dto.scenario.KeyValue;
import io.metersphere.api.dto.scenario.environment.EnvironmentConfig; import io.metersphere.api.dto.scenario.environment.EnvironmentConfig;
@ -164,6 +166,9 @@ public class MsTCPSampler extends MsTestElement {
if (CollectionUtils.isNotEmpty(hashTree)) { if (CollectionUtils.isNotEmpty(hashTree)) {
hashTree = ElementUtil.order(hashTree); hashTree = ElementUtil.order(hashTree);
hashTree.forEach(el -> { hashTree.forEach(el -> {
if (el instanceof MsJDBCPreProcessor || el instanceof MsJDBCPostProcessor) {
el.setParent(this);
}
el.toHashTree(samplerHashTree, el.getHashTree(), config); el.toHashTree(samplerHashTree, el.getHashTree(), config);
}); });
} }