fix(接口测试): 修复jsonSchema参数为null时的转换问题
--bug=1020859 --user=宋天阳 【接口测试】接口json-schema中如果有参数a,关闭json-schema,编辑json字符串把参数a改成null,再开启json-schema,a的值没变 https://www.tapd.cn/55049933/s/1316060
This commit is contained in:
parent
288fb32aab
commit
59a923dceb
|
@ -11,9 +11,6 @@
|
||||||
<if test="versionId != null">
|
<if test="versionId != null">
|
||||||
AND version_id = #{versionId}
|
AND version_id = #{versionId}
|
||||||
</if>
|
</if>
|
||||||
<if test="versionId == null">
|
|
||||||
AND latest = 1
|
|
||||||
</if>
|
|
||||||
)
|
)
|
||||||
AND reference_id IS NOT NULL
|
AND reference_id IS NOT NULL
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -170,7 +170,6 @@ public class ApiDefinitionService {
|
||||||
private static final String SCHEDULE = "schedule";
|
private static final String SCHEDULE = "schedule";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public List<ApiDefinitionResult> list(ApiDefinitionRequest request) {
|
public List<ApiDefinitionResult> list(ApiDefinitionRequest request) {
|
||||||
request = this.initRequest(request, true, true);
|
request = this.initRequest(request, true, true);
|
||||||
List<ApiDefinitionResult> resList = extApiDefinitionMapper.list(request);
|
List<ApiDefinitionResult> resList = extApiDefinitionMapper.list(request);
|
||||||
|
@ -354,8 +353,8 @@ public class ApiDefinitionService {
|
||||||
definitionList = this.selectEffectiveIdByProjectId(request.getProjectId(), versionId);
|
definitionList = this.selectEffectiveIdByProjectId(request.getProjectId(), versionId);
|
||||||
}
|
}
|
||||||
if (CollectionUtils.isNotEmpty(definitionList)) {
|
if (CollectionUtils.isNotEmpty(definitionList)) {
|
||||||
//如果查询条件中有未覆盖/已覆盖, 则需要解析出没有用例的接口中,有多少是符合场景覆盖规律的。然后将这些接口的id作为查询参数
|
//如果查询条件中有未覆盖/已覆盖, 则需要解析出没有用例的接口中,有多少是符合场景覆盖规律的。然后将这些接口的id作为查询参数. 这里不根据版本筛选覆盖的url。
|
||||||
Map<String, Map<String, String>> scenarioUrlList = apiAutomationService.selectScenarioUseUrlByProjectId(request.getProjectId(), versionId);
|
Map<String, Map<String, String>> scenarioUrlList = apiAutomationService.selectScenarioUseUrlByProjectId(request.getProjectId(), null);
|
||||||
List<String> apiIdInScenario = apiAutomationService.getApiIdInScenario(request.getProjectId(), scenarioUrlList, definitionList);
|
List<String> apiIdInScenario = apiAutomationService.getApiIdInScenario(request.getProjectId(), scenarioUrlList, definitionList);
|
||||||
if (CollectionUtils.isNotEmpty(apiIdInScenario)) {
|
if (CollectionUtils.isNotEmpty(apiIdInScenario)) {
|
||||||
request.setCoverageIds(apiIdInScenario);
|
request.setCoverageIds(apiIdInScenario);
|
||||||
|
@ -935,21 +934,6 @@ public class ApiDefinitionService {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取存储执行结果报告
|
* 获取存储执行结果报告
|
||||||
*
|
*
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
const value = {
|
||||||
|
description: null,
|
||||||
|
};
|
||||||
|
const attr = {
|
||||||
|
description: {
|
||||||
|
name: '描述',
|
||||||
|
type: 'string',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const wrapper = { value, attr };
|
||||||
|
export default wrapper;
|
|
@ -4,6 +4,7 @@ import _array from './array';
|
||||||
import _boolean from './boolean';
|
import _boolean from './boolean';
|
||||||
import _integer from './integer';
|
import _integer from './integer';
|
||||||
import _number from './number';
|
import _number from './number';
|
||||||
|
import _null from './null';
|
||||||
|
|
||||||
const TYPE_NAME = ['string', 'number', 'integer', 'object', 'array', 'boolean', 'null'];
|
const TYPE_NAME = ['string', 'number', 'integer', 'object', 'array', 'boolean', 'null'];
|
||||||
|
|
||||||
|
@ -14,7 +15,7 @@ const TYPE = {
|
||||||
boolean: _boolean,
|
boolean: _boolean,
|
||||||
integer: _integer,
|
integer: _integer,
|
||||||
number: _number,
|
number: _number,
|
||||||
null: { description: null },
|
null: _null,
|
||||||
};
|
};
|
||||||
export { TYPE, TYPE_NAME };
|
export { TYPE, TYPE_NAME };
|
||||||
|
|
||||||
|
|
|
@ -212,6 +212,14 @@ export default {
|
||||||
this.assignKey(to, from, key);
|
this.assignKey(to, from, key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//判断null
|
||||||
|
if (to.type && from.type) {
|
||||||
|
to.type = from.type;
|
||||||
|
if (from.type === 'null') {
|
||||||
|
this.assign(Object(to.mock), { mock: '' });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let property = ['description', 'maxLength', 'minLength', 'pattern', 'format', 'enum', 'default'];
|
let property = ['description', 'maxLength', 'minLength', 'pattern', 'format', 'enum', 'default'];
|
||||||
// 清除多出部分属性
|
// 清除多出部分属性
|
||||||
for (let key in to) {
|
for (let key in to) {
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
:placeholder="$t('home.dashboard.public.default_version')"
|
:placeholder="$t('home.dashboard.public.default_version')"
|
||||||
size="small"
|
size="small"
|
||||||
style="height: 100%">
|
style="height: 100%">
|
||||||
<el-option v-for="item in versions" :key="item.id" :label="item.name" :value="item.id"> </el-option>
|
<el-option v-for="item in versions" :key="item.id" :label="item.name" :value="item.id"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
|
@ -233,6 +233,7 @@ export default {
|
||||||
.api-home-layout :deep(.dashboard-title) {
|
.api-home-layout :deep(.dashboard-title) {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
color: #1f2329;
|
||||||
}
|
}
|
||||||
|
|
||||||
.api-home-layout :deep(.common-amount) {
|
.api-home-layout :deep(.common-amount) {
|
||||||
|
|
Loading…
Reference in New Issue