chore: 去掉暂时不再规划的功能

This commit is contained in:
CaptainB 2024-05-08 10:04:32 +08:00 committed by 刘瑞斌
parent c89a858f52
commit 92a1ca5aa7
52 changed files with 99 additions and 1684 deletions

View File

@ -71,7 +71,7 @@ jmeter.home=/opt/jmeter
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# i18n
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/load,i18n/plan,i18n/project,i18n/system,i18n/ui,i18n/workstation
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/plan,i18n/project,i18n/system
# actuator
management.endpoints.web.exposure.include=*
management.endpoints.enabled-by-default=false

View File

@ -40,15 +40,6 @@ public class TestResourcePool implements Serializable {
@Schema(description = "创建人")
private String createUser;
@Schema(description = "是否用于接口测试")
private Boolean apiTest;
@Schema(description = "是否用于性能测试")
private Boolean loadTest;
@Schema(description = "是否用于ui测试")
private Boolean uiTest;
@Schema(description = "ms部署地址")
private String serverUrl;
@ -71,9 +62,6 @@ public class TestResourcePool implements Serializable {
createTime("create_time", "createTime", "BIGINT", false),
updateTime("update_time", "updateTime", "BIGINT", false),
createUser("create_user", "createUser", "VARCHAR", false),
apiTest("api_test", "apiTest", "BIT", false),
loadTest("load_test", "loadTest", "BIT", false),
uiTest("ui_test", "uiTest", "BIT", false),
serverUrl("server_url", "serverUrl", "VARCHAR", false),
allOrg("all_org", "allOrg", "BIT", false),
deleted("deleted", "deleted", "BIT", false);

View File

@ -634,186 +634,6 @@ public class TestResourcePoolExample {
return (Criteria) this;
}
public Criteria andApiTestIsNull() {
addCriterion("api_test is null");
return (Criteria) this;
}
public Criteria andApiTestIsNotNull() {
addCriterion("api_test is not null");
return (Criteria) this;
}
public Criteria andApiTestEqualTo(Boolean value) {
addCriterion("api_test =", value, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestNotEqualTo(Boolean value) {
addCriterion("api_test <>", value, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestGreaterThan(Boolean value) {
addCriterion("api_test >", value, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestGreaterThanOrEqualTo(Boolean value) {
addCriterion("api_test >=", value, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestLessThan(Boolean value) {
addCriterion("api_test <", value, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestLessThanOrEqualTo(Boolean value) {
addCriterion("api_test <=", value, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestIn(List<Boolean> values) {
addCriterion("api_test in", values, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestNotIn(List<Boolean> values) {
addCriterion("api_test not in", values, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestBetween(Boolean value1, Boolean value2) {
addCriterion("api_test between", value1, value2, "apiTest");
return (Criteria) this;
}
public Criteria andApiTestNotBetween(Boolean value1, Boolean value2) {
addCriterion("api_test not between", value1, value2, "apiTest");
return (Criteria) this;
}
public Criteria andLoadTestIsNull() {
addCriterion("load_test is null");
return (Criteria) this;
}
public Criteria andLoadTestIsNotNull() {
addCriterion("load_test is not null");
return (Criteria) this;
}
public Criteria andLoadTestEqualTo(Boolean value) {
addCriterion("load_test =", value, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestNotEqualTo(Boolean value) {
addCriterion("load_test <>", value, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestGreaterThan(Boolean value) {
addCriterion("load_test >", value, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestGreaterThanOrEqualTo(Boolean value) {
addCriterion("load_test >=", value, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestLessThan(Boolean value) {
addCriterion("load_test <", value, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestLessThanOrEqualTo(Boolean value) {
addCriterion("load_test <=", value, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestIn(List<Boolean> values) {
addCriterion("load_test in", values, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestNotIn(List<Boolean> values) {
addCriterion("load_test not in", values, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestBetween(Boolean value1, Boolean value2) {
addCriterion("load_test between", value1, value2, "loadTest");
return (Criteria) this;
}
public Criteria andLoadTestNotBetween(Boolean value1, Boolean value2) {
addCriterion("load_test not between", value1, value2, "loadTest");
return (Criteria) this;
}
public Criteria andUiTestIsNull() {
addCriterion("ui_test is null");
return (Criteria) this;
}
public Criteria andUiTestIsNotNull() {
addCriterion("ui_test is not null");
return (Criteria) this;
}
public Criteria andUiTestEqualTo(Boolean value) {
addCriterion("ui_test =", value, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestNotEqualTo(Boolean value) {
addCriterion("ui_test <>", value, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestGreaterThan(Boolean value) {
addCriterion("ui_test >", value, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestGreaterThanOrEqualTo(Boolean value) {
addCriterion("ui_test >=", value, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestLessThan(Boolean value) {
addCriterion("ui_test <", value, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestLessThanOrEqualTo(Boolean value) {
addCriterion("ui_test <=", value, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestIn(List<Boolean> values) {
addCriterion("ui_test in", values, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestNotIn(List<Boolean> values) {
addCriterion("ui_test not in", values, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestBetween(Boolean value1, Boolean value2) {
addCriterion("ui_test between", value1, value2, "uiTest");
return (Criteria) this;
}
public Criteria andUiTestNotBetween(Boolean value1, Boolean value2) {
addCriterion("ui_test not between", value1, value2, "uiTest");
return (Criteria) this;
}
public Criteria andServerUrlIsNull() {
addCriterion("server_url is null");
return (Criteria) this;

View File

@ -10,9 +10,6 @@
<result column="create_time" jdbcType="BIGINT" property="createTime" />
<result column="update_time" jdbcType="BIGINT" property="updateTime" />
<result column="create_user" jdbcType="VARCHAR" property="createUser" />
<result column="api_test" jdbcType="BIT" property="apiTest" />
<result column="load_test" jdbcType="BIT" property="loadTest" />
<result column="ui_test" jdbcType="BIT" property="uiTest" />
<result column="server_url" jdbcType="VARCHAR" property="serverUrl" />
<result column="all_org" jdbcType="BIT" property="allOrg" />
<result column="deleted" jdbcType="BIT" property="deleted" />
@ -77,7 +74,7 @@
</sql>
<sql id="Base_Column_List">
id, `name`, `type`, description, `enable`, create_time, update_time, create_user,
api_test, load_test, ui_test, server_url, all_org, deleted
server_url, all_org, deleted
</sql>
<select id="selectByExample" parameterType="io.metersphere.system.domain.TestResourcePoolExample" resultMap="BaseResultMap">
select
@ -112,13 +109,11 @@
<insert id="insert" parameterType="io.metersphere.system.domain.TestResourcePool">
insert into test_resource_pool (id, `name`, `type`,
description, `enable`, create_time,
update_time, create_user, api_test,
load_test, ui_test, server_url,
update_time, create_user, server_url,
all_org, deleted)
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
#{description,jdbcType=VARCHAR}, #{enable,jdbcType=BIT}, #{createTime,jdbcType=BIGINT},
#{updateTime,jdbcType=BIGINT}, #{createUser,jdbcType=VARCHAR}, #{apiTest,jdbcType=BIT},
#{loadTest,jdbcType=BIT}, #{uiTest,jdbcType=BIT}, #{serverUrl,jdbcType=VARCHAR},
#{updateTime,jdbcType=BIGINT}, #{createUser,jdbcType=VARCHAR}, #{serverUrl,jdbcType=VARCHAR},
#{allOrg,jdbcType=BIT}, #{deleted,jdbcType=BIT})
</insert>
<insert id="insertSelective" parameterType="io.metersphere.system.domain.TestResourcePool">
@ -148,15 +143,6 @@
<if test="createUser != null">
create_user,
</if>
<if test="apiTest != null">
api_test,
</if>
<if test="loadTest != null">
load_test,
</if>
<if test="uiTest != null">
ui_test,
</if>
<if test="serverUrl != null">
server_url,
</if>
@ -192,15 +178,6 @@
<if test="createUser != null">
#{createUser,jdbcType=VARCHAR},
</if>
<if test="apiTest != null">
#{apiTest,jdbcType=BIT},
</if>
<if test="loadTest != null">
#{loadTest,jdbcType=BIT},
</if>
<if test="uiTest != null">
#{uiTest,jdbcType=BIT},
</if>
<if test="serverUrl != null">
#{serverUrl,jdbcType=VARCHAR},
</if>
@ -245,15 +222,6 @@
<if test="record.createUser != null">
create_user = #{record.createUser,jdbcType=VARCHAR},
</if>
<if test="record.apiTest != null">
api_test = #{record.apiTest,jdbcType=BIT},
</if>
<if test="record.loadTest != null">
load_test = #{record.loadTest,jdbcType=BIT},
</if>
<if test="record.uiTest != null">
ui_test = #{record.uiTest,jdbcType=BIT},
</if>
<if test="record.serverUrl != null">
server_url = #{record.serverUrl,jdbcType=VARCHAR},
</if>
@ -278,9 +246,6 @@
create_time = #{record.createTime,jdbcType=BIGINT},
update_time = #{record.updateTime,jdbcType=BIGINT},
create_user = #{record.createUser,jdbcType=VARCHAR},
api_test = #{record.apiTest,jdbcType=BIT},
load_test = #{record.loadTest,jdbcType=BIT},
ui_test = #{record.uiTest,jdbcType=BIT},
server_url = #{record.serverUrl,jdbcType=VARCHAR},
all_org = #{record.allOrg,jdbcType=BIT},
deleted = #{record.deleted,jdbcType=BIT}
@ -312,15 +277,6 @@
<if test="createUser != null">
create_user = #{createUser,jdbcType=VARCHAR},
</if>
<if test="apiTest != null">
api_test = #{apiTest,jdbcType=BIT},
</if>
<if test="loadTest != null">
load_test = #{loadTest,jdbcType=BIT},
</if>
<if test="uiTest != null">
ui_test = #{uiTest,jdbcType=BIT},
</if>
<if test="serverUrl != null">
server_url = #{serverUrl,jdbcType=VARCHAR},
</if>
@ -342,9 +298,6 @@
create_time = #{createTime,jdbcType=BIGINT},
update_time = #{updateTime,jdbcType=BIGINT},
create_user = #{createUser,jdbcType=VARCHAR},
api_test = #{apiTest,jdbcType=BIT},
load_test = #{loadTest,jdbcType=BIT},
ui_test = #{uiTest,jdbcType=BIT},
server_url = #{serverUrl,jdbcType=VARCHAR},
all_org = #{allOrg,jdbcType=BIT},
deleted = #{deleted,jdbcType=BIT}
@ -353,13 +306,12 @@
<insert id="batchInsert" parameterType="map">
insert into test_resource_pool
(id, `name`, `type`, description, `enable`, create_time, update_time, create_user,
api_test, load_test, ui_test, server_url, all_org, deleted)
server_url, all_org, deleted)
values
<foreach collection="list" item="item" separator=",">
(#{item.id,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.type,jdbcType=VARCHAR},
#{item.description,jdbcType=VARCHAR}, #{item.enable,jdbcType=BIT}, #{item.createTime,jdbcType=BIGINT},
#{item.updateTime,jdbcType=BIGINT}, #{item.createUser,jdbcType=VARCHAR}, #{item.apiTest,jdbcType=BIT},
#{item.loadTest,jdbcType=BIT}, #{item.uiTest,jdbcType=BIT}, #{item.serverUrl,jdbcType=VARCHAR},
#{item.updateTime,jdbcType=BIGINT}, #{item.createUser,jdbcType=VARCHAR}, #{item.serverUrl,jdbcType=VARCHAR},
#{item.allOrg,jdbcType=BIT}, #{item.deleted,jdbcType=BIT})
</foreach>
</insert>
@ -397,15 +349,6 @@
<if test="'create_user'.toString() == column.value">
#{item.createUser,jdbcType=VARCHAR}
</if>
<if test="'api_test'.toString() == column.value">
#{item.apiTest,jdbcType=BIT}
</if>
<if test="'load_test'.toString() == column.value">
#{item.loadTest,jdbcType=BIT}
</if>
<if test="'ui_test'.toString() == column.value">
#{item.uiTest,jdbcType=BIT}
</if>
<if test="'server_url'.toString() == column.value">
#{item.serverUrl,jdbcType=VARCHAR}
</if>

View File

@ -21,6 +21,10 @@ ALTER TABLE operation_log MODIFY COLUMN module VARCHAR(100);
CREATE INDEX idx_num ON test_plan_functional_case(num);
ALTER TABLE test_resource_pool DROP COLUMN api_test;
ALTER TABLE test_resource_pool DROP COLUMN load_test;
ALTER TABLE test_resource_pool DROP COLUMN ui_test;
-- set innodb lock wait timeout to default
SET SESSION innodb_lock_wait_timeout = DEFAULT;

View File

@ -7,11 +7,6 @@ import java.util.Arrays;
*/
public class ProjectApplicationType {
//工作台
public enum WORKSTATION {
WORKSTATION_SYNC_RULE
}
//测试计划
public enum TEST_PLAN {
TEST_PLAN_CLEAN_REPORT,
@ -19,25 +14,6 @@ public class ProjectApplicationType {
}
//UI测试
public enum UI {
UI_CLEAN_REPORT,
UI_SHARE_REPORT,
UI_RESOURCE_POOL_ID,
}
//性能测试
public enum LOAD_TEST {
LOAD_TEST_CLEAN_REPORT,
LOAD_TEST_SHARE_REPORT,
LOAD_TEST_SCRIPT_REVIEWER_ENABLE,
LOAD_TEST_SCRIPT_REVIEWER_ID,
LOAD_TEST_RESOURCE_POOL_ID
}
//接口测试
public enum API {
API_URL_REPEATABLE,

View File

@ -2,5 +2,5 @@ package io.metersphere.sdk.constants;
public enum TaskCenterResourceType {
API_CASE, API_SCENARIO, UI_TEST, LOAD_TEST, TEST_PLAN
API_CASE, API_SCENARIO, TEST_PLAN
}

View File

@ -1,72 +0,0 @@
load_test_report.id.not_blank=性能测试报告ID不能为空
load_test_report.test_id.length_range=性能测试ID长度范围为{min}到{max}
load_test_report.test_id.not_blank=性能测试ID不能为空
load_test_report.name.length_range=性能测试报告名称长度范围为{min}到{max}
load_test_report.name.not_blank=性能测试报告名称不能为空
load_test_report.status.length_range=性能测试报告状态长度范围为{min}到{max}
load_test_report.status.not_blank=性能测试报告状态不能为空
load_test_report.create_user.length_range=性能测试报告创建人长度范围为{min}到{max}
load_test_report.create_user.not_blank=性能测试报告创建人不能为空
load_test_report.trigger_mode.length_range=性能测试报告触发方式长度范围为{min}到{max}
load_test_report.trigger_mode.not_blank=性能测试报告触发方式不能为空
load_test_report.project_id.length_range=性能测试报告项目ID长度范围为{min}到{max}
load_test_report.project_id.not_blank=性能测试报告项目ID不能为空
load_test_report.test_name.length_range=性能测试报告测试名称长度范围为{min}到{max}
load_test_report.test_name.not_blank=性能测试报告测试名称不能为空
load_test_report.test_resource_pool_id.length_range=性能测试报告测试资源池ID长度范围为{min}到{max}
load_test_report.test_resource_pool_id.not_blank=性能测试报告测试资源池ID不能为空
load_test_report.version_id.length_range=性能测试报告版本ID长度范围为{min}到{max}
load_test_report.version_id.not_blank=性能测试报告版本ID不能为空
load_test_report_result.id.not_blank=性能测试报告结果ID不能为空
load_test_report_result.report_id.length_range=性能测试报告结果报告ID长度范围为{min}到{max}
load_test_report_result.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_follower.test_id.length_range=性能测试ID长度范围为{min}到{max}
load_test_follower.test_id.not_blank=性能测试ID不能为空
load_test_follower.user_id.length_range=性能测试关注ID长度范围为{min}到{max}
load_test_follower.user_id.not_blank=性能测试关注ID不能为空
load_test_report_result_part.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_report_result_part.report_key.not_blank=性能测试报告结果报告KEY不能为空
load_test_report_result_part.resource_index.not_blank=性能测试报告结果资源索引不能为空
load_test.id.not_blank=性能测试ID不能为空
load_test.project_id.length_range=性能测试项目ID长度范围为{min}到{max}
load_test.project_id.not_blank=性能测试项目ID不能为空
load_test.name.length_range=性能测试名称长度范围为{min}到{max}
load_test.name.not_blank=性能测试名称不能为空
load_test.status.length_range=性能测试状态长度范围为{min}到{max}
load_test.status.not_blank=性能测试状态不能为空
load_test.test_resource_pool_id.length_range=性能测试资源池ID长度范围为{min}到{max}
load_test.test_resource_pool_id.not_blank=性能测试资源池ID不能为空
load_test.create_user.length_range=性能测试创建人长度范围为{min}到{max}
load_test.create_user.not_blank=性能测试创建人不能为空
load_test.version_id.length_range=性能测试版本ID长度范围为{min}到{max}
load_test.version_id.not_blank=性能测试版本ID不能为空
load_test.ref_id.length_range=性能测试关联ID长度范围为{min}到{max}
load_test.ref_id.not_blank=性能测试关联ID不能为空
load_test.latest.length_range=性能测试是否为最新版本长度范围为{min}到{max}
load_test.latest.not_blank=性能测试是否为最新版本不能为空
load_test_report_blob.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_api.id.not_blank=性能测试接口ID不能为空
load_test_api.api_id.length_range=性能测试接口ID长度范围为{min}到{max}
load_test_api.api_id.not_blank=性能测试接口ID不能为空
load_test_api.load_test_id.length_range=性能测试接口性能测试ID长度范围为{min}到{max}
load_test_api.load_test_id.not_blank=性能测试接口性能测试ID不能为空
load_test_api.type.length_range=性能测试接口类型长度范围为{min}到{max}
load_test_api.type.not_blank=性能测试接口类型不能为空
load_test_report_file.report_id.length_range=性能测试报告结果报告ID长度范围为{min}到{max}
load_test_report_file.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_report_file.file_id.length_range=性能测试报告结果文件ID长度范围为{min}到{max}
load_test_report_file.file_id.not_blank=性能测试报告结果文件ID不能为空
load_test_report_result_realtime.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_report_result_realtime.report_key.not_blank=性能测试报告结果报告KEY不能为空
load_test_report_result_realtime.resource_index.not_blank=性能测试报告结果资源索引不能为空
load_test_report_result_realtime.sort.not_blank=性能测试报告结果排序不能为空
load_test_file.test_id.length_range=性能测试文件ID长度范围为{min}到{max}
load_test_file.test_id.not_blank=性能测试文件ID不能为空
load_test_file.file_id.length_range=性能测试文件文件ID长度范围为{min}到{max}
load_test_file.file_id.not_blank=性能测试文件文件ID不能为空
load_test_blob.test_id.not_blank=性能测试二进制文件ID不能为空
load_test_report_log.id.not_blank=性能测试报告日志ID不能为空
load_test_report_log.report_id.length_range=性能测试报告日志报告ID长度范围为{min}到{max}
load_test_report_log.report_id.not_blank=性能测试报告日志报告ID不能为空
load_test_report_log.resource_id.length_range=性能测试报告日志资源ID长度范围为{min}到{max}
load_test_report_log.resource_id.not_blank=性能测试报告日志资源ID不能为空

View File

@ -1,72 +0,0 @@
load_test_report.id.not_blank=Load Test Report ID is required
load_test_report.test_id.length_range=Load Test ID must be between {min} and {max} characters
load_test_report.test_id.not_blank=Load Test ID is required
load_test_report.name.length_range=Load Test Report Name must be between {min} and {max} characters
load_test_report.name.not_blank=Load Test Report Name is required
load_test_report.status.length_range=Load Test Report Status must be between {min} and {max} characters
load_test_report.status.not_blank=Load Test Report Status is required
load_test_report.create_user.length_range=Load Test Report Create User must be between {min} and {max} characters
load_test_report.create_user.not_blank=Load Test Report Create User is required
load_test_report.trigger_mode.length_range=Load Test Report Trigger Mode must be between {min} and {max} characters
load_test_report.trigger_mode.not_blank=Load Test Report Trigger Mode is required
load_test_report.project_id.length_range=Load Test Report Project ID must be between {min} and {max} characters
load_test_report.project_id.not_blank=Load Test Report Project ID is required
load_test_report.test_name.length_range=Load Test Report Test Name must be between {min} and {max} characters
load_test_report.test_name.not_blank=Load Test Report Test Name is required
load_test_report.test_resource_pool_id.length_range=Load Test Report Test Resource Pool ID must be between {min} and {max} characters
load_test_report.test_resource_pool_id.not_blank=Load Test Report Test Resource Pool ID is required
load_test_report.version_id.length_range=Load Test Report Version ID must be between {min} and {max} characters
load_test_report.version_id.not_blank=Load Test Report Version ID is required
load_test_report_result.id.not_blank=Load Test Report Result ID is required
load_test_report_result.report_id.length_range=Load Test Report Result Report ID must be between {min} and {max} characters
load_test_report_result.report_id.not_blank=Load Test Report Result Report ID is required
load_test_follower.test_id.length_range=Load Test Follow Test ID must be between {min} and {max} characters
load_test_follower.test_id.not_blank=Load Test Follow Test ID is required
load_test_follower.user_id.length_range=Load Test Follow ID must be between {min} and {max} characters
load_test_follower.user_id.not_blank=Load Test Follow ID is required
load_test_report_result_part.report_id.not_blank=Load Test Report Result Part Report ID is required
load_test_report_result_part.report_key.not_blank=Load Test Report Result Part Report Key is required
load_test_report_result_part.resource_index.not_blank=Load Test Report Result Part Resource Index is required
load_test.id.not_blank=Load Test ID is required
load_test.project_id.length_range=Load Test Project ID must be between {min} and {max} characters
load_test.project_id.not_blank=Load Test Project ID is required
load_test.name.length_range=Load Test Name must be between {min} and {max} characters
load_test.name.not_blank=Load Test Name is required
load_test.status.length_range=Load Test Status must be between {min} and {max} characters
load_test.status.not_blank=Load Test Status is required
load_test.test_resource_pool_id.length_range=Load Test Resource Pool ID must be between {min} and {max} characters
load_test.test_resource_pool_id.not_blank=Load Test Resource Pool ID is required
load_test.create_user.length_range=Load Test Create User must be between {min} and {max} characters
load_test.create_user.not_blank=Load Test Create User is required
load_test.version_id.length_range=Load Test Version ID must be between {min} and {max} characters
load_test.version_id.not_blank=Load Test Version ID is required
load_test.ref_id.length_range=Load Test Ref ID must be between {min} and {max} characters
load_test.ref_id.not_blank=Load Test Ref ID is required
load_test.latest.length_range=Load Test Latest must be between {min} and {max} characters
load_test.latest.not_blank=Load Test Latest is required
load_test_report_blob.report_id.not_blank=Load Test Report Blob Report ID is required
load_test_api.id.not_blank=Load Test API ID is required
load_test_api.api_id.length_range=Load Test API ID must be between {min} and {max} characters
load_test_api.api_id.not_blank=Load Test API ID is required
load_test_api.load_test_id.length_range=Load Test API Load Test ID must be between {min} and {max} characters
load_test_api.load_test_id.not_blank=Load Test API Load Test ID is required
load_test_api.type.length_range=Load Test API Type must be between {min} and {max} characters
load_test_api.type.not_blank=Load Test API Type is required
load_test_report_file.report_id.length_range=Load Test Report File Report ID must be between {min} and {max} characters
load_test_report_file.report_id.not_blank=Load Test Report File Report ID is required
load_test_report_file.file_id.length_range=Load Test Report File ID must be between {min} and {max} characters
load_test_report_file.file_id.not_blank=Load Test Report File ID is required
load_test_report_result_realtime.report_id.not_blank=Load Test Report Result Realtime Report ID is required
load_test_report_result_realtime.report_key.not_blank=Load Test Report Result Realtime Report Key is required
load_test_report_result_realtime.resource_index.not_blank=Load Test Report Result Realtime Resource Index is required
load_test_report_result_realtime.sort.not_blank=Load Test Report Result Realtime Sort is required
load_test_file.test_id.length_range=Load Test File Test ID must be between {min} and {max} characters
load_test_file.test_id.not_blank=Load Test File Test ID is required
load_test_file.file_id.length_range=Load Test File ID must be between {min} and {max} characters
load_test_file.file_id.not_blank=Load Test File ID is required
load_test_blob.test_id.not_blank=Load Test Blob Test ID is required
load_test_report_log.id.not_blank=Load Test Report Log ID is required
load_test_report_log.report_id.length_range=Load Test Report Log Report ID must be between {min} and {max} characters
load_test_report_log.report_id.not_blank=Load Test Report Log Report ID is required
load_test_report_log.resource_id.length_range=Load Test Report Log Resource ID must be between {min} and {max} characters
load_test_report_log.resource_id.not_blank=Load Test Report Log Resource ID is required

View File

@ -1,72 +0,0 @@
load_test_report.id.not_blank=性能测试报告ID不能为空
load_test_report.test_id.length_range=性能测试ID长度范围为{min}到{max}
load_test_report.test_id.not_blank=性能测试ID不能为空
load_test_report.name.length_range=性能测试报告名称长度范围为{min}到{max}
load_test_report.name.not_blank=性能测试报告名称不能为空
load_test_report.status.length_range=性能测试报告状态长度范围为{min}到{max}
load_test_report.status.not_blank=性能测试报告状态不能为空
load_test_report.create_user.length_range=性能测试报告创建人长度范围为{min}到{max}
load_test_report.create_user.not_blank=性能测试报告创建人不能为空
load_test_report.trigger_mode.length_range=性能测试报告触发方式长度范围为{min}到{max}
load_test_report.trigger_mode.not_blank=性能测试报告触发方式不能为空
load_test_report.project_id.length_range=性能测试报告项目ID长度范围为{min}到{max}
load_test_report.project_id.not_blank=性能测试报告项目ID不能为空
load_test_report.test_name.length_range=性能测试报告测试名称长度范围为{min}到{max}
load_test_report.test_name.not_blank=性能测试报告测试名称不能为空
load_test_report.test_resource_pool_id.length_range=性能测试报告测试资源池ID长度范围为{min}到{max}
load_test_report.test_resource_pool_id.not_blank=性能测试报告测试资源池ID不能为空
load_test_report.version_id.length_range=性能测试报告版本ID长度范围为{min}到{max}
load_test_report.version_id.not_blank=性能测试报告版本ID不能为空
load_test_report_result.id.not_blank=性能测试报告结果ID不能为空
load_test_report_result.report_id.length_range=性能测试报告结果报告ID长度范围为{min}到{max}
load_test_report_result.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_follower.test_id.length_range=性能测试ID长度范围为{min}到{max}
load_test_follower.test_id.not_blank=性能测试ID不能为空
load_test_follower.user_id.length_range=性能测试关注ID长度范围为{min}到{max}
load_test_follower.user_id.not_blank=性能测试关注ID不能为空
load_test_report_result_part.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_report_result_part.report_key.not_blank=性能测试报告结果报告KEY不能为空
load_test_report_result_part.resource_index.not_blank=性能测试报告结果资源索引不能为空
load_test.id.not_blank=性能测试ID不能为空
load_test.project_id.length_range=性能测试项目ID长度范围为{min}到{max}
load_test.project_id.not_blank=性能测试项目ID不能为空
load_test.name.length_range=性能测试名称长度范围为{min}到{max}
load_test.name.not_blank=性能测试名称不能为空
load_test.status.length_range=性能测试状态长度范围为{min}到{max}
load_test.status.not_blank=性能测试状态不能为空
load_test.test_resource_pool_id.length_range=性能测试资源池ID长度范围为{min}到{max}
load_test.test_resource_pool_id.not_blank=性能测试资源池ID不能为空
load_test.create_user.length_range=性能测试创建人长度范围为{min}到{max}
load_test.create_user.not_blank=性能测试创建人不能为空
load_test.version_id.length_range=性能测试版本ID长度范围为{min}到{max}
load_test.version_id.not_blank=性能测试版本ID不能为空
load_test.ref_id.length_range=性能测试关联ID长度范围为{min}到{max}
load_test.ref_id.not_blank=性能测试关联ID不能为空
load_test.latest.length_range=性能测试是否为最新版本长度范围为{min}到{max}
load_test.latest.not_blank=性能测试是否为最新版本不能为空
load_test_report_blob.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_api.id.not_blank=性能测试接口ID不能为空
load_test_api.api_id.length_range=性能测试接口ID长度范围为{min}到{max}
load_test_api.api_id.not_blank=性能测试接口ID不能为空
load_test_api.load_test_id.length_range=性能测试接口性能测试ID长度范围为{min}到{max}
load_test_api.load_test_id.not_blank=性能测试接口性能测试ID不能为空
load_test_api.type.length_range=性能测试接口类型长度范围为{min}到{max}
load_test_api.type.not_blank=性能测试接口类型不能为空
load_test_report_file.report_id.length_range=性能测试报告结果报告ID长度范围为{min}到{max}
load_test_report_file.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_report_file.file_id.length_range=性能测试报告结果文件ID长度范围为{min}到{max}
load_test_report_file.file_id.not_blank=性能测试报告结果文件ID不能为空
load_test_report_result_realtime.report_id.not_blank=性能测试报告结果报告ID不能为空
load_test_report_result_realtime.report_key.not_blank=性能测试报告结果报告KEY不能为空
load_test_report_result_realtime.resource_index.not_blank=性能测试报告结果资源索引不能为空
load_test_report_result_realtime.sort.not_blank=性能测试报告结果排序不能为空
load_test_file.test_id.length_range=性能测试文件ID长度范围为{min}到{max}
load_test_file.test_id.not_blank=性能测试文件ID不能为空
load_test_file.file_id.length_range=性能测试文件文件ID长度范围为{min}到{max}
load_test_file.file_id.not_blank=性能测试文件文件ID不能为空
load_test_blob.test_id.not_blank=性能测试二进制文件ID不能为空
load_test_report_log.id.not_blank=性能测试报告日志ID不能为空
load_test_report_log.report_id.length_range=性能测试报告日志报告ID长度范围为{min}到{max}
load_test_report_log.report_id.not_blank=性能测试报告日志报告ID不能为空
load_test_report_log.resource_id.length_range=性能测试报告日志资源ID长度范围为{min}到{max}
load_test_report_log.resource_id.not_blank=性能测试报告日志资源ID不能为空

View File

@ -1,72 +0,0 @@
load_test_report.id.not_blank=性能測試報告ID不能為空
load_test_report.test_id.length_range=性能測試ID長度範圍為{min}到{max}
load_test_report.test_id.not_blank=性能測試ID不能為空
load_test_report.name.length_range=性能測試報告名稱長度範圍為{min}到{max}
load_test_report.name.not_blank=性能測試報告名稱不能為空
load_test_report.status.length_range=性能測試報告狀態長度範圍為{min}到{max}
load_test_report.status.not_blank=性能測試報告狀態不能為空
load_test_report.create_user.length_range=性能測試報告創建人長度範圍為{min}到{max}
load_test_report.create_user.not_blank=性能測試報告創建人不能為空
load_test_report.trigger_mode.length_range=性能測試報告觸發方式長度範圍為{min}到{max}
load_test_report.trigger_mode.not_blank=性能測試報告觸發方式不能為空
load_test_report.project_id.length_range=性能測試報告項目ID長度範圍為{min}到{max}
load_test_report.project_id.not_blank=性能測試報告項目ID不能為空
load_test_report.test_name.length_range=性能測試報告測試名稱長度範圍為{min}到{max}
load_test_report.test_name.not_blank=性能測試報告測試名稱不能為空
load_test_report.test_resource_pool_id.length_range=性能測試報告測試資源池ID長度範圍為{min}到{max}
load_test_report.test_resource_pool_id.not_blank=性能測試報告測試資源池ID不能為空
load_test_report.version_id.length_range=性能測試報告版本ID長度範圍為{min}到{max}
load_test_report.version_id.not_blank=性能測試報告版本ID不能為空
load_test_report_result.id.not_blank=性能測試報告結果ID不能為空
load_test_report_result.report_id.length_range=性能測試報告結果報告ID長度範圍為{min}到{max}
load_test_report_result.report_id.not_blank=性能測試報告結果報告ID不能為空
load_test_follower.test_id.length_range=性能測試ID長度範圍為{min}到{max}
load_test_follower.test_id.not_blank=性能測試ID不能為空
load_test_follower.user_id.length_range=性能測試關注ID長度範圍為{min}到{max}
load_test_follower.user_id.not_blank=性能測試關注ID不能為空
load_test_report_result_part.report_id.not_blank=性能測試報告結果報告ID不能為空
load_test_report_result_part.report_key.not_blank=性能測試報告結果報告KEY不能為空
load_test_report_result_part.resource_index.not_blank=性能測試報告結果資源索引不能為空
load_test.id.not_blank=性能測試ID不能為空
load_test.project_id.length_range=性能測試項目ID長度範圍為{min}到{max}
load_test.project_id.not_blank=性能測試項目ID不能為空
load_test.name.length_range=性能測試名稱長度範圍為{min}到{max}
load_test.name.not_blank=性能測試名稱不能為空
load_test.status.length_range=性能測試狀態長度範圍為{min}到{max}
load_test.status.not_blank=性能測試狀態不能為空
load_test.test_resource_pool_id.length_range=性能測試資源池ID長度範圍為{min}到{max}
load_test.test_resource_pool_id.not_blank=性能測試資源池ID不能為空
load_test.create_user.length_range=性能測試創建人長度範圍為{min}到{max}
load_test.create_user.not_blank=性能測試創建人不能為空
load_test.version_id.length_range=性能測試版本ID長度範圍為{min}到{max}
load_test.version_id.not_blank=性能測試版本ID不能為空
load_test.ref_id.length_range=性能測試關聯ID長度範圍為{min}到{max}
load_test.ref_id.not_blank=性能測試關聯ID不能為空
load_test.latest.length_range=性能測試是否為最新版本長度範圍為{min}到{max}
load_test.latest.not_blank=性能測試是否為最新版本不能為空
load_test_report_blob.report_id.not_blank=性能測試報告結果報告ID不能為空
load_test_api.id.not_blank=性能測試接口ID不能為空
load_test_api.api_id.length_range=性能測試接口ID長度範圍為{min}到{max}
load_test_api.api_id.not_blank=性能測試接口ID不能為空
load_test_api.load_test_id.length_range=性能測試接口性能測試ID長度範圍為{min}到{max}
load_test_api.load_test_id.not_blank=性能測試接口性能測試ID不能為空
load_test_api.type.length_range=性能測試接口類型長度範圍為{min}到{max}
load_test_api.type.not_blank=性能測試接口類型不能為空
load_test_report_file.report_id.length_range=性能測試報告結果報告ID長度範圍為{min}到{max}
load_test_report_file.report_id.not_blank=性能測試報告結果報告ID不能為空
load_test_report_file.file_id.length_range=性能測試報告結果文件ID長度範圍為{min}到{max}
load_test_report_file.file_id.not_blank=性能測試報告結果文件ID不能為空
load_test_report_result_realtime.report_id.not_blank=性能測試報告結果報告ID不能為空
load_test_report_result_realtime.report_key.not_blank=性能測試報告結果報告KEY不能為空
load_test_report_result_realtime.resource_index.not_blank=性能測試報告結果資源索引不能為空
load_test_report_result_realtime.sort.not_blank=性能測試報告結果排序不能為空
load_test_file.test_id.length_range=性能測試文件ID長度範圍為{min}到{max}
load_test_file.test_id.not_blank=性能測試文件ID不能為空
load_test_file.file_id.length_range=性能測試文件文件ID長度範圍為{min}到{max}
load_test_file.file_id.not_blank=性能測試文件文件ID不能為空
load_test_blob.test_id.not_blank=性能測試二進製文件ID不能為空
load_test_report_log.id.not_blank=性能測試報告日誌ID不能為空
load_test_report_log.report_id.length_range=性能測試報告日誌報告ID長度範圍為{min}到{max}
load_test_report_log.report_id.not_blank=性能測試報告日誌報告ID不能為空
load_test_report_log.resource_id.length_range=性能測試報告日誌資源ID長度範圍為{min}到{max}
load_test_report_log.resource_id.not_blank=性能測試報告日誌資源ID不能為空

View File

@ -1,151 +0,0 @@
ui_scenario_report_result.id.not_blankUI=场景报告结果ID不能为空
ui_scenario_report_result.resource_id.length_range=UI场景报告结果资源ID长度范围为{min}到{max}
ui_scenario_report_result.resource_id.not_blank=UI场景报告结果资源ID不能为空
ui_scenario_report_result.report_id.length_range=UI场景报告结果报告ID长度范围为{min}到{max}
ui_scenario_report_result.report_id.not_blank=UI场景报告结果报告ID不能为空
ui_scenario_report_result.status.length_range=UI场景报告结果状态长度范围为{min}到{max}
ui_scenario_report_result.status.not_blank=UI场景报告结果状态不能为空
ui_custom_command_module.id.not_blank=UI自定义指令模块ID不能为空
ui_custom_command_module.project_id.length_range=UI自定义指令模块项目ID长度范围为{min}到{max}
ui_custom_command_module.project_id.not_blank=UI自定义指令模块项目ID不能为空
ui_custom_command_module.name.length_range=UI自定义指令模块名称长度范围为{min}到{max}
ui_custom_command_module.name.not_blank=UI自定义指令模块名称不能为空
ui_custom_command_module.parent_id.length_range=UI自定义指令模块父ID长度范围为{min}到{max}
ui_custom_command_module.parent_id.not_blank=UI自定义指令模块父ID不能为空
ui_custom_command_module.pos.length_range=UI自定义指令模块位置长度范围为{min}到{max}
ui_custom_command_module.pos.not_blank=UI自定义指令模块位置不能为空
ui_custom_command_module.create_user.length_range=UI自定义指令模块创建人长度范围为{min}到{max}
ui_custom_command_module.create_user.not_blank=UI自定义指令模块创建人不能为空
ui_element_module.id.not_blank=UI元素模块ID不能为空
ui_element_module.project_id.length_range=UI元素模块项目ID长度范围为{min}到{max}
ui_element_module.project_id.not_blank=UI元素模块项目ID不能为空
ui_element_module.name.length_range=UI元素模块名称长度范围为{min}到{max}
ui_element_module.name.not_blank=UI元素模块名称不能为空
ui_element_module.parent_id.length_range=UI元素模块父ID长度范围为{min}到{max}
ui_element_module.parent_id.not_blank=UI元素模块父ID不能为空
ui_element_module.pos.length_range=UI元素模块位置长度范围为{min}到{max}
ui_element_module.pos.not_blank=UI元素模块位置不能为空
ui_element_module.create_user.length_range=UI元素模块创建人长度范围为{min}到{max}
ui_element_module.create_user.not_blank=UI元素模块创建人不能为空
ui_element.id.not_blank=UI元素ID不能为空
ui_element.module_id.length_range=UI元素模块ID长度范围为{min}到{max}
ui_element.module_id.not_blank=UI元素模块ID不能为空
ui_element.project_id.length_range=UI元素项目ID长度范围为{min}到{max}
ui_element.project_id.not_blank=UI元素项目ID不能为空
ui_element.name.length_range=UI元素名称长度范围为{min}到{max}
ui_element.name.not_blank=UI元素名称不能为空
ui_element.location_type.length_range=UI元素位置类型长度范围为{min}到{max}
ui_element.location_type.not_blank=UI元素位置类型不能为空
ui_element.location.length_range=UI元素位置长度范围为{min}到{max}
ui_element.location.not_blank=UI元素位置不能为空
ui_element.create_user.length_range=UI元素创建人长度范围为{min}到{max}
ui_element.create_user.not_blank=UI元素创建人不能为空
ui_element.update_user.length_range=UI元素更新人长度范围为{min}到{max}
ui_element.update_user.not_blank=UI元素更新人不能为空
ui_element.version_id.length_range=UI元素版本ID长度范围为{min}到{max}
ui_element.version_id.not_blank=UI元素版本ID不能为空
ui_element.ref_id.length_range=UI元素引用ID长度范围为{min}到{max}
ui_element.ref_id.not_blank=UI元素引用ID不能为空
ui_element.latest.length_range=UI元素最新长度范围为{min}到{max}
ui_element.latest.not_blank=UI元素最新不能为空
ui_element_reference.id.not_blank=UI元素引用ID不能为空
ui_element_reference.element_id.length_range=UI元素引用元素ID长度范围为{min}到{max}
ui_element_reference.element_id.not_blank=UI元素引用元素ID不能为空
ui_element_reference.element_module_id.length_range=UI元素引用元素模块ID长度范围为{min}到{max}
ui_element_reference.element_module_id.not_blank=UI元素引用元素模块ID不能为空
ui_element_reference.scenario_id.length_range=UI元素引用场景ID长度范围为{min}到{max}
ui_element_reference.scenario_id.not_blank=UI元素引用场景ID不能为空
ui_element_reference.project_id.length_range=UI元素引用项目ID长度范围为{min}到{max}
ui_element_reference.project_id.not_blank=UI元素引用项目ID不能为空
ui_scenario_report.id.not_blank=UI场景报告ID不能为空
ui_scenario_report.project_id.length_range=UI场景报告项目ID长度范围为{min}到{max}
ui_scenario_report.project_id.not_blank=UI场景报告项目ID不能为空
ui_scenario_report.name.length_range=UI场景报告名称长度范围为{min}到{max}
ui_scenario_report.name.not_blank=UI场景报告名称不能为空
ui_scenario_report.status.length_range=UI场景报告状态长度范围为{min}到{max}
ui_scenario_report.status.not_blank=UI场景报告状态不能为空
ui_scenario_report.trigger_mode.length_range=UI场景报告触发模式长度范围为{min}到{max}
ui_scenario_report.trigger_mode.not_blank=UI场景报告触发模式不能为空
ui_scenario_report.create_user.length_range=UI场景报告创建人长度范围为{min}到{max}
ui_scenario_report.create_user.not_blank=UI场景报告创建人不能为空
ui_scenario_report_blob.id.not_blank=UI场景报告blob报告ID不能为空
ui_scenario.id.not_blank=UI场景ID不能为空
ui_scenario.project_id.length_range=UI场景项目ID长度范围为{min}到{max}
ui_scenario.project_id.not_blank=UI场景项目ID不能为空
ui_scenario.module_id.length_range=UI场景模块ID长度范围为{min}到{max}
ui_scenario.module_id.not_blank=UI场景模块ID不能为空
ui_scenario.module_path.length_range=UI场景模块路径长度范围为{min}到{max}
ui_scenario.module_path.not_blank=UI场景模块路径不能为空
ui_scenario.name.length_range=UI场景名称长度范围为{min}到{max}
ui_scenario.name.not_blank=UI场景名称不能为空
ui_scenario.level.length_range=UI场景级别长度范围为{min}到{max}
ui_scenario.level.not_blank=UI场景级别不能为空
ui_scenario.status.length_range=UI场景状态长度范围为{min}到{max}
ui_scenario.status.not_blank=UI场景状态不能为空
ui_scenario.principal.length_range=UI场景负责人长度范围为{min}到{max}
ui_scenario.principal.not_blank=UI场景负责人不能为空
ui_scenario.deleted.length_range=UI场景删除标志长度范围为{min}到{max}
ui_scenario.deleted.not_blank=UI场景删除标志不能为空
ui_scenario.create_user.length_range=UI场景创建人长度范围为{min}到{max}
ui_scenario.create_user.not_blank=UI场景创建人不能为空
ui_scenario.version_id.length_range=UI场景版本ID长度范围为{min}到{max}
ui_scenario.version_id.not_blank=UI场景版本ID不能为空
ui_scenario.ref_id.length_range=UI场景引用ID长度范围为{min}到{max}
ui_scenario.ref_id.not_blank=UI场景引用ID不能为空
ui_scenario.latest.length_range=UI场景最新长度范围为{min}到{max}
ui_scenario.latest.not_blank=UI场景最新不能为空
ui_custom_command.id.not_blank=UI自定义命令ID不能为空
ui_custom_command.project_id.length_range=UI自定义命令项目ID长度范围为{min}到{max}
ui_custom_command.project_id.not_blank=UI自定义命令项目ID不能为空
ui_custom_command.module_id.length_range=UI自定义命令模块ID长度范围为{min}到{max}
ui_custom_command.module_id.not_blank=UI自定义命令模块ID不能为空
ui_custom_command.module_path.length_range=UI自定义命令模块路径长度范围为{min}到{max}
ui_custom_command.module_path.not_blank=UI自定义命令模块路径不能为空
ui_custom_command.name.length_range=UI自定义命令名称长度范围为{min}到{max}
ui_custom_command.name.not_blank=UI自定义命令名称不能为空
ui_custom_command.level.length_range=UI自定义命令级别长度范围为{min}到{max}
ui_custom_command.level.not_blank=UI自定义命令级别不能为空
ui_custom_command.status.length_range=UI自定义命令状态长度范围为{min}到{max}
ui_custom_command.status.not_blank=UI自定义命令状态不能为空
ui_custom_command.principal.length_range=UI自定义命令负责人长度范围为{min}到{max}
ui_custom_command.principal.not_blank=UI自定义命令负责人不能为空
ui_custom_command.deleted.length_range=UI自定义命令删除标志长度范围为{min}到{max}
ui_custom_command.deleted.not_blank=UI自定义命令删除标志不能为空
ui_custom_command.create_user.length_range=UI自定义命令创建人长度范围为{min}到{max}
ui_custom_command.create_user.not_blank=UI自定义命令创建人不能为空
ui_custom_command.version_id.length_range=UI自定义命令版本ID长度范围为{min}到{max}
ui_custom_command.version_id.not_blank=UI自定义命令版本ID不能为空
ui_custom_command.ref_id.length_range=UI自定义命令引用ID长度范围为{min}到{max}
ui_custom_command.ref_id.not_blank=UI自定义命令引用ID不能为空
ui_custom_command.latest.length_range=UI自定义命令最新长度范围为{min}到{max}
ui_custom_command.latest.not_blank=UI自定义命令最新不能为空
ui_scenario_execution_info.id.not_blank=UI场景执行信息ID不能为空
ui_scenario_execution_info.source_id.length_range=UI场景执行信息来源ID长度范围为{min}到{max}
ui_scenario_execution_info.source_id.not_blank=UI场景执行信息来源ID不能为空
ui_scenario_execution_info.result.length_range=UI场景执行信息结果长度范围为{min}到{max}
ui_scenario_execution_info.result.not_blank=UI场景执行信息结果不能为空
ui_scenario_module.id.not_blank=UI场景模块ID不能为空
ui_scenario_module.project_id.length_range=UI场景模块项目ID长度范围为{min}到{max}
ui_scenario_module.project_id.not_blank=UI场景模块项目ID不能为空
ui_scenario_module.name.length_range=UI场景模块名称长度范围为{min}到{max}
ui_scenario_module.name.not_blank=UI场景模块名称不能为空
ui_scenario_module.parent_id.length_range=UI场景模块父ID长度范围为{min}到{max}
ui_scenario_module.parent_id.not_blank=UI场景模块父ID不能为空
ui_scenario_module.pos.length_range=UI场景模块位置长度范围为{min}到{max}
ui_scenario_module.pos.not_blank=UI场景模块位置不能为空
ui_scenario_module.create_user.length_range=UI场景模块创建人长度范围为{min}到{max}
ui_scenario_module.create_user.not_blank=UI场景模块创建人不能为空
ui_scenario_reference.id.not_blank=UI场景引用ID不能为空
ui_scenario_reference.ui_scenario_id.length_range=UI场景引用UI场景ID长度范围为{min}到{max}
ui_scenario_reference.ui_scenario_id.not_blank=UI场景引用UI场景ID不能为空
ui_scenario_reference.create_user.length_range=UI场景引用创建人长度范围为{min}到{max}
ui_scenario_reference.create_user.not_blank=UI场景引用创建人不能为空
ui_scenario_reference.reference_id.length_range=UI场景引用引用ID长度范围为{min}到{max}
ui_scenario_reference.reference_id.not_blank=UI场景引用引用ID不能为空
ui_scenario_reference.data_type.length_range=UI场景引用数据类型长度范围为{min}到{max}
ui_scenario_reference.data_type.not_blank=UI场景引用数据类型不能为空
ui_custom_command_blob.id.not_blank=UI自定义命令场景ID不能为空
ui_scenario_report_structure.id.not_blank=UI场景报告结构ID不能为空
ui_scenario_report_structure.report_id.length_range=UI场景报告结构报告ID长度范围为{min}到{max}
ui_scenario_report_structure.report_id.not_blank=UI场景报告结构报告ID不能为空
ui_scenario_blob.id.not_blank=UI场景场景ID不能为空

View File

@ -1,151 +0,0 @@
ui_scenario_report_result.id.not_blank=UI Scenario Report Result ID is required
ui_scenario_report_result.resource_id.length_range=UI Scenario Report Result Resource ID length must be between {min} and {max}
ui_scenario_report_result.resource_id.not_blank=UI Scenario Report Result Resource ID is required
ui_scenario_report_result.report_id.length_range=UI Scenario Report Result Report ID length must be between {min} and {max}
ui_scenario_report_result.report_id.not_blank=UI Scenario Report Result Report ID is required
ui_scenario_report_result.status.length_range=UI Scenario Report Result Status length must be between {min} and {max}
ui_scenario_report_result.status.not_blank=UI Scenario Report Result Status is required
ui_custom_command_module.id.not_blank=UI Custom Command Module ID is required
ui_custom_command_module.project_id.length_range=UI Custom Command Module Project ID length must be between {min} and {max}
ui_custom_command_module.project_id.not_blank=UI Custom Command Module Project ID is required
ui_custom_command_module.name.length_range=UI Custom Command Module Name length must be between {min} and {max}
ui_custom_command_module.name.not_blank=UI Custom Command Module Name is required
ui_custom_command_module.parent_id.length_range=UI Custom Command Module Parent ID length must be between {min} and {max}
ui_custom_command_module.parent_id.not_blank=UI Custom Command Module Parent ID is required
ui_custom_command_module.pos.length_range=UI Custom Command Module Pos length must be between {min} and {max}
ui_custom_command_module.pos.not_blank=UI Custom Command Module Pos is required
ui_custom_command_module.create_user.length_range=UI Custom Command Module Create User length must be between {min} and {max}
ui_custom_command_module.create_user.not_blank=UI Custom Command Module Create User is required
ui_element_module.id.not_blank=UI Element Module ID is required
ui_element_module.project_id.length_range=UI Element Module Project ID length must be between {min} and {max}
ui_element_module.project_id.not_blank=UI Element Module Project ID is required
ui_element_module.name.length_range=UI Element Module Name length must be between {min} and {max}
ui_element_module.name.not_blank=UI Element Module Name is required
ui_element_module.parent_id.length_range=UI Element Module Parent ID length must be between {min} and {max}
ui_element_module.parent_id.not_blank=UI Element Module Parent ID is required
ui_element_module.pos.length_range=UI Element Module Pos length must be between {min} and {max}
ui_element_module.pos.not_blank=UI Element Module Pos is required
ui_element_module.create_user.length_range=UI Element Module Create User length must be between {min} and {max}
ui_element_module.create_user.not_blank=UI Element Module Create User is required
ui_element.id.not_blank=UI Element ID is required
ui_element.module_id.length_range=UI Element Module ID length must be between {min} and {max}
ui_element.module_id.not_blank=UI Element Module ID is required
ui_element.project_id.length_range=UI Element Project ID length must be between {min} and {max}
ui_element.project_id.not_blank=UI Element Project ID is required
ui_element.name.length_range=UI Element Name length must be between {min} and {max}
ui_element.name.not_blank=UI Element Name is required
ui_element.location_type.length_range=UI Element Location Type length must be between {min} and {max}
ui_element.location_type.not_blank=UI Element Location Type is required
ui_element.location.length_range=UI Element Location length must be between {min} and {max}
ui_element.location.not_blank=UI Element Location is required
ui_element.create_user.length_range=UI Element Create User length must be between {min} and {max}
ui_element.create_user.not_blank=UI Element Create User is required
ui_element.update_user.length_range=UI Element Update User length must be between {min} and {max}
ui_element.update_user.not_blank=UI Element Update User is required
ui_element.version_id.length_range=UI Element Version ID length must be between {min} and {max}
ui_element.version_id.not_blank=UI Element Version ID is required
ui_element.ref_id.length_range=UI Element Ref ID length must be between {min} and {max}
ui_element.ref_id.not_blank=UI Element Ref ID is required
ui_element.latest.length_range=UI Element Latest length must be between {min} and {max}
ui_element.latest.not_blank=UI Element Latest is required
ui_element_reference.id.not_blank=UI Element Reference ID is required
ui_element_reference.element_id.length_range=UI Element Reference Element ID length must be between {min} and {max}
ui_element_reference.element_id.not_blank=UI Element Reference Element ID is required
ui_element_reference.element_module_id.length_range=UI Element Reference Element Module ID length must be between {min} and {max}
ui_element_reference.element_module_id.not_blank=UI Element Reference Element Module ID is required
ui_element_reference.scenario_id.length_range=UI Element Reference Scenario ID length must be between {min} and {max}
ui_element_reference.scenario_id.not_blank=UI Element Reference Scenario ID is required
ui_element_reference.project_id.length_range=UI Element Reference Project ID length must be between {min} and {max}
ui_element_reference.project_id.not_blank=UI Element Reference Project ID is required
ui_scenario_report.id.not_blank=UI Scenario Report ID is required
ui_scenario_report.project_id.length_range=UI Scenario Report Project ID length must be between {min} and {max}
ui_scenario_report.project_id.not_blank=UI Scenario Report Project ID is required
ui_scenario_report.name.length_range=UI Scenario Report Name length must be between {min} and {max}
ui_scenario_report.name.not_blank=UI Scenario Report Name is required
ui_scenario_report.status.length_range=UI Scenario Report Status length must be between {min} and {max}
ui_scenario_report.status.not_blank=UI Scenario Report Status is required
ui_scenario_report.trigger_mode.length_range=UI Scenario Report Trigger Mode length must be between {min} and {max}
ui_scenario_report.trigger_mode.not_blank=UI Scenario Report Trigger Mode is required
ui_scenario_report.create_user.length_range=UI Scenario Report Create User length must be between {min} and {max}
ui_scenario_report.create_user.not_blank=UI Scenario Report Create User is required
ui_scenario_report_blob.id.not_blank=UI Scenario Report Blob Report ID is required
ui_scenario.id.not_blank=UI Scenario ID is required
ui_scenario.project_id.length_range=UI Scenario Project ID length must be between {min} and {max}
ui_scenario.project_id.not_blank=UI Scenario Project ID is required
ui_scenario.module_id.length_range=UI Scenario Module ID length must be between {min} and {max}
ui_scenario.module_id.not_blank=UI Scenario Module ID is required
ui_scenario.module_path.length_range=UI Scenario Module Path length must be between {min} and {max}
ui_scenario.module_path.not_blank=UI Scenario Module Path is required
ui_scenario.name.length_range=UI Scenario Name length must be between {min} and {max}
ui_scenario.name.not_blank=UI Scenario Name is required
ui_scenario.level.length_range=UI Scenario Level length must be between {min} and {max}
ui_scenario.level.not_blank=UI Scenario Level is required
ui_scenario.status.length_range=UI Scenario Status length must be between {min} and {max}
ui_scenario.status.not_blank=UI Scenario Status is required
ui_scenario.principal.length_range=UI Scenario Principal length must be between {min} and {max}
ui_scenario.principal.not_blank=UI Scenario Principal is required
ui_scenario.deleted.length_range=UI Scenario Deleted length must be between {min} and {max}
ui_scenario.deleted.not_blank=UI Scenario Deleted is required
ui_scenario.create_user.length_range=UI Scenario Create User length must be between {min} and {max}
ui_scenario.create_user.not_blank=UI Scenario Create User is required
ui_scenario.version_id.length_range=UI Scenario Version ID length must be between {min} and {max}
ui_scenario.version_id.not_blank=UI Scenario Version ID is required
ui_scenario.ref_id.length_range=UI Scenario Ref ID length must be between {min} and {max}
ui_scenario.ref_id.not_blank=UI Scenario Ref ID is required
ui_scenario.latest.length_range=UI Scenario Latest length must be between {min} and {max}
ui_scenario.latest.not_blank=UI Scenario Latest is required
ui_custom_command.id.not_blank=UI Custom Command ID is required
ui_custom_command.project_id.length_range=UI Custom Command Project ID length must be between {min} and {max}
ui_custom_command.project_id.not_blank=UI Custom Command Project ID is required
ui_custom_command.module_id.length_range=UI Custom Command Module ID length must be between {min} and {max}
ui_custom_command.module_id.not_blank=UI Custom Command Module ID is required
ui_custom_command.module_path.length_range=UI Custom Command Module Path length must be between {min} and {max}
ui_custom_command.module_path.not_blank=UI Custom Command Module Path is required
ui_custom_command.name.length_range=UI Custom Command Name length must be between {min} and {max}
ui_custom_command.name.not_blank=UI Custom Command Name is required
ui_custom_command.level.length_range=UI Custom Command Level length must be between {min} and {max}
ui_custom_command.level.not_blank=UI Custom Command Level is required
ui_custom_command.status.length_range=UI Custom Command Status length must be between {min} and {max}
ui_custom_command.status.not_blank=UI Custom Command Status is required
ui_custom_command.principal.length_range=UI Custom Command Principal length must be between {min} and {max}
ui_custom_command.principal.not_blank=UI Custom Command Principal is required
ui_custom_command.deleted.length_range=UI Custom Command Deleted length must be between {min} and {max}
ui_custom_command.deleted.not_blank=UI Custom Command Deleted is required
ui_custom_command.create_user.length_range=UI Custom Command Create User length must be between {min} and {max}
ui_custom_command.create_user.not_blank=UI Custom Command Create User is required
ui_custom_command.version_id.length_range=UI Custom Command Version ID length must be between {min} and {max}
ui_custom_command.version_id.not_blank=UI Custom Command Version ID is required
ui_custom_command.ref_id.length_range=UI Custom Command Ref ID length must be between {min} and {max}
ui_custom_command.ref_id.not_blank=UI Custom Command Ref ID is required
ui_custom_command.latest.length_range=UI Custom Command Latest length must be between {min} and {max}
ui_custom_command.latest.not_blank=UI Custom Command Latest is required
ui_scenario_execution_info.id.not_blank=UI Scenario Execution Info ID is required
ui_scenario_execution_info.source_id.length_range=UI Scenario Execution Info Source ID length must be between {min} and {max}
ui_scenario_execution_info.source_id.not_blank=UI Scenario Execution Info Source ID is required
ui_scenario_execution_info.result.length_range=UI Scenario Execution Info Result length must be between {min} and {max}
ui_scenario_execution_info.result.not_blank=UI Scenario Execution Info Result is required
ui_scenario_module.id.not_blank=UI Scenario Module ID is required
ui_scenario_module.project_id.length_range=UI Scenario Module Project ID length must be between {min} and {max}
ui_scenario_module.project_id.not_blank=UI Scenario Module Project ID is required
ui_scenario_module.name.length_range=UI Scenario Module Name length must be between {min} and {max}
ui_scenario_module.name.not_blank=UI Scenario Module Name is required
ui_scenario_module.parent_id.length_range=UI Scenario Module Parent ID length must be between {min} and {max}
ui_scenario_module.parent_id.not_blank=UI Scenario Module Parent ID is required
ui_scenario_module.pos.length_range=UI Scenario Module Pos length must be between {min} and {max}
ui_scenario_module.pos.not_blank=UI Scenario Module Pos is required
ui_scenario_module.create_user.length_range=UI Scenario Module Create User length must be between {min} and {max}
ui_scenario_module.create_user.not_blank=UI Scenario Module Create User is required
ui_scenario_reference.id.not_blank=UI Scenario Reference ID is required
ui_scenario_reference.ui_scenario_id.length_range=UI Scenario Reference UI Scenario ID length must be between {min} and {max}
ui_scenario_reference.ui_scenario_id.not_blank=UI Scenario Reference UI Scenario ID is required
ui_scenario_reference.create_user.length_range=UI Scenario Create User length must be between {min} and {max}
ui_scenario_reference.create_user.not_blank=UI Scenario Create User is required
ui_scenario_reference.reference_id.length_range=UI Scenario Reference ID length must be between {min} and {max}
ui_scenario_reference.reference_id.not_blank=UI Scenario Reference ID is required
ui_scenario_reference.data_type.length_range=UI Scenario Reference Data Type length must be between {min} and {max}
ui_scenario_reference.data_type.not_blank=UI Scenario Reference Data Type is required
ui_custom_command_blob.id.not_blank=UI Custom Command Blob Scenario ID is required
ui_scenario_report_structure.id.not_blank=UI Scenario Report Structure ID is required
ui_scenario_report_structure.report_id.length_range=UI Scenario Report Structure Report ID length must be between {min} and {max}
ui_scenario_report_structure.report_id.not_blank=UI Scenario Report Structure Report ID is required
ui_scenario_blob.id.not_blank=UI Scenario Blob Scenario ID is required

View File

@ -1,151 +0,0 @@
ui_scenario_report_result.id.not_blankUI=场景报告结果ID不能为空
ui_scenario_report_result.resource_id.length_range=UI场景报告结果资源ID长度范围为{min}到{max}
ui_scenario_report_result.resource_id.not_blank=UI场景报告结果资源ID不能为空
ui_scenario_report_result.report_id.length_range=UI场景报告结果报告ID长度范围为{min}到{max}
ui_scenario_report_result.report_id.not_blank=UI场景报告结果报告ID不能为空
ui_scenario_report_result.status.length_range=UI场景报告结果状态长度范围为{min}到{max}
ui_scenario_report_result.status.not_blank=UI场景报告结果状态不能为空
ui_custom_command_module.id.not_blank=UI自定义指令模块ID不能为空
ui_custom_command_module.project_id.length_range=UI自定义指令模块项目ID长度范围为{min}到{max}
ui_custom_command_module.project_id.not_blank=UI自定义指令模块项目ID不能为空
ui_custom_command_module.name.length_range=UI自定义指令模块名称长度范围为{min}到{max}
ui_custom_command_module.name.not_blank=UI自定义指令模块名称不能为空
ui_custom_command_module.parent_id.length_range=UI自定义指令模块父ID长度范围为{min}到{max}
ui_custom_command_module.parent_id.not_blank=UI自定义指令模块父ID不能为空
ui_custom_command_module.pos.length_range=UI自定义指令模块位置长度范围为{min}到{max}
ui_custom_command_module.pos.not_blank=UI自定义指令模块位置不能为空
ui_custom_command_module.create_user.length_range=UI自定义指令模块创建人长度范围为{min}到{max}
ui_custom_command_module.create_user.not_blank=UI自定义指令模块创建人不能为空
ui_element_module.id.not_blank=UI元素模块ID不能为空
ui_element_module.project_id.length_range=UI元素模块项目ID长度范围为{min}到{max}
ui_element_module.project_id.not_blank=UI元素模块项目ID不能为空
ui_element_module.name.length_range=UI元素模块名称长度范围为{min}到{max}
ui_element_module.name.not_blank=UI元素模块名称不能为空
ui_element_module.parent_id.length_range=UI元素模块父ID长度范围为{min}到{max}
ui_element_module.parent_id.not_blank=UI元素模块父ID不能为空
ui_element_module.pos.length_range=UI元素模块位置长度范围为{min}到{max}
ui_element_module.pos.not_blank=UI元素模块位置不能为空
ui_element_module.create_user.length_range=UI元素模块创建人长度范围为{min}到{max}
ui_element_module.create_user.not_blank=UI元素模块创建人不能为空
ui_element.id.not_blank=UI元素ID不能为空
ui_element.module_id.length_range=UI元素模块ID长度范围为{min}到{max}
ui_element.module_id.not_blank=UI元素模块ID不能为空
ui_element.project_id.length_range=UI元素项目ID长度范围为{min}到{max}
ui_element.project_id.not_blank=UI元素项目ID不能为空
ui_element.name.length_range=UI元素名称长度范围为{min}到{max}
ui_element.name.not_blank=UI元素名称不能为空
ui_element.location_type.length_range=UI元素位置类型长度范围为{min}到{max}
ui_element.location_type.not_blank=UI元素位置类型不能为空
ui_element.location.length_range=UI元素位置长度范围为{min}到{max}
ui_element.location.not_blank=UI元素位置不能为空
ui_element.create_user.length_range=UI元素创建人长度范围为{min}到{max}
ui_element.create_user.not_blank=UI元素创建人不能为空
ui_element.update_user.length_range=UI元素更新人长度范围为{min}到{max}
ui_element.update_user.not_blank=UI元素更新人不能为空
ui_element.version_id.length_range=UI元素版本ID长度范围为{min}到{max}
ui_element.version_id.not_blank=UI元素版本ID不能为空
ui_element.ref_id.length_range=UI元素引用ID长度范围为{min}到{max}
ui_element.ref_id.not_blank=UI元素引用ID不能为空
ui_element.latest.length_range=UI元素最新长度范围为{min}到{max}
ui_element.latest.not_blank=UI元素最新不能为空
ui_element_reference.id.not_blank=UI元素引用ID不能为空
ui_element_reference.element_id.length_range=UI元素引用元素ID长度范围为{min}到{max}
ui_element_reference.element_id.not_blank=UI元素引用元素ID不能为空
ui_element_reference.element_module_id.length_range=UI元素引用元素模块ID长度范围为{min}到{max}
ui_element_reference.element_module_id.not_blank=UI元素引用元素模块ID不能为空
ui_element_reference.scenario_id.length_range=UI元素引用场景ID长度范围为{min}到{max}
ui_element_reference.scenario_id.not_blank=UI元素引用场景ID不能为空
ui_element_reference.project_id.length_range=UI元素引用项目ID长度范围为{min}到{max}
ui_element_reference.project_id.not_blank=UI元素引用项目ID不能为空
ui_scenario_report.id.not_blank=UI场景报告ID不能为空
ui_scenario_report.project_id.length_range=UI场景报告项目ID长度范围为{min}到{max}
ui_scenario_report.project_id.not_blank=UI场景报告项目ID不能为空
ui_scenario_report.name.length_range=UI场景报告名称长度范围为{min}到{max}
ui_scenario_report.name.not_blank=UI场景报告名称不能为空
ui_scenario_report.status.length_range=UI场景报告状态长度范围为{min}到{max}
ui_scenario_report.status.not_blank=UI场景报告状态不能为空
ui_scenario_report.trigger_mode.length_range=UI场景报告触发模式长度范围为{min}到{max}
ui_scenario_report.trigger_mode.not_blank=UI场景报告触发模式不能为空
ui_scenario_report.create_user.length_range=UI场景报告创建人长度范围为{min}到{max}
ui_scenario_report.create_user.not_blank=UI场景报告创建人不能为空
ui_scenario_report_blob.id.not_blank=UI场景报告blob报告ID不能为空
ui_scenario.id.not_blank=UI场景ID不能为空
ui_scenario.project_id.length_range=UI场景项目ID长度范围为{min}到{max}
ui_scenario.project_id.not_blank=UI场景项目ID不能为空
ui_scenario.module_id.length_range=UI场景模块ID长度范围为{min}到{max}
ui_scenario.module_id.not_blank=UI场景模块ID不能为空
ui_scenario.module_path.length_range=UI场景模块路径长度范围为{min}到{max}
ui_scenario.module_path.not_blank=UI场景模块路径不能为空
ui_scenario.name.length_range=UI场景名称长度范围为{min}到{max}
ui_scenario.name.not_blank=UI场景名称不能为空
ui_scenario.level.length_range=UI场景级别长度范围为{min}到{max}
ui_scenario.level.not_blank=UI场景级别不能为空
ui_scenario.status.length_range=UI场景状态长度范围为{min}到{max}
ui_scenario.status.not_blank=UI场景状态不能为空
ui_scenario.principal.length_range=UI场景负责人长度范围为{min}到{max}
ui_scenario.principal.not_blank=UI场景负责人不能为空
ui_scenario.deleted.length_range=UI场景删除标志长度范围为{min}到{max}
ui_scenario.deleted.not_blank=UI场景删除标志不能为空
ui_scenario.create_user.length_range=UI场景创建人长度范围为{min}到{max}
ui_scenario.create_user.not_blank=UI场景创建人不能为空
ui_scenario.version_id.length_range=UI场景版本ID长度范围为{min}到{max}
ui_scenario.version_id.not_blank=UI场景版本ID不能为空
ui_scenario.ref_id.length_range=UI场景引用ID长度范围为{min}到{max}
ui_scenario.ref_id.not_blank=UI场景引用ID不能为空
ui_scenario.latest.length_range=UI场景最新长度范围为{min}到{max}
ui_scenario.latest.not_blank=UI场景最新不能为空
ui_custom_command.id.not_blank=UI自定义命令ID不能为空
ui_custom_command.project_id.length_range=UI自定义命令项目ID长度范围为{min}到{max}
ui_custom_command.project_id.not_blank=UI自定义命令项目ID不能为空
ui_custom_command.module_id.length_range=UI自定义命令模块ID长度范围为{min}到{max}
ui_custom_command.module_id.not_blank=UI自定义命令模块ID不能为空
ui_custom_command.module_path.length_range=UI自定义命令模块路径长度范围为{min}到{max}
ui_custom_command.module_path.not_blank=UI自定义命令模块路径不能为空
ui_custom_command.name.length_range=UI自定义命令名称长度范围为{min}到{max}
ui_custom_command.name.not_blank=UI自定义命令名称不能为空
ui_custom_command.level.length_range=UI自定义命令级别长度范围为{min}到{max}
ui_custom_command.level.not_blank=UI自定义命令级别不能为空
ui_custom_command.status.length_range=UI自定义命令状态长度范围为{min}到{max}
ui_custom_command.status.not_blank=UI自定义命令状态不能为空
ui_custom_command.principal.length_range=UI自定义命令负责人长度范围为{min}到{max}
ui_custom_command.principal.not_blank=UI自定义命令负责人不能为空
ui_custom_command.deleted.length_range=UI自定义命令删除标志长度范围为{min}到{max}
ui_custom_command.deleted.not_blank=UI自定义命令删除标志不能为空
ui_custom_command.create_user.length_range=UI自定义命令创建人长度范围为{min}到{max}
ui_custom_command.create_user.not_blank=UI自定义命令创建人不能为空
ui_custom_command.version_id.length_range=UI自定义命令版本ID长度范围为{min}到{max}
ui_custom_command.version_id.not_blank=UI自定义命令版本ID不能为空
ui_custom_command.ref_id.length_range=UI自定义命令引用ID长度范围为{min}到{max}
ui_custom_command.ref_id.not_blank=UI自定义命令引用ID不能为空
ui_custom_command.latest.length_range=UI自定义命令最新长度范围为{min}到{max}
ui_custom_command.latest.not_blank=UI自定义命令最新不能为空
ui_scenario_execution_info.id.not_blank=UI场景执行信息ID不能为空
ui_scenario_execution_info.source_id.length_range=UI场景执行信息来源ID长度范围为{min}到{max}
ui_scenario_execution_info.source_id.not_blank=UI场景执行信息来源ID不能为空
ui_scenario_execution_info.result.length_range=UI场景执行信息结果长度范围为{min}到{max}
ui_scenario_execution_info.result.not_blank=UI场景执行信息结果不能为空
ui_scenario_module.id.not_blank=UI场景模块ID不能为空
ui_scenario_module.project_id.length_range=UI场景模块项目ID长度范围为{min}到{max}
ui_scenario_module.project_id.not_blank=UI场景模块项目ID不能为空
ui_scenario_module.name.length_range=UI场景模块名称长度范围为{min}到{max}
ui_scenario_module.name.not_blank=UI场景模块名称不能为空
ui_scenario_module.parent_id.length_range=UI场景模块父ID长度范围为{min}到{max}
ui_scenario_module.parent_id.not_blank=UI场景模块父ID不能为空
ui_scenario_module.pos.length_range=UI场景模块位置长度范围为{min}到{max}
ui_scenario_module.pos.not_blank=UI场景模块位置不能为空
ui_scenario_module.create_user.length_range=UI场景模块创建人长度范围为{min}到{max}
ui_scenario_module.create_user.not_blank=UI场景模块创建人不能为空
ui_scenario_reference.id.not_blank=UI场景引用ID不能为空
ui_scenario_reference.ui_scenario_id.length_range=UI场景引用UI场景ID长度范围为{min}到{max}
ui_scenario_reference.ui_scenario_id.not_blank=UI场景引用UI场景ID不能为空
ui_scenario_reference.create_user.length_range=UI场景引用创建人长度范围为{min}到{max}
ui_scenario_reference.create_user.not_blank=UI场景引用创建人不能为空
ui_scenario_reference.reference_id.length_range=UI场景引用引用ID长度范围为{min}到{max}
ui_scenario_reference.reference_id.not_blank=UI场景引用引用ID不能为空
ui_scenario_reference.data_type.length_range=UI场景引用数据类型长度范围为{min}到{max}
ui_scenario_reference.data_type.not_blank=UI场景引用数据类型不能为空
ui_custom_command_blob.id.not_blank=UI自定义命令场景ID不能为空
ui_scenario_report_structure.id.not_blank=UI场景报告结构ID不能为空
ui_scenario_report_structure.report_id.length_range=UI场景报告结构报告ID长度范围为{min}到{max}
ui_scenario_report_structure.report_id.not_blank=UI场景报告结构报告ID不能为空
ui_scenario_blob.id.not_blank=UI场景场景ID不能为空

View File

@ -1,151 +0,0 @@
ui_scenario_report_result.id.not_blankUI=場景報告結果ID不能為空
ui_scenario_report_result.resource_id.length_range=UI場景報告結果資源ID長度範圍為{min}到{max}
ui_scenario_report_result.resource_id.not_blank=UI場景報告結果資源ID不能為空
ui_scenario_report_result.report_id.length_range=UI場景報告結果報告ID長度範圍為{min}到{max}
ui_scenario_report_result.report_id.not_blank=UI場景報告結果報告ID不能為空
ui_scenario_report_result.status.length_range=UI場景報告結果狀態長度範圍為{min}到{max}
ui_scenario_report_result.status.not_blank=UI場景報告結果狀態不能為空
ui_custom_command_module.id.not_blank=UI自定義指令模塊ID不能為空
ui_custom_command_module.project_id.length_range=UI自定義指令模塊項目ID長度範圍為{min}到{max}
ui_custom_command_module.project_id.not_blank=UI自定義指令模塊項目ID不能為空
ui_custom_command_module.name.length_range=UI自定義指令模塊名稱長度範圍為{min}到{max}
ui_custom_command_module.name.not_blank=UI自定義指令模塊名稱不能為空
ui_custom_command_module.parent_id.length_range=UI自定義指令模塊父ID長度範圍為{min}到{max}
ui_custom_command_module.parent_id.not_blank=UI自定義指令模塊父ID不能為空
ui_custom_command_module.pos.length_range=UI自定義指令模塊位置長度範圍為{min}到{max}
ui_custom_command_module.pos.not_blank=UI自定義指令模塊位置不能為空
ui_custom_command_module.create_user.length_range=UI自定義指令模塊創建人長度範圍為{min}到{max}
ui_custom_command_module.create_user.not_blank=UI自定義指令模塊創建人不能為空
ui_element_module.id.not_blank=UI元素模塊ID不能為空
ui_element_module.project_id.length_range=UI元素模塊項目ID長度範圍為{min}到{max}
ui_element_module.project_id.not_blank=UI元素模塊項目ID不能為空
ui_element_module.name.length_range=UI元素模塊名稱長度範圍為{min}到{max}
ui_element_module.name.not_blank=UI元素模塊名稱不能為空
ui_element_module.parent_id.length_range=UI元素模塊父ID長度範圍為{min}到{max}
ui_element_module.parent_id.not_blank=UI元素模塊父ID不能為空
ui_element_module.pos.length_range=UI元素模塊位置長度範圍為{min}到{max}
ui_element_module.pos.not_blank=UI元素模塊位置不能為空
ui_element_module.create_user.length_range=UI元素模塊創建人長度範圍為{min}到{max}
ui_element_module.create_user.not_blank=UI元素模塊創建人不能為空
ui_element.id.not_blank=UI元素ID不能為空
ui_element.module_id.length_range=UI元素模塊ID長度範圍為{min}到{max}
ui_element.module_id.not_blank=UI元素模塊ID不能為空
ui_element.project_id.length_range=UI元素項目ID長度範圍為{min}到{max}
ui_element.project_id.not_blank=UI元素項目ID不能為空
ui_element.name.length_range=UI元素名稱長度範圍為{min}到{max}
ui_element.name.not_blank=UI元素名稱不能為空
ui_element.location_type.length_range=UI元素位置類型長度範圍為{min}到{max}
ui_element.location_type.not_blank=UI元素位置類型不能為空
ui_element.location.length_range=UI元素位置長度範圍為{min}到{max}
ui_element.location.not_blank=UI元素位置不能為空
ui_element.create_user.length_range=UI元素創建人長度範圍為{min}到{max}
ui_element.create_user.not_blank=UI元素創建人不能為空
ui_element.update_user.length_range=UI元素更新人長度範圍為{min}到{max}
ui_element.update_user.not_blank=UI元素更新人不能為空
ui_element.version_id.length_range=UI元素版本ID長度範圍為{min}到{max}
ui_element.version_id.not_blank=UI元素版本ID不能為空
ui_element.ref_id.length_range=UI元素引用ID長度範圍為{min}到{max}
ui_element.ref_id.not_blank=UI元素引用ID不能為空
ui_element.latest.length_range=UI元素最新長度範圍為{min}到{max}
ui_element.latest.not_blank=UI元素最新不能為空
ui_element_reference.id.not_blank=UI元素引用ID不能為空
ui_element_reference.element_id.length_range=UI元素引用元素ID長度範圍為{min}到{max}
ui_element_reference.element_id.not_blank=UI元素引用元素ID不能為空
ui_element_reference.element_module_id.length_range=UI元素引用元素模塊ID長度範圍為{min}到{max}
ui_element_reference.element_module_id.not_blank=UI元素引用元素模塊ID不能為空
ui_element_reference.scenario_id.length_range=UI元素引用場景ID長度範圍為{min}到{max}
ui_element_reference.scenario_id.not_blank=UI元素引用場景ID不能為空
ui_element_reference.project_id.length_range=UI元素引用項目ID長度範圍為{min}到{max}
ui_element_reference.project_id.not_blank=UI元素引用項目ID不能為空
ui_scenario_report.id.not_blank=UI場景報告ID不能為空
ui_scenario_report.project_id.length_range=UI場景報告項目ID長度範圍為{min}到{max}
ui_scenario_report.project_id.not_blank=UI場景報告項目ID不能為空
ui_scenario_report.name.length_range=UI場景報告名稱長度範圍為{min}到{max}
ui_scenario_report.name.not_blank=UI場景報告名稱不能為空
ui_scenario_report.status.length_range=UI場景報告狀態長度範圍為{min}到{max}
ui_scenario_report.status.not_blank=UI場景報告狀態不能為空
ui_scenario_report.trigger_mode.length_range=UI場景報告觸發模式長度範圍為{min}到{max}
ui_scenario_report.trigger_mode.not_blank=UI場景報告觸發模式不能為空
ui_scenario_report.create_user.length_range=UI場景報告創建人長度範圍為{min}到{max}
ui_scenario_report.create_user.not_blank=UI場景報告創建人不能為空
ui_scenario_report_blob.id.not_blank=UI場景報告blob報告ID不能為空
ui_scenario.id.not_blank=UI場景ID不能為空
ui_scenario.project_id.length_range=UI場景項目ID長度範圍為{min}到{max}
ui_scenario.project_id.not_blank=UI場景項目ID不能為空
ui_scenario.module_id.length_range=UI場景模塊ID長度範圍為{min}到{max}
ui_scenario.module_id.not_blank=UI場景模塊ID不能為空
ui_scenario.module_path.length_range=UI場景模塊路徑長度範圍為{min}到{max}
ui_scenario.module_path.not_blank=UI場景模塊路徑不能為空
ui_scenario.name.length_range=UI場景名稱長度範圍為{min}到{max}
ui_scenario.name.not_blank=UI場景名稱不能為空
ui_scenario.level.length_range=UI場景級別長度範圍為{min}到{max}
ui_scenario.level.not_blank=UI場景級別不能為空
ui_scenario.status.length_range=UI場景狀態長度範圍為{min}到{max}
ui_scenario.status.not_blank=UI場景狀態不能為空
ui_scenario.principal.length_range=UI場景負責人長度範圍為{min}到{max}
ui_scenario.principal.not_blank=UI場景負責人不能為空
ui_scenario.deleted.length_range=UI場景刪除標誌長度範圍為{min}到{max}
ui_scenario.deleted.not_blank=UI場景刪除標誌不能為空
ui_scenario.create_user.length_range=UI場景創建人長度範圍為{min}到{max}
ui_scenario.create_user.not_blank=UI場景創建人不能為空
ui_scenario.version_id.length_range=UI場景版本ID長度範圍為{min}到{max}
ui_scenario.version_id.not_blank=UI場景版本ID不能為空
ui_scenario.ref_id.length_range=UI場景引用ID長度範圍為{min}到{max}
ui_scenario.ref_id.not_blank=UI場景引用ID不能為空
ui_scenario.latest.length_range=UI場景最新長度範圍為{min}到{max}
ui_scenario.latest.not_blank=UI場景最新不能為空
ui_custom_command.id.not_blank=UI自定義命令ID不能為空
ui_custom_command.project_id.length_range=UI自定義命令項目ID長度範圍為{min}到{max}
ui_custom_command.project_id.not_blank=UI自定義命令項目ID不能為空
ui_custom_command.module_id.length_range=UI自定義命令模塊ID長度範圍為{min}到{max}
ui_custom_command.module_id.not_blank=UI自定義命令模塊ID不能為空
ui_custom_command.module_path.length_range=UI自定義命令模塊路徑長度範圍為{min}到{max}
ui_custom_command.module_path.not_blank=UI自定義命令模塊路徑不能為空
ui_custom_command.name.length_range=UI自定義命令名稱長度範圍為{min}到{max}
ui_custom_command.name.not_blank=UI自定義命令名稱不能為空
ui_custom_command.level.length_range=UI自定義命令級別長度範圍為{min}到{max}
ui_custom_command.level.not_blank=UI自定義命令級別不能為空
ui_custom_command.status.length_range=UI自定義命令狀態長度範圍為{min}到{max}
ui_custom_command.status.not_blank=UI自定義命令狀態不能為空
ui_custom_command.principal.length_range=UI自定義命令負責人長度範圍為{min}到{max}
ui_custom_command.principal.not_blank=UI自定義命令負責人不能為空
ui_custom_command.deleted.length_range=UI自定義命令刪除標誌長度範圍為{min}到{max}
ui_custom_command.deleted.not_blank=UI自定義命令刪除標誌不能為空
ui_custom_command.create_user.length_range=UI自定義命令創建人長度範圍為{min}到{max}
ui_custom_command.create_user.not_blank=UI自定義命令創建人不能為空
ui_custom_command.version_id.length_range=UI自定義命令版本ID長度範圍為{min}到{max}
ui_custom_command.version_id.not_blank=UI自定義命令版本ID不能為空
ui_custom_command.ref_id.length_range=UI自定義命令引用ID長度範圍為{min}到{max}
ui_custom_command.ref_id.not_blank=UI自定義命令引用ID不能為空
ui_custom_command.latest.length_range=UI自定義命令最新長度範圍為{min}到{max}
ui_custom_command.latest.not_blank=UI自定義命令最新不能為空
ui_scenario_execution_info.id.not_blank=UI場景執行信息ID不能為空
ui_scenario_execution_info.source_id.length_range=UI場景執行信息來源ID長度範圍為{min}到{max}
ui_scenario_execution_info.source_id.not_blank=UI場景執行信息來源ID不能為空
ui_scenario_execution_info.result.length_range=UI場景執行信息結果長度範圍為{min}到{max}
ui_scenario_execution_info.result.not_blank=UI場景執行信息結果不能為空
ui_scenario_module.id.not_blank=UI場景模塊ID不能為空
ui_scenario_module.project_id.length_range=UI場景模塊項目ID長度範圍為{min}到{max}
ui_scenario_module.project_id.not_blank=UI場景模塊項目ID不能為空
ui_scenario_module.name.length_range=UI場景模塊名稱長度範圍為{min}到{max}
ui_scenario_module.name.not_blank=UI場景模塊名稱不能為空
ui_scenario_module.parent_id.length_range=UI場景模塊父ID長度範圍為{min}到{max}
ui_scenario_module.parent_id.not_blank=UI場景模塊父ID不能為空
ui_scenario_module.pos.length_range=UI場景模塊位置長度範圍為{min}到{max}
ui_scenario_module.pos.not_blank=UI場景模塊位置不能為空
ui_scenario_module.create_user.length_range=UI場景模塊創建人長度範圍為{min}到{max}
ui_scenario_module.create_user.not_blank=UI場景模塊創建人不能為空
ui_scenario_reference.id.not_blank=UI場景引用ID不能為空
ui_scenario_reference.ui_scenario_id.length_range=UI場景引用UI場景ID長度範圍為{min}到{max}
ui_scenario_reference.ui_scenario_id.not_blank=UI場景引用UI場景ID不能為空
ui_scenario_reference.create_user.length_range=UI場景引用創建人長度範圍為{min}到{max}
ui_scenario_reference.create_user.not_blank=UI場景引用創建人不能為空
ui_scenario_reference.reference_id.length_range=UI場景引用引用ID長度範圍為{min}到{max}
ui_scenario_reference.reference_id.not_blank=UI場景引用引用ID不能為空
ui_scenario_reference.data_type.length_range=UI場景引用數據類型長度範圍為{min}到{max}
ui_scenario_reference.data_type.not_blank=UI場景引用數據類型不能為空
ui_custom_command_blob.id.not_blank=UI自定義命令場景ID不能為空
ui_scenario_report_structure.id.not_blank=UI場景報告結構ID不能為空
ui_scenario_report_structure.report_id.length_range=UI場景報告結構報告ID長度範圍為{min}到{max}
ui_scenario_report_structure.report_id.not_blank=UI場景報告結構報告ID不能為空
ui_scenario_blob.id.not_blank=UI場景場景ID不能為空

View File

@ -285,7 +285,6 @@ public class ApiTaskCenterControllerTests extends BaseTest {
TestResourcePoolDTO testResourcePool = new TestResourcePoolDTO();
testResourcePool.setId("api-pool-id");
testResourcePool.setApiTest(true);
testResourcePool.setCreateTime(System.currentTimeMillis());
testResourcePool.setUpdateTime(System.currentTimeMillis());
testResourcePool.setDeleted(false);

View File

@ -138,8 +138,6 @@ public class KubernetesEngineTests extends BaseTest {
TestResourceDTO testResourceDTO = testResourcePool.getTestResourceDTO();
testResourcePoolService.checkAndSaveOrgRelation(testResourcePool, id, testResourceDTO);
testResourcePoolService.checkApiConfig(testResourceDTO, testResourcePool, testResourcePool.getType());
testResourcePoolService.checkLoadConfig(testResourceDTO, testResourcePool, testResourcePool.getType());
testResourcePoolService.checkUiConfig(testResourceDTO, testResourcePool);
if (CollectionUtils.isEmpty(testResourceDTO.getNodesList())) {
testResourceDTO.setNodesList(new ArrayList<>());
}

View File

@ -61,7 +61,6 @@ public class BaseResourcePoolTestService {
String id = IDGenerator.nextStr();
TestResourcePoolDTO testResourcePool = new TestResourcePoolDTO();
testResourcePool.setId(id);
testResourcePool.setApiTest(true);
testResourcePool.setCreateTime(System.currentTimeMillis());
testResourcePool.setUpdateTime(System.currentTimeMillis());
testResourcePool.setDeleted(false);

View File

@ -25,10 +25,10 @@ public class RoundRobinServiceTests {
@Order(1)
public void testInit() throws Exception {
List<TestResourceNodeDTO> nodes = new LinkedList<>();
nodes.add(new TestResourceNodeDTO("172.0.0.1", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.2", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.3", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.4", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.1", "8080", 10));
nodes.add(new TestResourceNodeDTO("172.0.0.2", "8080", 10));
nodes.add(new TestResourceNodeDTO("172.0.0.3", "8080", 10));
nodes.add(new TestResourceNodeDTO("172.0.0.4", "8080", 10));
roundRobinService.initializeNodes("test", nodes);
}
@ -49,14 +49,14 @@ public class RoundRobinServiceTests {
@Order(3)
public void testInitAfter() throws Exception {
List<TestResourceNodeDTO> nodes = new LinkedList<>();
nodes.add(new TestResourceNodeDTO("172.0.0.1", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.2", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.3", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.1", "8080", 10));
nodes.add(new TestResourceNodeDTO("172.0.0.2", "8080", 10));
nodes.add(new TestResourceNodeDTO("172.0.0.3", "8080", 10));
roundRobinService.initializeNodes("test", nodes);
nodes.add(new TestResourceNodeDTO("172.0.0.3", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.7", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.6", "8080", null, 10));
nodes.add(new TestResourceNodeDTO("172.0.0.3", "8080", 10));
nodes.add(new TestResourceNodeDTO("172.0.0.7", "8080", 10));
nodes.add(new TestResourceNodeDTO("172.0.0.6", "8080", 10));
roundRobinService.initializeNodes("test", nodes);
}

View File

@ -66,7 +66,7 @@ jmeter.home=/opt/jmeter
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# i18n
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/load,i18n/plan,i18n/project,i18n/system,i18n/ui,i18n/workstation
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/plan,i18n/project,i18n/system
# actuator
management.endpoints.web.exposure.include=*
management.endpoints.enabled-by-default=false

View File

@ -111,7 +111,7 @@ INSERT INTO `api_test_case_record` (`api_report_id`, `api_test_case_id`) VALUES
INSERT INTO `api_test_case_record` (`api_report_id`, `api_test_case_id`) VALUES ('9', 'resource_9');
DELETE FROM `test_resource_pool` WHERE `id` in ('100660357777795313');
INSERT INTO `test_resource_pool` (`id`, `name`, `type`, `description`, `enable`, `create_time`, `update_time`, `create_user`, `api_test`, `load_test`, `ui_test`, `server_url`, `all_org`, `deleted`) VALUES ('100660357777795313', 'LOCAL', 'Node', '测试资源池', b'1', 1705894549000, 1705894549000, 'admin', b'1', b'1', b'1', NULL, b'1', b'0');
INSERT INTO `test_resource_pool` (`id`, `name`, `type`, `description`, `enable`, `create_time`, `update_time`, `create_user`, `server_url`, `all_org`, `deleted`) VALUES ('100660357777795313', 'LOCAL', 'Node', '测试资源池', b'1', 1705894549000, 1705894549000, 'admin', NULL, b'1', b'0');
DELETE FROM `api_scenario` WHERE `id` in ('1', '2', '3', '4','5','6', '7', '8', '9');
INSERT INTO `api_scenario` (`id`, `name`, `priority`, `status`, `step_total`, `request_pass_rate`, `last_report_status`, `last_report_id`, `num`, `deleted`, `pos`, `version_id`, `ref_id`, `latest`, `project_id`, `module_id`, `description`, `tags`, `grouped`, `environment_id`, `create_user`, `create_time`, `delete_time`, `delete_user`, `update_user`, `update_time`) VALUES ('1', 'Scenario 1', 'P0', 'Completed', 10, '95%', 'Passed', 'report_1', 1001, b'0', 1, 'version_1', 'ref_1', b'1', '100001100001', 'module_1', 'Description 1', '[\"tag1\",\"tag2\"]', b'0', 'env_1', 'admin', 1640772861000, NULL, NULL, 'admin', 1640772861000);

View File

@ -62,7 +62,7 @@ jmeter.home=/opt/jmeter
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# i18n
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/load,i18n/plan,i18n/project,i18n/system,i18n/ui,i18n/workstation
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/plan,i18n/project,i18n/system
# actuator
management.endpoints.web.exposure.include=*
management.endpoints.enabled-by-default=false

View File

@ -59,7 +59,7 @@ jmeter.home=/opt/jmeter
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# i18n
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/load,i18n/plan,i18n/project,i18n/system,i18n/ui,i18n/workstation
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/plan,i18n/project,i18n/system
# actuator
management.endpoints.web.exposure.include=*
management.endpoints.enabled-by-default=false

View File

@ -64,63 +64,6 @@ public class ProjectApplicationController {
return projectApplicationService.get(request, types);
}
/**
* ==========UI测试==========
*/
@PostMapping("/update/ui")
@Operation(summary = "UI测试-配置")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_UI_UPDATE)
@Log(type = OperationLogType.UPDATE, expression = "#msClass.updateUiLog(#application)", msClass = ProjectApplicationService.class)
public void updateUI(@Validated({Updated.class}) @RequestBody ProjectApplication application) {
projectApplicationService.update(application, SessionUtils.getUserId());
}
@PostMapping("/ui")
@Operation(summary = "UI测试-获取配置")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_UI_READ)
public Map<String, Object> getUI(@Validated @RequestBody ProjectApplicationRequest request) {
List<String> types = Arrays.stream(ProjectApplicationType.UI.values()).map(ProjectApplicationType.UI::name).collect(Collectors.toList());
return projectApplicationService.get(request, types);
}
@GetMapping("/ui/resource/pool/{projectId}")
@Operation(summary = "UI测试-获取资源池列表")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_UI_READ)
public List<OptionDTO> getUiPoolOptions(@PathVariable String projectId) {
return new ArrayList<>();
}
/**
* ==========性能测试==========
*/
@PostMapping("/update/performance-test")
@Operation(summary = "性能测试-配置")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_PERFORMANCE_TEST_UPDATE)
@Log(type = OperationLogType.UPDATE, expression = "#msClass.updatePerformanceLog(#application)", msClass = ProjectApplicationService.class)
public void updatePerformanceTest(@Validated({Updated.class}) @RequestBody ProjectApplication application) {
projectApplicationService.update(application, SessionUtils.getUserId());
}
@PostMapping("/performance-test")
@Operation(summary = "性能测试-获取配置")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_PERFORMANCE_TEST_READ)
public Map<String, Object> getPerformanceTest(@Validated @RequestBody ProjectApplicationRequest request) {
List<String> types = Arrays.stream(ProjectApplicationType.LOAD_TEST.values()).map(ProjectApplicationType.LOAD_TEST::name).collect(Collectors.toList());
return projectApplicationService.get(request, types);
}
@GetMapping("/performance-test/user/{projectId}")
@Operation(summary = "性能测试-获取审核人")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_PERFORMANCE_TEST_READ)
public List<User> getReviewerUser(@PathVariable String projectId) {
return projectApplicationService.getProjectUserList(StringUtils.defaultIfBlank(projectId, SessionUtils.getCurrentProjectId()));
}
/**
* ==========接口测试==========
*/
@ -156,7 +99,7 @@ public class ProjectApplicationController {
@Operation(summary = "接口测试-获取资源池列表")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_API_READ)
public List<OptionDTO> getApiPoolOptions(@PathVariable String projectId) {
return projectService.getPoolOptions(projectId, ApplicationScope.API_TEST);
return projectService.getPoolOptions(projectId);
}
@ -220,28 +163,6 @@ public class ProjectApplicationController {
return projectApplicationService.getRelatedConfigInfo(projectId);
}
/**
* ==========工作台==========
*/
@PostMapping("/update/workstation")
@Operation(summary = "工作台-配置")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_WORKSTATION_UPDATE)
@Log(type = OperationLogType.UPDATE, expression = "#msClass.updateWorkstationLog(#application)", msClass = ProjectApplicationService.class)
public void updateWorkstation(@Validated({Updated.class}) @RequestBody ProjectApplication application) {
projectApplicationService.update(application, SessionUtils.getUserId());
}
@PostMapping("/workstation")
@Operation(summary = "工作台-获取配置")
@RequiresPermissions(PermissionConstants.PROJECT_APPLICATION_WORKSTATION_READ)
public Map<String, Object> getWorkstation(@Validated @RequestBody ProjectApplicationRequest request) {
List<String> types = Arrays.asList(ProjectApplicationType.WORKSTATION.values()).stream().map(ProjectApplicationType.WORKSTATION::name).collect(Collectors.toList());
return projectApplicationService.get(request, types);
}
/**
* ==========缺陷管理==========
*/

View File

@ -76,7 +76,7 @@ public class ProjectController {
@RequiresPermissions(PermissionConstants.PROJECT_BASE_INFO_READ)
@CheckOwner(resourceId = "#projectId", resourceType = "project")
public List<OptionDTO> getPoolOptions(@PathVariable String type, @PathVariable String projectId) {
return projectService.getPoolOptions(projectId, type);
return projectService.getPoolOptions(projectId);
}
@GetMapping("/has-permission/{id}")

View File

@ -19,11 +19,11 @@ public interface ExtProjectMapper {
List<Project> getProjectByOrgId(@Param("userId") String userId, @Param("organizationId") String organizationId);
int resourcePoolIsExist(@Param("poolId") String poolId, @Param("projectId") String projectId, @Param("type") String type);
int resourcePoolIsExist(@Param("poolId") String poolId, @Param("projectId") String projectId);
int resourcePoolIsExistByOrg(@Param("poolId") String string, @Param("projectId") String projectId, @Param("type") String type);
int resourcePoolIsExistByOrg(@Param("poolId") String string, @Param("projectId") String projectId);
List<ProjectTestResourcePool> getResourcePool(@Param("projectId") String projectId, @Param("type") String type);
List<ProjectTestResourcePool> getResourcePool(@Param("projectId") String projectId);
List<Project> getAllProject(@Param("organizationId") String organizationId);
List<TestResourcePool> getResourcePoolOption(@Param("projectId") String projectId, @Param("type") String type);

View File

@ -58,14 +58,14 @@
select count(t.id) from test_resource_pool t left join project_test_resource_pool p on
t.id = p.test_resource_pool_id
where p.project_id = #{projectId} and t.id = #{poolId}
and t.${type} = 1 and t.enable = 1 and t.deleted = 0
and t.enable = 1 and t.deleted = 0
</select>
<select id="resourcePoolIsExistByOrg" resultType="java.lang.Integer">
select count(t.id) from test_resource_pool_organization o
left join test_resource_pool t on t.id = o.test_resource_pool_id
left join project_test_resource_pool p on t.id = p.test_resource_pool_id
where p.project_id = #{projectId} and t.id = #{poolId}
and t.${type} = 1 and t.enable = 1 and t.deleted = 0
and t.enable = 1 and t.deleted = 0
</select>
<select id="getResourcePool" resultType="io.metersphere.project.domain.ProjectTestResourcePool">
select p.*
@ -74,7 +74,6 @@
where p.project_id = #{projectId}
and t.enable = 1
and t.deleted = 0
and t.${type} = 1
</select>
<select id="getAllProject" resultType="io.metersphere.project.domain.Project">
select *
@ -92,7 +91,6 @@
where p.project_id = #{projectId}
and t.enable = 1
and t.deleted = 0
and t.${type} = 1
</select>
<select id="getAllProjectWidthModule" resultType="io.metersphere.project.domain.Project">

View File

@ -139,21 +139,9 @@ public class ProjectApplicationService {
if (StringUtils.isBlank(type)) {
return;
}
switch (type) {
case "apiTest" -> {
poolType = ProjectApplicationType.API.API_RESOURCE_POOL_ID.name();
moduleType = "api_test";
}
case "uiTest" -> {
poolType = ProjectApplicationType.UI.UI_RESOURCE_POOL_ID.name();
moduleType = "ui_test";
}
case "loadTest" -> {
poolType = ProjectApplicationType.LOAD_TEST.LOAD_TEST_RESOURCE_POOL_ID.name();
moduleType = "load_test";
}
default -> {
}
if (type.equals("apiTest")) {
poolType = ProjectApplicationType.API.API_RESOURCE_POOL_ID.name();
moduleType = "api_test";
}
if (StringUtils.isNotBlank(poolType) && StringUtils.isNotBlank(moduleType)) {
if (configMap.containsKey(poolType)) {
@ -162,17 +150,17 @@ public class ProjectApplicationService {
TestResourcePoolExample example = new TestResourcePoolExample();
example.createCriteria().andIdEqualTo(configMap.get(poolType).toString()).andAllOrgEqualTo(true);
if (testResourcePoolMapper.countByExample(example) > 0) {
count = extProjectMapper.resourcePoolIsExist(configMap.get(poolType).toString(), projectId, moduleType);
count = extProjectMapper.resourcePoolIsExist(configMap.get(poolType).toString(), projectId);
} else {
//指定组织 则需要关联组织-资源池的关系表 看看是否再全部存在
count = extProjectMapper.resourcePoolIsExistByOrg(configMap.get(poolType).toString(), projectId, moduleType);
count = extProjectMapper.resourcePoolIsExistByOrg(configMap.get(poolType).toString(), projectId);
}
if (count == 0) {
configMap.remove(poolType);
}
}
if (!configMap.containsKey(poolType)) {
List<ProjectTestResourcePool> projectTestResourcePools = extProjectMapper.getResourcePool(projectId, moduleType);
List<ProjectTestResourcePool> projectTestResourcePools = extProjectMapper.getResourcePool(projectId);
if (CollectionUtils.isNotEmpty(projectTestResourcePools)) {
projectTestResourcePools.sort(Comparator.comparing(ProjectTestResourcePool::getTestResourcePoolId));
configMap.put(poolType, projectTestResourcePools.getFirst().getTestResourcePoolId());

View File

@ -171,7 +171,7 @@ public class ProjectService {
return projectPools.stream().map(ProjectTestResourcePool::getTestResourcePoolId).toList();
}
public List<OptionDTO> getPoolOptions(String projectId, String type) {
public List<OptionDTO> getPoolOptions(String projectId) {
checkProjectNotExist(projectId);
List<String> poolIds = getPoolIds(projectId);
if (CollectionUtils.isEmpty(poolIds)) {
@ -180,14 +180,7 @@ public class ProjectService {
TestResourcePoolExample example = new TestResourcePoolExample();
TestResourcePoolExample.Criteria criteria = example.createCriteria();
criteria.andIdIn(poolIds).andEnableEqualTo(true).andDeletedEqualTo(false);
List<TestResourcePool> testResourcePools = new ArrayList<>();
testResourcePools = switch (type) {
case ApplicationScope.API_TEST -> {
criteria.andApiTestEqualTo(true);
yield testResourcePoolMapper.selectByExample(example);
}
default -> new ArrayList<>();
};
List<TestResourcePool> testResourcePools = testResourcePoolMapper.selectByExample(example);
return testResourcePools.stream().map(testResourcePool ->
new OptionDTO(testResourcePool.getId(), testResourcePool.getName())
).toList();

View File

@ -117,131 +117,6 @@ public class ProjectApplicationControllerTests extends BaseTest {
*/
/**
* ==========UI测试 start==========
*/
public static final String UI_UPDATE_URL = "/project/application/update/ui";
public static final String GET_UI_URL = "/project/application/ui";
public static final String GET_UI_RESOURCE_POOL_URL = "/project/application/ui/resource/pool";
//UI测试 - 清理报告配置
@Test
@Order(4)
public void testUiClean() throws Exception {
//新增
ProjectApplication request = creatRequest(ProjectApplicationType.UI.UI_CLEAN_REPORT.name(), TIME_TYPE_VALUE);
this.requestPost(UI_UPDATE_URL, request);
// @@异常参数校验
updatedGroupParamValidateTest(ProjectApplicationDefinition.class, UI_UPDATE_URL);
}
//UI测试 - 分享报告配置
@Test
@Order(5)
public void testUiShare() throws Exception {
//新增
ProjectApplication request = creatRequest(ProjectApplicationType.UI.UI_SHARE_REPORT.name(), TIME_TYPE_VALUE);
this.requestPost(UI_UPDATE_URL, request);
//更新
request.setTypeValue("5M");
this.requestPost(UI_UPDATE_URL, request);
}
//UI测试 - 执行资源池
@Test
@Order(5)
public void testUiResourcePool() throws Exception {
ProjectApplication request = creatRequest(ProjectApplicationType.UI.UI_RESOURCE_POOL_ID.name(), "local");
this.requestPost(UI_UPDATE_URL, request);
}
//UI测试 - 获取配置
@Test
@Order(6)
public void testGetUi() throws Exception {
//清理报告 + 分享报告
ProjectApplicationRequest request = this.getRequest("UI");
this.requestPostWithOkAndReturn(GET_UI_URL, request);
// @@异常参数校验
updatedGroupParamValidateTest(ProjectApplicationRequestDefinition.class, GET_UI_URL);
}
//UI测试 - 获取资源池
@Test
@Order(6)
public void testGetUiResourcePool() throws Exception {
this.requestGetWithOkAndReturn(GET_UI_RESOURCE_POOL_URL + "/" + DEFAULT_PROJECT_ID);
}
/**
* ==========UI测试 end==========
*/
/**
* ==========性能测试 start==========
*/
public static final String PERFORMANCE_UPDATE_URL = "/project/application/update/performance-test";
public static final String GET_PERFORMANCE_URL = "/project/application/performance-test";
public static final String GET_USER_URL = "/project/application/performance-test/user";
//性能测试 - 清理报告配置
@Test
@Order(7)
public void testPerformanceClean() throws Exception {
//新增
ProjectApplication request = creatRequest(ProjectApplicationType.LOAD_TEST.LOAD_TEST_CLEAN_REPORT.name(), TIME_TYPE_VALUE);
this.requestPost(PERFORMANCE_UPDATE_URL, request);
//更新
request.setTypeValue("4M");
this.requestPost(PERFORMANCE_UPDATE_URL, request);
// @@异常参数校验
updatedGroupParamValidateTest(ProjectApplicationDefinition.class, PERFORMANCE_UPDATE_URL);
}
//性能测试 - 分享报告配置
@Test
@Order(8)
public void testPerformanceShare() throws Exception {
//新增
ProjectApplication request = creatRequest(ProjectApplicationType.LOAD_TEST.LOAD_TEST_SHARE_REPORT.name(), TIME_TYPE_VALUE);
this.requestPost(PERFORMANCE_UPDATE_URL, request);
//更新
request.setTypeValue("5M");
this.requestPost(PERFORMANCE_UPDATE_URL, request);
}
//性能测试 - 脚本审核
@Test
@Order(9)
public void testPerformanceReviewer() throws Exception {
//新增
ProjectApplication request = creatRequest(ProjectApplicationType.LOAD_TEST.LOAD_TEST_SCRIPT_REVIEWER_ENABLE.name(), "admin");
this.requestPost(PERFORMANCE_UPDATE_URL, request);
}
//性能测试 - 获取配置
@Test
@Order(10)
public void testGetPerformance() throws Exception {
//清理报告 + 分享报告
ProjectApplicationRequest request = this.getRequest("PERFORMANCE_TEST");
this.requestPostWithOkAndReturn(GET_PERFORMANCE_URL, request);
// @@异常参数校验
updatedGroupParamValidateTest(ProjectApplicationRequestDefinition.class, GET_PERFORMANCE_URL);
}
//性能测试 - 获取项目成员
@Test
@Order(11)
public void testGetUser() throws Exception {
this.requestGetWithOkAndReturn(GET_USER_URL + "/default-project-2");
}
/**
* ==========性能测试 end==========
*/
/**
* ==========接口测试 start==========
@ -401,31 +276,6 @@ public class ProjectApplicationControllerTests extends BaseTest {
*/
/**
* ==========工作台 start==========
*/
public static final String WORKSTATION_UPDATE_URL = "/project/application/update/workstation";
public static final String GET_WORKSTATION_URL = "/project/application/workstation";
//工作台
@Test
@Order(27)
public void testWorkstation() throws Exception {
ProjectApplication request = creatRequest(ProjectApplicationType.WORKSTATION.WORKSTATION_SYNC_RULE.name(), "true");
this.requestPost(WORKSTATION_UPDATE_URL, request);
}
@Test
@Order(28)
public void testGetWorkstation() throws Exception {
ProjectApplicationRequest request = this.getRequest("WORKSTATION");
this.requestPostWithOkAndReturn(GET_WORKSTATION_URL, request);
}
/**
* ==========工作台 end==========
*/
/**
* ==========缺陷管理 start==========
*/

View File

@ -62,7 +62,7 @@ jmeter.home=/opt/jmeter
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# i18n
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/load,i18n/plan,i18n/project,i18n/system,i18n/ui,i18n/workstation
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/plan,i18n/project,i18n/system
# actuator
management.endpoints.web.exposure.include=*
management.endpoints.enabled-by-default=false

View File

@ -27,14 +27,12 @@ replace INTO user_role_permission(id, role_id, permission_id) VALUES ('user_role
#插入测试数据 环境
replace INTO environment (id, name, project_id, create_user, update_user, create_time, update_time) VALUES ('environmentId1', '环境1', 'projectId1', 'admin', 'admin', unix_timestamp() * 1000, unix_timestamp() * 1000);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, api_test,
load_test, ui_test, server_url, all_org, deleted)
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, server_url, all_org, deleted)
values ('resourcePoolId', 'resourcePoolName', 'node', 'resourcePoolDescription', 1, unix_timestamp() * 1000,
unix_timestamp() * 1000, 'admin', 1, 1, 1, 'http://localhost:8080', 1, 0);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, api_test,
load_test, ui_test, server_url, all_org, deleted)
unix_timestamp() * 1000, 'admin', 'http://localhost:8080', 1, 0);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, server_url, all_org, deleted)
values ('resourcePoolId1', 'resourcePoolName1', 'node', 'resourcePoolDescription', 1, unix_timestamp() * 1000,
unix_timestamp() * 1000, 'admin', 1, 1, 1, 'http://localhost:8080', 1, 0);
unix_timestamp() * 1000, 'admin', 'http://localhost:8080', 1, 0);
replace into project_test_resource_pool(project_id, test_resource_pool_id) value ('projectId', 'resourcePoolId');
replace into project_test_resource_pool(project_id, test_resource_pool_id) value ('projectId', 'resourcePoolId1');
replace into test_resource_pool_organization(id , test_resource_pool_id, org_id) value (UUID_SHORT(),'resourcePoolId', '100001');

View File

@ -24,12 +24,6 @@ public class TestResourceNodeDTO {
@Schema(description = "接口测试性能测试 node节点端口")
private String port;
/**
* 性能测试 node节点监控器
*/
@Schema(description = "性能测试 node节点监控器")
private String monitor;
/**
* 接口测试 性能测试 最大并发数
*/

View File

@ -62,26 +62,6 @@ public class CleanUpReportJob {
map.put(ProjectApplicationType.TEST_PLAN.TEST_PLAN_CLEAN_REPORT.name(), "3M");
}
//ui
applicationExample.clear();
applicationExample.createCriteria().andProjectIdEqualTo(project.getId()).andTypeEqualTo(ProjectApplicationType.UI.UI_CLEAN_REPORT.name());
List<ProjectApplication> ui = projectApplicationMapper.selectByExample(applicationExample);
if (CollectionUtils.isNotEmpty(ui)) {
map.put(ProjectApplicationType.UI.UI_CLEAN_REPORT.name(), ui.get(0).getTypeValue());
} else {
map.put(ProjectApplicationType.UI.UI_CLEAN_REPORT.name(), "3M");
}
//load_test
applicationExample.clear();
applicationExample.createCriteria().andProjectIdEqualTo(project.getId()).andTypeEqualTo(ProjectApplicationType.LOAD_TEST.LOAD_TEST_CLEAN_REPORT.name());
List<ProjectApplication> loadTest = projectApplicationMapper.selectByExample(applicationExample);
if (CollectionUtils.isNotEmpty(loadTest)) {
map.put(ProjectApplicationType.LOAD_TEST.LOAD_TEST_CLEAN_REPORT.name(), loadTest.get(0).getTypeValue());
} else {
map.put(ProjectApplicationType.LOAD_TEST.LOAD_TEST_CLEAN_REPORT.name(), "3M");
}
//api
applicationExample.clear();
applicationExample.createCriteria().andProjectIdEqualTo(project.getId()).andTypeEqualTo(ProjectApplicationType.API.API_CLEAN_REPORT.name());

View File

@ -20,15 +20,6 @@
<if test="request.deleted != null">
and t.deleted = #{request.deleted}
</if>
<if test="request.apiTest != null and request.apiTest == true">
and t.api_test = true
</if>
<if test="request.loadTest != null and request.loadTest == true">
and t.load_test = true
</if>
<if test="request.uiTest != null and request.uiTest == true">
and t.ui_test = true
</if>
<include refid="filter"/>
<include refid="combine">
<property name="condition" value="request.combine"/>

View File

@ -78,12 +78,6 @@ public interface NoticeConstants {
@Schema(description = "message.api_test_management")
String API_TEST_MANAGEMENT = "API_TEST_MANAGEMENT";
@Schema(description = "message.ui_test_management")
String UI_TEST_MANAGEMENT = "UI_TEST_MANAGEMENT";
@Schema(description = "message.load_test_management")
String LOAD_TEST_MANAGEMENT = "LOAD_TEST_MANAGEMENT";
@Schema(description = "message.jenkins_task_management")
String JENKINS_TASK_MANAGEMENT = "JENKINS_TASK_MANAGEMENT";
@ -323,30 +317,6 @@ public interface NoticeConstants {
@Schema(description = "message.api_report_task_delete")
String API_REPORT_TASK_DELETE = "API_REPORT_TASK_DELETE";//${OPERATOR}删除了接口报告:${name}
@Schema(description = "message.ui_scenario_task_create")
String UI_SCENARIO_TASK_CREATE = "UI_SCENARIO_TASK_CREATE";//${OPERATOR}创建了UI用例:${name}
@Schema(description = "message.ui_scenario_task_update")
String UI_SCENARIO_TASK_UPDATE = "UI_SCENARIO_TASK_UPDATE";//${OPERATOR}更新了UI用例:${name}
@Schema(description = "message.ui_scenario_task_delete")
String UI_SCENARIO_TASK_DELETE = "UI_SCENARIO_TASK_DELETE";//${OPERATOR}删除了UI用例:${name}
@Schema(description = "message.ui_scenario_task_execute")
String UI_SCENARIO_TASK_EXECUTE_SUCCESSFUL = "UI_SCENARIO_TASK_EXECUTE_SUCCESSFUL";//${OPERATOR}执行了UI用例:${name}
@Schema(description = "message.ui_scenario_task_execute")
String UI_SCENARIO_TASK_EXECUTE_FAILED = "UI_SCENARIO_TASK_EXECUTE_FAILED";//${OPERATOR}执行了UI用例:${name}
@Schema(description = "message.ui_report_task_delete")
String UI_REPORT_TASK_DELETE = "UI_REPORT_TASK_DELETE";//${OPERATOR}删除了UI报告:${name}
@Schema(description = "message.load_test_task_create")
String LOAD_TEST_TASK_CREATE = "LOAD_TEST_TASK_CREATE";//${OPERATOR}创建了性能用例:${name}
@Schema(description = "message.load_test_task_update")
String LOAD_TEST_TASK_UPDATE = "LOAD_TEST_TASK_UPDATE";//${OPERATOR}更新了性能用例:${name}
@Schema(description = "message.load_test_task_delete")
String LOAD_TEST_TASK_DELETE = "LOAD_TEST_TASK_DELETE";//${OPERATOR}删除了性能用例:${name}
@Schema(description = "message.load_test_task_execute_completed")
String LOAD_TEST_TASK_EXECUTE_COMPLETED = "LOAD_TEST_TASK_EXECUTE_COMPLETED";//${OPERATOR}执行了性能用例:${name}
@Schema(description = "message.load_report_task_delete")
String LOAD_REPORT_TASK_DELETE = "LOAD_REPORT_TASK_DELETE";//${OPERATOR}删除了性能报告:${name}
@Schema(description = "message.jenkins_task_execute")
String JENKINS_TASK_EXECUTE_SUCCESSFUL = "JENKINS_TASK_EXECUTE_SUCCESSFUL";//Jenkins执行了接口场景:${name}
@Schema(description = "message.jenkins_task_execute")
@ -465,30 +435,6 @@ public interface NoticeConstants {
@Schema(description = "message.title.api_report_task_delete")//接口报告删除通知
String API_REPORT_TASK_DELETE = "API_REPORT_TASK_DELETE";
@Schema(description = "message.title.ui_scenario_task_create")//UI用例创建通知
String UI_SCENARIO_TASK_CREATE = "UI_SCENARIO_TASK_CREATE";
@Schema(description = "message.title.ui_scenario_task_update")//UI用例更新通知
String UI_SCENARIO_TASK_UPDATE = "UI_SCENARIO_TASK_UPDATE";
@Schema(description = "message.title.ui_scenario_task_delete")//UI用例删除通知
String UI_SCENARIO_TASK_DELETE = "UI_SCENARIO_TASK_DELETE";
@Schema(description = "message.title.ui_scenario_task_execute_successful")//UI用例执行成功通知
String UI_SCENARIO_TASK_EXECUTE_SUCCESSFUL = "UI_SCENARIO_TASK_EXECUTE_SUCCESSFUL";
@Schema(description = "message.title.ui_scenario_task_execute_failed")//UI用例执行失败通知
String UI_SCENARIO_TASK_EXECUTE_FAILED = "UI_SCENARIO_TASK_EXECUTE_FAILED";
@Schema(description = "message.title.ui_report_task_delete")//UI报告删除通知
String UI_REPORT_TASK_DELETE = "UI_REPORT_TASK_DELETE";
@Schema(description = "message.title.load_test_task_create")//性能用例创建通知
String LOAD_TEST_TASK_CREATE = "LOAD_TEST_TASK_CREATE";
@Schema(description = "message.title.load_test_task_update")//性能用例更新通知
String LOAD_TEST_TASK_UPDATE = "LOAD_TEST_TASK_UPDATE";
@Schema(description = "message.title.load_test_task_delete")//性能用例删除通知
String LOAD_TEST_TASK_DELETE = "LOAD_TEST_TASK_DELETE";
@Schema(description = "message.title.load_test_task_execute_completed")//性能用例执行完成通知
String LOAD_TEST_TASK_EXECUTE_COMPLETED = "LOAD_TEST_TASK_EXECUTE_COMPLETED";
@Schema(description = "message.title.load_report_task_delete")//性能报告删除通知
String LOAD_REPORT_TASK_DELETE = "LOAD_REPORT_TASK_DELETE";
@Schema(description = "message.title.jenkins_task_execute_successful")//Jenkins任务执行成功通知
String JENKINS_TASK_EXECUTE_SUCCESSFUL = "JENKINS_TASK_EXECUTE_SUCCESSFUL";
@Schema(description = "message.title.jenkins_task_execute_failed")//Jenkins任务执行失败通知

View File

@ -75,8 +75,6 @@ public class CommonProjectService {
private TestResourcePoolService testResourcePoolService;
public static final Integer DEFAULT_REMAIN_DAY_COUNT = 30;
public static final String API_TEST = "apiTest";
public static final String UI_TEST = "uiTest";
public static final String LOAD_TEST = "loadTest";
@Autowired
public CommonProjectService(ProjectServiceInvoker serviceInvoker) {
@ -647,9 +645,7 @@ public class CommonProjectService {
//这里需要获取项目开启的模块 判断资源池开启的使用范围的模块是否在项目开启的模块中
List<String> moduleIds = request.getModulesIds();
testResourcePools.forEach(pool -> {
if ((moduleIds.contains(API_TEST) && pool.getApiTest()) ||
(moduleIds.contains(LOAD_TEST) && pool.getLoadTest()) ||
(moduleIds.contains(UI_TEST) && pool.getUiTest())) {
if (moduleIds.contains(API_TEST)) {
OptionDTO optionDTO = new OptionDTO();
optionDTO.setId(pool.getId());
optionDTO.setName(pool.getName());

View File

@ -5,5 +5,5 @@ import io.metersphere.system.dto.pool.TestResourceDTO;
public interface KubernetesResourcePoolService {
boolean validate(TestResourceDTO testResourceDTO, Boolean usedApiType);
boolean validate(TestResourceDTO testResourceDTO);
}

View File

@ -25,7 +25,7 @@ public class NodeResourcePoolService {
private final static String nodeControllerUrl = "http://%s:%s/status";
public boolean validate(TestResourceDTO testResourceDTO, Boolean usedApiType) {
public boolean validate(TestResourceDTO testResourceDTO) {
List<TestResourceNodeDTO> nodesList = testResourceDTO.getNodesList();
if (CollectionUtils.isEmpty(nodesList)) {
throw new MSException(Translator.get("no_nodes_message"));
@ -46,11 +46,7 @@ public class NodeResourcePoolService {
testResourceNodeDTO.setConcurrentNumber(10);
}
}
if (!usedApiType) {
if (StringUtils.isBlank(testResourceNodeDTO.getMonitor())) {
throw new MSException(Translator.get("monitor_is_null"));
}
}
isValid = validateNode(testResourceNodeDTO);
if (!isValid) {
break;

View File

@ -77,20 +77,11 @@ public class TestResourcePoolService {
SqlSessionUtils.closeSqlSession(sqlSession, sqlSessionFactory);
}
public boolean checkLoadConfig(TestResourceDTO testResourceDTO, TestResourcePool testResourcePool, String type) {
if (testResourcePool.getLoadTest() == null || !testResourcePool.getLoadTest()) {
return true;
}
boolean validate = checkNodeOrK8s(testResourceDTO, type, false);
testResourcePool.setEnable(validate);
return validate;
}
private static boolean checkNodeOrK8s(TestResourceDTO testResourceDTO, String type, Boolean usedApiType) {
private static boolean checkNodeOrK8s(TestResourceDTO testResourceDTO, String type) {
if (StringUtils.equalsIgnoreCase(type, ResourcePoolTypeEnum.NODE.name())) {
NodeResourcePoolService resourcePoolService = CommonBeanFactory.getBean(NodeResourcePoolService.class);
if (resourcePoolService != null) {
return resourcePoolService.validate(testResourceDTO, usedApiType);
return resourcePoolService.validate(testResourceDTO);
} else {
return false;
}
@ -99,26 +90,13 @@ public class TestResourcePoolService {
if (resourcePoolService == null) {
return false;
}
return resourcePoolService.validate(testResourceDTO, usedApiType);
return resourcePoolService.validate(testResourceDTO);
}
}
public void checkUiConfig(TestResourceDTO testResourceDTO, TestResourcePool testResourcePool) {
if (testResourcePool.getUiTest() == null || !testResourcePool.getUiTest()) {
return;
}
UiResourceService resourcePoolService = CommonBeanFactory.getBean(UiResourceService.class);
if (resourcePoolService == null) {
return;
}
resourcePoolService.validate(testResourceDTO);
}
public boolean checkApiConfig(TestResourceDTO testResourceDTO, TestResourcePool testResourcePool, String type) {
if (testResourcePool.getApiTest() == null || !testResourcePool.getApiTest()) {
return true;
}
boolean validate = checkNodeOrK8s(testResourceDTO, type, true);
boolean validate = checkNodeOrK8s(testResourceDTO, type);
testResourcePool.setEnable(validate);
return validate;
}
@ -129,8 +107,7 @@ public class TestResourcePoolService {
TestResourceDTO testResourceDTO = testResourcePool.getTestResourceDTO();
checkAndSaveOrgRelation(testResourcePool, testResourcePool.getId(), testResourceDTO);
checkApiConfig(testResourceDTO, testResourcePool, testResourcePool.getType());
checkLoadConfig(testResourceDTO, testResourcePool, testResourcePool.getType());
checkUiConfig(testResourceDTO, testResourcePool);
if (CollectionUtils.isEmpty(testResourceDTO.getNodesList())) {
testResourceDTO.setNodesList(new ArrayList<>());
}

View File

@ -1,10 +0,0 @@
package io.metersphere.system.service;
import io.metersphere.system.dto.pool.TestResourceDTO;
public interface UiResourceService {
boolean validate(TestResourceDTO testResourceDTO);
}

View File

@ -85,7 +85,7 @@
<!-- <table tableName="service_integration"/>-->
<!-- <table tableName="system_parameter"/>-->
<!-- <table tableName="test_resource"/>-->
<!-- <table tableName="test_resource_pool"/>-->
<table tableName="test_resource_pool"/>
<!-- <table tableName="user"/>-->
<!-- <table tableName="user_extend"/>-->
<!-- <table tableName="user_key"/>-->
@ -95,7 +95,7 @@
<!-- <table tableName="organization"/>-->
<!-- <table tableName="custom_field"/>-->
<table tableName="custom_field_option"/>
<!-- <table tableName="custom_field_option"/>-->
<!-- <table tableName="template"/>-->
<!-- <table tableName="template_custom_field"/>-->
<!-- <table tableName="status_item"/>-->

View File

@ -218,7 +218,7 @@ class TestResourcePoolControllerTests extends BaseTest {
@Order(4)
void addTestResourcePoolFour() throws Exception {
// 选全部资源池部分没值 资源池节点为NODE use
this.addTestResourcePoolSuccess("test_pool_4", true, false, false, false, false,false, ResourcePoolTypeEnum.NODE.name());
this.addTestResourcePoolSuccess("test_pool_4", true, false, false, false, false, false, ResourcePoolTypeEnum.NODE.name());
}
@ -309,28 +309,13 @@ class TestResourcePoolControllerTests extends BaseTest {
ResultHolder resultHolder = JSON.parseObject(contentAsString, ResultHolder.class);
TestResourcePoolReturnDTO testResourcePoolReturnDTO = JSON.parseObject(JSON.toJSONString(resultHolder.getData()), TestResourcePoolReturnDTO.class);
Assertions.assertTrue((CollectionUtils.isNotEmpty(testResourcePoolReturnDTO.getTestResourceReturnDTO().getOrgIdNameMap())));
if (testResourcePoolRequest1.getUiTest()) {
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getUiGrid());
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getGirdConcurrentNumber() > 0);
}
if (testResourcePoolRequest1.getApiTest()) {
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getIp());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getToken());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getNamespace());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getDeployName());
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getConcurrentNumber() > 0);
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getPodThreads() > 0);
}
if (testResourcePoolRequest1.getLoadTest()) {
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getIp());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getToken());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getNamespace());
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getConcurrentNumber() > 0);
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getPodThreads() > 0);
}
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getIp());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getToken());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getNamespace());
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getDeployName());
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getConcurrentNumber() > 0);
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getPodThreads() > 0);
}
@Test
@ -348,28 +333,13 @@ class TestResourcePoolControllerTests extends BaseTest {
ResultHolder resultHolder = JSON.parseObject(contentAsString, ResultHolder.class);
TestResourcePoolReturnDTO testResourcePoolReturnDTO = JSON.parseObject(JSON.toJSONString(resultHolder.getData()), TestResourcePoolReturnDTO.class);
Assertions.assertTrue((CollectionUtils.isNotEmpty(testResourcePoolReturnDTO.getTestResourceReturnDTO().getOrgIdNameMap())));
if (testResourcePoolRequest1.getUiTest()) {
Assertions.assertNotNull(testResourcePoolReturnDTO.getTestResourceReturnDTO().getUiGrid());
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getGirdConcurrentNumber() > 0);
}
if (testResourcePoolRequest1.getApiTest()) {
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getNodesList().size() > 0);
for (TestResourceNodeDTO testResourceNodeDTO : testResourcePoolReturnDTO.getTestResourceReturnDTO().getNodesList()) {
Assertions.assertNotNull(testResourceNodeDTO.getIp());
Assertions.assertNotNull(testResourceNodeDTO.getPort());
Assertions.assertNotNull(testResourceNodeDTO.getConcurrentNumber());
}
}
if (testResourcePoolRequest1.getLoadTest()) {
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getNodesList().size() > 0);
for (TestResourceNodeDTO testResourceNodeDTO : testResourcePoolReturnDTO.getTestResourceReturnDTO().getNodesList()) {
Assertions.assertNotNull(testResourceNodeDTO.getIp());
Assertions.assertNotNull(testResourceNodeDTO.getPort());
Assertions.assertNotNull(testResourceNodeDTO.getConcurrentNumber());
Assertions.assertNotNull(testResourceNodeDTO.getMonitor());
}
Assertions.assertTrue(testResourcePoolReturnDTO.getTestResourceReturnDTO().getNodesList().size() > 0);
for (TestResourceNodeDTO testResourceNodeDTO : testResourcePoolReturnDTO.getTestResourceReturnDTO().getNodesList()) {
Assertions.assertNotNull(testResourceNodeDTO.getIp());
Assertions.assertNotNull(testResourceNodeDTO.getPort());
Assertions.assertNotNull(testResourceNodeDTO.getConcurrentNumber());
}
}
@ -403,7 +373,7 @@ class TestResourcePoolControllerTests extends BaseTest {
String id = "1034";
getDetail("/test/resource/pool/detail/" + id, ERROR_REQUEST_MATCHER);
TestResourcePool testResourcePoolRequest1 = this.addTestResourcePoolSuccess("test_pool_blob_no_node", true, false, true, false, false, true,ResourcePoolTypeEnum.K8S.name());
TestResourcePool testResourcePoolRequest1 = this.addTestResourcePoolSuccess("test_pool_blob_no_node", true, false, true, false, false, true, ResourcePoolTypeEnum.K8S.name());
getDetail("/test/resource/pool/detail/" + testResourcePoolRequest1.getId(), status().isOk());
}
@ -518,7 +488,7 @@ class TestResourcePoolControllerTests extends BaseTest {
} else {
//更新 ID 为空
url = TEST_RESOURCE_POOL_UPDATE;
TestResourcePoolRequest testResourcePoolRequest = generatorDto(true, false, false, false, false, false, false, false, false);
TestResourcePoolRequest testResourcePoolRequest = generatorDto(true, false, false, false, false, false, false, false);
testResourcePoolRequest.setId("");
this.requestPost(urlType, url, id, testResourcePoolRequest, status().isBadRequest());
@ -528,44 +498,44 @@ class TestResourcePoolControllerTests extends BaseTest {
//资源池名称重复
TestResourcePoolDTO testPool4 = listByKeyWord("test_pool_4");
TestResourcePoolRequest testResourcePoolRequest = generatorDto(true, false, false, false, false, false, false, false, false);
TestResourcePoolRequest testResourcePoolRequest = generatorDto(true, false, false, false, false, false, false, false);
testResourcePoolRequest.setName("test_pool_blob2");
this.requestPost(urlType, url, testPool4.getId(), testResourcePoolRequest, status().is5xxServerError());
//资源池类型为空
testResourcePoolRequest = generatorDto(true, false, true, false, false, false, false, false, false);
testResourcePoolRequest = generatorDto(true, false, true, false, false, false, false, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, status().isBadRequest());
//api 类型 资源池节点集合为空
testResourcePoolRequest = generatorDto(true, false, false, true, false, false, false, false, false);
testResourcePoolRequest = generatorDto(true, false, false, true, false, false, false, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//资源池节点不为空但是内容为空 ip 为空
testResourcePoolRequest = generatorDto(true, false, false, true, false, true, false, false, false);
testResourcePoolRequest = generatorDto(true, false, false, true, false, true, false, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//资源池节点不为空但是内容为空 port 为空
testResourcePoolRequest = generatorDto(true, false, false, true, false, false, true, false, false);
testResourcePoolRequest = generatorDto(true, false, false, true, false, false, true, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//资源池节点不为空但是内容为空 最大线程数 为空
testResourcePoolRequest = generatorDto(true, false, false, true, false, false, false, false, true);
testResourcePoolRequest = generatorDto(true, false, false, true, false, false, false, true);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//性能测试类型 资源池节点集合为空
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, false, false, false);
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, false, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//资源池节点不为空但是内容为空ip为空
testResourcePoolRequest = generatorDto(false, false, false, true, false, true, false, false, false);
testResourcePoolRequest = generatorDto(false, false, false, true, false, true, false, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//资源池节点不为空但是内容为空 port 为空
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, true, false, false);
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, true, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//资源池节点不为空但是内容为空 port 为空
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, false, true, false);
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, false, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//资源池节点不为空但是内容为空 最大线程数 为空
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, false, false, true);
testResourcePoolRequest = generatorDto(false, false, false, true, false, false, false, true);
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
//应用组织
testResourcePoolRequest = generatorDto(true, false, false, false, true, false, false, false, false);
testResourcePoolRequest = generatorDto(true, false, false, false, true, false, false, false);
this.requestPost(urlType, url, id, testResourcePoolRequest, status().isBadRequest());
//部分组织
testResourcePoolRequest = generatorDto(true, false, false, false, false, false, false, false, false);
testResourcePoolRequest = generatorDto(true, false, false, false, false, false, false, false);
testResourcePoolRequest.setAllOrg(false);
testResourcePoolRequest.setTestResourceDTO(JSON.parseObject(configurationWidthOutOrgIds, TestResourceDTO.class));
this.requestPost(urlType, url, id, testResourcePoolRequest, ERROR_REQUEST_MATCHER);
@ -605,7 +575,7 @@ class TestResourcePoolControllerTests extends BaseTest {
.andExpect(content().contentType(MediaType.APPLICATION_JSON));
}
private TestResourcePoolRequest generatorDto(boolean useApiType, boolean noName, boolean noType, boolean noResources, boolean noAllOrg, boolean noIp, boolean noPort, boolean noMonitor, boolean noConcurrentNumber) {
private TestResourcePoolRequest generatorDto(boolean useApiType, boolean noName, boolean noType, boolean noResources, boolean noAllOrg, boolean noIp, boolean noPort, boolean noConcurrentNumber) {
TestResourcePoolRequest testResourcePoolDTO = new TestResourcePoolRequest();
//没名字
if (!noName) {
@ -635,17 +605,13 @@ class TestResourcePoolControllerTests extends BaseTest {
} else {
testResourceNodeDTO.setPort(port + "");
}
if (noMonitor) {
testResourceNodeDTO.setMonitor(" ");
} else {
testResourceNodeDTO.setMonitor("11");
}
if (noConcurrentNumber) {
testResourceNodeDTO.setConcurrentNumber(null);
} else {
testResourceNodeDTO.setConcurrentNumber(1);
}
if (!noIp && !noPort && !noMonitor && !noConcurrentNumber) {
if (!noIp && !noPort && !noConcurrentNumber) {
testResourceDTO.setNodesList(null);
} else {
List<TestResourceNodeDTO> testResourceNodeDTOS = new ArrayList<>();

View File

@ -63,7 +63,7 @@ jmeter.home=/opt/jmeter
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# i18n
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/load,i18n/plan,i18n/project,i18n/system,i18n/ui,i18n/workstation
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/plan,i18n/project,i18n/system
# actuator
management.endpoints.web.exposure.include=*
management.endpoints.enabled-by-default=false

View File

@ -26,14 +26,12 @@ replace INTO user_role_relation (id, user_id, role_id, source_id, organization_i
INSERT INTO organization(id,num, name, description, create_time, update_time, create_user, update_user, delete_user, delete_time) VALUE
('default-organization-20',null, 'default-20', 'XXX-1', UNIX_TIMESTAMP() * 1000, UNIX_TIMESTAMP() * 1000, 'admin', 'admin', null, null);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, api_test,
load_test, ui_test, server_url, all_org, deleted)
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, server_url, all_org, deleted)
values ('resourcePoolId', 'resourcePoolName', 'node', 'resourcePoolDescription', 1, unix_timestamp() * 1000,
unix_timestamp() * 1000, 'admin', 1, 1, 1, 'http://localhost:8080', 1, 0);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, api_test,
load_test, ui_test, server_url, all_org, deleted)
unix_timestamp() * 1000, 'admin', 'http://localhost:8080', 1, 0);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, server_url, all_org, deleted)
values ('resourcePoolId1', 'resourcePoolName1', 'node', 'resourcePoolDescription', 1, unix_timestamp() * 1000,
unix_timestamp() * 1000, 'admin', 1, 1, 1, 'http://localhost:8080', 1, 0);
unix_timestamp() * 1000, 'admin', 'http://localhost:8080', 1, 0);
replace into project_test_resource_pool(project_id, test_resource_pool_id) value ('projectId', 'resourcePoolId');
replace into project_test_resource_pool(project_id, test_resource_pool_id) value ('projectId', 'resourcePoolId1');
replace into test_resource_pool_organization(id , test_resource_pool_id, org_id) value (UUID_SHORT(),'resourcePoolId', '100001');

View File

@ -32,14 +32,12 @@ replace
VALUES ('c3bb9b4f-46d8-4952-9681-8889974487q', 'admin2', 'project_admin', 'projectId1',
(SELECT id FROM organization WHERE name LIKE '默认组织'), '1684747668321', '1684747668336');
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, api_test,
load_test, ui_test, server_url, all_org, deleted)
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, server_url, all_org, deleted)
values ('resourcePoolId', 'resourcePoolName', 'node', 'resourcePoolDescription', 1, unix_timestamp() * 1000,
unix_timestamp() * 1000, 'admin', 1, 1, 1, 'http://localhost:8080', 1, 0);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, api_test,
load_test, ui_test, server_url, all_org, deleted)
unix_timestamp() * 1000, 'admin', 'http://localhost:8080', 1, 0);
replace into test_resource_pool(id, name, type, description, enable, create_time, update_time, create_user, server_url, all_org, deleted)
values ('resourcePoolId1', 'resourcePoolName1', 'node', 'resourcePoolDescription', 1, unix_timestamp() * 1000,
unix_timestamp() * 1000, 'admin', 1, 1, 1, 'http://localhost:8080', 1, 0);
unix_timestamp() * 1000, 'admin', 'http://localhost:8080', 1, 0);
replace into project_test_resource_pool(project_id, test_resource_pool_id) value ('projectId', 'resourcePoolId');
replace into project_test_resource_pool(project_id, test_resource_pool_id) value ('projectId', 'resourcePoolId1');
replace into test_resource_pool_organization(id , test_resource_pool_id, org_id) value (UUID_SHORT(),'resourcePoolId', '100001');

View File

@ -1,4 +1,4 @@
# 插入测试数据
INSERT INTO `test_resource_pool` VALUES ('102','test_pool_one', 'node', '1', 1, '1686634885000', '1686634885000', 'TCP', 0, 0, 0, NULL, 1,0);
INSERT INTO `test_resource_pool` VALUES ('103','test_pool_two', 'node', '1', 1, '1686634885000', '1686634885000', 'TCP', 0, 0, 0, NULL, 1,0);
INSERT INTO `test_resource_pool` VALUES ('104','test_pool_three', 'node', '1', 1, '1686634885000', '1686634885000', 'TCP', 0, 0, 0, NULL, 1,0);
INSERT INTO `test_resource_pool` VALUES ('102','test_pool_one', 'node', '1', 1, '1686634885000', '1686634885000', 'TCP', NULL, 1,0);
INSERT INTO `test_resource_pool` VALUES ('103','test_pool_two', 'node', '1', 1, '1686634885000', '1686634885000', 'TCP', NULL, 1,0);
INSERT INTO `test_resource_pool` VALUES ('104','test_pool_three', 'node', '1', 1, '1686634885000', '1686634885000', 'TCP', NULL, 1,0);

View File

@ -60,7 +60,7 @@ jmeter.home=/opt/jmeter
spring.servlet.multipart.max-file-size=500MB
spring.servlet.multipart.max-request-size=500MB
# i18n
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/load,i18n/plan,i18n/project,i18n/system,i18n/ui,i18n/workstation
spring.messages.basename=i18n/commons,i18n/api,i18n/bug,i18n/case,i18n/plan,i18n/project,i18n/system
# actuator
management.endpoints.web.exposure.include=*
management.endpoints.enabled-by-default=false