refactor(接口测试): 优化接口插件获取环境参数

This commit is contained in:
AgAngle 2024-02-02 11:56:57 +08:00 committed by 刘瑞斌
parent c7b0e9f8f7
commit b1a48dcd94
6 changed files with 9 additions and 7 deletions

View File

@ -3,6 +3,8 @@ package io.metersphere.plugin.api.dto;
import io.metersphere.plugin.api.spi.AbstractMsTestElement;
import lombok.Data;
import java.util.Map;
/**
* @Author: jianxing
* @CreateTime: 2023-10-27 17:30
@ -21,5 +23,5 @@ public abstract class ParameterConfig {
* @param msTestElement 当前 AbstractMsTestElement 的实现类对象
* @return
*/
public abstract Object getProtocolEnvConfig(AbstractMsTestElement msTestElement);
public abstract Map<String, Object> getProtocolEnvConfig(AbstractMsTestElement msTestElement);
}

View File

@ -30,7 +30,7 @@ public class ApiParamConfig extends ParameterConfig {
@Override
public Object getProtocolEnvConfig(AbstractMsTestElement msTestElement) {
public Map<String, Object> getProtocolEnvConfig(AbstractMsTestElement msTestElement) {
return getProtocolEnvConfig(msTestElement, getEnvConfig());
}
@ -40,7 +40,7 @@ public class ApiParamConfig extends ParameterConfig {
* @param envConfig 当前的环境配置信息
* @return
*/
public Object getProtocolEnvConfig(AbstractMsTestElement msTestElement,
public Map<String, Object> getProtocolEnvConfig(AbstractMsTestElement msTestElement,
EnvironmentInfoDTO envConfig) {
if (envConfig == null
|| envConfig.getConfig() == null
@ -49,7 +49,7 @@ public class ApiParamConfig extends ParameterConfig {
|| testElementClassPluginIdMap.get(msTestElement.getClass()) == null) {
return null;
}
Map<String, Object> pluginConfigMap = envConfig.getConfig().getPluginConfigMap();
Map<String, Map<String, Object>> pluginConfigMap = envConfig.getConfig().getPluginConfigMap();
String pluginId = testElementClassPluginIdMap.get(msTestElement.getClass());
return pluginConfigMap.get(pluginId);
}

View File

@ -27,7 +27,7 @@ public class ApiScenarioParamConfig extends ApiParamConfig {
private Boolean grouped;
@Override
public Object getProtocolEnvConfig(AbstractMsTestElement msTestElement) {
public Map<String, Object> getProtocolEnvConfig(AbstractMsTestElement msTestElement) {
if (BooleanUtils.isTrue(grouped)) {
return getProtocolEnvConfig(msTestElement, projectEnvMap.get(msTestElement.getProjectId()));
} else {

View File

@ -680,7 +680,7 @@ public class ApiScenarioControllerTests extends BaseTest {
envRequest.setProjectId(DEFAULT_PROJECT_ID);
envRequest.setName("test scenario debug");
// 添加插件的环境配置供后续测试使用
Map<String, Object> pluginConfigMap = new HashMap<>();
Map<String, Map<String, Object>> pluginConfigMap = new HashMap<>();
pluginConfigMap.put("tcpp-sampler", new HashMap<>());
EnvironmentConfig environmentConfig = new EnvironmentConfig();
environmentConfig.setPluginConfigMap(pluginConfigMap);

View File

@ -38,7 +38,7 @@ public class EnvironmentConfig implements Serializable {
@Schema(description = "全局断言")
private MsEnvAssertionConfig assertionConfig;
@Schema(description = "插件自定义的配置项key为插件IDvalue 为对应配置")
private Map<String, Object> pluginConfigMap;
private Map<String, Map<String, Object>> pluginConfigMap;
public EnvironmentConfig() {