Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
MeterSphere
metersphere
提交
fdb6d690
M
metersphere
项目概览
MeterSphere
/
metersphere
上一次同步 大约 3 年
通知
25
Star
1
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
M
metersphere
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fdb6d690
编写于
3月 23, 2020
作者:
C
Captain.B
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
engine
上级
e699eaf0
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
48 addition
and
135 deletion
+48
-135
backend/src/main/java/io/metersphere/base/domain/FileMetadata.java
...rc/main/java/io/metersphere/base/domain/FileMetadata.java
+0
-10
backend/src/main/java/io/metersphere/base/domain/FileMetadataExample.java
.../java/io/metersphere/base/domain/FileMetadataExample.java
+0
-70
backend/src/main/java/io/metersphere/base/mapper/FileMetadataMapper.xml
...in/java/io/metersphere/base/mapper/FileMetadataMapper.xml
+5
-20
backend/src/main/java/io/metersphere/commons/constants/EngineType.java
...ain/java/io/metersphere/commons/constants/EngineType.java
+0
-5
backend/src/main/java/io/metersphere/engine/EngineContext.java
...nd/src/main/java/io/metersphere/engine/EngineContext.java
+0
-9
backend/src/main/java/io/metersphere/engine/EngineFactory.java
...nd/src/main/java/io/metersphere/engine/EngineFactory.java
+33
-6
backend/src/main/java/io/metersphere/engine/kubernetes/KubernetesTestEngine.java
...o/metersphere/engine/kubernetes/KubernetesTestEngine.java
+0
-1
backend/src/main/java/io/metersphere/service/FuctionalTestService.java
...ain/java/io/metersphere/service/FuctionalTestService.java
+0
-5
backend/src/main/java/io/metersphere/service/LoadTestService.java
...src/main/java/io/metersphere/service/LoadTestService.java
+4
-6
backend/src/main/java/io/metersphere/service/TestResourcePoolService.java
.../java/io/metersphere/service/TestResourcePoolService.java
+4
-0
backend/src/main/resources/db/migration/V2__metersphere_ddl.sql
...d/src/main/resources/db/migration/V2__metersphere_ddl.sql
+0
-1
backend/src/main/resources/generatorConfig.xml
backend/src/main/resources/generatorConfig.xml
+2
-2
未找到文件。
backend/src/main/java/io/metersphere/base/domain/FileMetadata.java
浏览文件 @
fdb6d690
...
...
@@ -9,8 +9,6 @@ public class FileMetadata implements Serializable {
private
String
type
;
private
String
engine
;
private
Long
createTime
;
private
Long
updateTime
;
...
...
@@ -43,14 +41,6 @@ public class FileMetadata implements Serializable {
this
.
type
=
type
==
null
?
null
:
type
.
trim
();
}
public
String
getEngine
()
{
return
engine
;
}
public
void
setEngine
(
String
engine
)
{
this
.
engine
=
engine
==
null
?
null
:
engine
.
trim
();
}
public
Long
getCreateTime
()
{
return
createTime
;
}
...
...
backend/src/main/java/io/metersphere/base/domain/FileMetadataExample.java
浏览文件 @
fdb6d690
...
...
@@ -314,76 +314,6 @@ public class FileMetadataExample {
return
(
Criteria
)
this
;
}
public
Criteria
andEngineIsNull
()
{
addCriterion
(
"engine is null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineIsNotNull
()
{
addCriterion
(
"engine is not null"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineEqualTo
(
String
value
)
{
addCriterion
(
"engine ="
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineNotEqualTo
(
String
value
)
{
addCriterion
(
"engine <>"
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineGreaterThan
(
String
value
)
{
addCriterion
(
"engine >"
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineGreaterThanOrEqualTo
(
String
value
)
{
addCriterion
(
"engine >="
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineLessThan
(
String
value
)
{
addCriterion
(
"engine <"
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineLessThanOrEqualTo
(
String
value
)
{
addCriterion
(
"engine <="
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineLike
(
String
value
)
{
addCriterion
(
"engine like"
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineNotLike
(
String
value
)
{
addCriterion
(
"engine not like"
,
value
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineIn
(
List
<
String
>
values
)
{
addCriterion
(
"engine in"
,
values
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineNotIn
(
List
<
String
>
values
)
{
addCriterion
(
"engine not in"
,
values
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"engine between"
,
value1
,
value2
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andEngineNotBetween
(
String
value1
,
String
value2
)
{
addCriterion
(
"engine not between"
,
value1
,
value2
,
"engine"
);
return
(
Criteria
)
this
;
}
public
Criteria
andCreateTimeIsNull
()
{
addCriterion
(
"create_time is null"
);
return
(
Criteria
)
this
;
...
...
backend/src/main/java/io/metersphere/base/mapper/FileMetadataMapper.xml
浏览文件 @
fdb6d690
...
...
@@ -5,7 +5,6 @@
<id
column=
"id"
jdbcType=
"VARCHAR"
property=
"id"
/>
<result
column=
"name"
jdbcType=
"VARCHAR"
property=
"name"
/>
<result
column=
"type"
jdbcType=
"VARCHAR"
property=
"type"
/>
<result
column=
"engine"
jdbcType=
"VARCHAR"
property=
"engine"
/>
<result
column=
"create_time"
jdbcType=
"BIGINT"
property=
"createTime"
/>
<result
column=
"update_time"
jdbcType=
"BIGINT"
property=
"updateTime"
/>
<result
column=
"size"
jdbcType=
"BIGINT"
property=
"size"
/>
...
...
@@ -69,7 +68,7 @@
</where>
</sql>
<sql
id=
"Base_Column_List"
>
id, name, type,
engine,
create_time, update_time, size
id, name, type, create_time, update_time, size
</sql>
<select
id=
"selectByExample"
parameterType=
"io.metersphere.base.domain.FileMetadataExample"
resultMap=
"BaseResultMap"
>
select
...
...
@@ -103,11 +102,11 @@
</delete>
<insert
id=
"insert"
parameterType=
"io.metersphere.base.domain.FileMetadata"
>
insert into file_metadata (id, name, type,
engine, create_time, update_time,
size
)
create_time, update_time, size
)
values (#{id,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, #{type,jdbcType=VARCHAR},
#{
engine,jdbcType=VARCHAR}, #{createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT},
#{size,jdbcType=BIGINT}
)
#{
createTime,jdbcType=BIGINT}, #{updateTime,jdbcType=BIGINT}, #{size,jdbcType=BIGINT}
)
</insert>
<insert
id=
"insertSelective"
parameterType=
"io.metersphere.base.domain.FileMetadata"
>
insert into file_metadata
...
...
@@ -121,9 +120,6 @@
<if
test=
"type != null"
>
type,
</if>
<if
test=
"engine != null"
>
engine,
</if>
<if
test=
"createTime != null"
>
create_time,
</if>
...
...
@@ -144,9 +140,6 @@
<if
test=
"type != null"
>
#{type,jdbcType=VARCHAR},
</if>
<if
test=
"engine != null"
>
#{engine,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
#{createTime,jdbcType=BIGINT},
</if>
...
...
@@ -176,9 +169,6 @@
<if
test=
"record.type != null"
>
type = #{record.type,jdbcType=VARCHAR},
</if>
<if
test=
"record.engine != null"
>
engine = #{record.engine,jdbcType=VARCHAR},
</if>
<if
test=
"record.createTime != null"
>
create_time = #{record.createTime,jdbcType=BIGINT},
</if>
...
...
@@ -198,7 +188,6 @@
set id = #{record.id,jdbcType=VARCHAR},
name = #{record.name,jdbcType=VARCHAR},
type = #{record.type,jdbcType=VARCHAR},
engine = #{record.engine,jdbcType=VARCHAR},
create_time = #{record.createTime,jdbcType=BIGINT},
update_time = #{record.updateTime,jdbcType=BIGINT},
size = #{record.size,jdbcType=BIGINT}
...
...
@@ -215,9 +204,6 @@
<if
test=
"type != null"
>
type = #{type,jdbcType=VARCHAR},
</if>
<if
test=
"engine != null"
>
engine = #{engine,jdbcType=VARCHAR},
</if>
<if
test=
"createTime != null"
>
create_time = #{createTime,jdbcType=BIGINT},
</if>
...
...
@@ -234,7 +220,6 @@
update file_metadata
set name = #{name,jdbcType=VARCHAR},
type = #{type,jdbcType=VARCHAR},
engine = #{engine,jdbcType=VARCHAR},
create_time = #{createTime,jdbcType=BIGINT},
update_time = #{updateTime,jdbcType=BIGINT},
size = #{size,jdbcType=BIGINT}
...
...
backend/src/main/java/io/metersphere/commons/constants/EngineType.java
已删除
100644 → 0
浏览文件 @
e699eaf0
package
io.metersphere.commons.constants
;
public
enum
EngineType
{
DOCKER
,
KUBERNETES
}
backend/src/main/java/io/metersphere/engine/EngineContext.java
浏览文件 @
fdb6d690
...
...
@@ -7,7 +7,6 @@ public class EngineContext {
private
String
testId
;
private
String
testName
;
private
String
namespace
;
private
String
engineType
;
private
String
fileType
;
private
String
content
;
private
Map
<
String
,
Object
>
properties
=
new
HashMap
<>();
...
...
@@ -37,14 +36,6 @@ public class EngineContext {
this
.
namespace
=
namespace
;
}
public
String
getEngineType
()
{
return
engineType
;
}
public
void
setEngineType
(
String
engineType
)
{
this
.
engineType
=
engineType
;
}
public
void
addProperty
(
String
key
,
Object
value
)
{
this
.
properties
.
put
(
key
,
value
);
}
...
...
backend/src/main/java/io/metersphere/engine/EngineFactory.java
浏览文件 @
fdb6d690
...
...
@@ -5,7 +5,8 @@ import com.alibaba.fastjson.JSONObject;
import
io.metersphere.base.domain.FileContent
;
import
io.metersphere.base.domain.FileMetadata
;
import
io.metersphere.base.domain.LoadTestWithBLOBs
;
import
io.metersphere.commons.constants.EngineType
;
import
io.metersphere.base.domain.TestResourcePool
;
import
io.metersphere.commons.constants.ResourcePoolTypeEnum
;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.engine.docker.DockerTestEngine
;
import
io.metersphere.engine.kubernetes.KubernetesTestEngine
;
...
...
@@ -13,6 +14,7 @@ import io.metersphere.i18n.Translator;
import
io.metersphere.parse.EngineSourceParser
;
import
io.metersphere.parse.EngineSourceParserFactory
;
import
io.metersphere.service.FileService
;
import
io.metersphere.service.TestResourcePoolService
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.stereotype.Service
;
...
...
@@ -26,14 +28,35 @@ import java.util.Map;
@Service
public
class
EngineFactory
{
private
static
FileService
fileService
;
private
static
TestResourcePoolService
testResourcePoolService
;
public
static
Engine
createEngine
(
String
engineType
)
{
final
EngineType
type
=
EngineType
.
valueOf
(
engineType
);
public
static
Engine
createEngine
(
LoadTestWithBLOBs
loadTest
)
{
String
resourcePoolId
=
null
;
if
(!
StringUtils
.
isEmpty
(
loadTest
.
getLoadConfiguration
()))
{
final
JSONArray
jsonArray
=
JSONObject
.
parseArray
(
loadTest
.
getLoadConfiguration
());
for
(
int
i
=
0
;
i
<
jsonArray
.
size
();
i
++)
{
final
JSONObject
jsonObject
=
jsonArray
.
getJSONObject
(
i
);
if
(
StringUtils
.
equals
(
jsonObject
.
getString
(
"key"
),
"resourcePoolId"
))
{
resourcePoolId
=
jsonObject
.
getString
(
"value"
);
break
;
}
}
}
if
(
StringUtils
.
isBlank
(
resourcePoolId
))
{
MSException
.
throwException
(
"Resource Pool ID is empty."
);
}
TestResourcePool
resourcePool
=
testResourcePoolService
.
getResourcePool
(
resourcePoolId
);
if
(
resourcePool
==
null
)
{
MSException
.
throwException
(
"Resource Pool is empty."
);
}
final
ResourcePoolTypeEnum
type
=
ResourcePoolTypeEnum
.
valueOf
(
resourcePool
.
getType
());
switch
(
type
)
{
case
DOCKER
:
case
NODE
:
return
new
DockerTestEngine
();
case
K
UBERNETE
S:
case
K
8
S:
return
new
KubernetesTestEngine
();
}
return
null
;
...
...
@@ -48,7 +71,6 @@ public class EngineFactory {
engineContext
.
setTestId
(
loadTest
.
getId
());
engineContext
.
setTestName
(
loadTest
.
getName
());
engineContext
.
setNamespace
(
loadTest
.
getProjectId
());
engineContext
.
setEngineType
(
fileMetadata
.
getEngine
());
engineContext
.
setFileType
(
fileMetadata
.
getType
());
if
(!
StringUtils
.
isEmpty
(
loadTest
.
getLoadConfiguration
()))
{
...
...
@@ -86,4 +108,9 @@ public class EngineFactory {
private
void
setFileService
(
FileService
fileService
)
{
EngineFactory
.
fileService
=
fileService
;
}
@Resource
public
void
setTestResourcePoolService
(
TestResourcePoolService
testResourcePoolService
)
{
EngineFactory
.
testResourcePoolService
=
testResourcePoolService
;
}
}
backend/src/main/java/io/metersphere/engine/kubernetes/KubernetesTestEngine.java
浏览文件 @
fdb6d690
...
...
@@ -14,7 +14,6 @@ import io.metersphere.engine.kubernetes.provider.ClientCredential;
import
io.metersphere.engine.kubernetes.provider.KubernetesProvider
;
import
io.metersphere.service.TestResourcePoolService
;
import
org.apache.commons.collections.MapUtils
;
import
org.junit.Test
;
import
java.util.HashMap
;
...
...
backend/src/main/java/io/metersphere/service/FuctionalTestService.java
浏览文件 @
fdb6d690
...
...
@@ -3,12 +3,9 @@ package io.metersphere.service;
import
io.metersphere.base.domain.*
;
import
io.metersphere.base.mapper.*
;
import
io.metersphere.base.mapper.ext.ExtFunctionalTestMapper
;
import
io.metersphere.commons.constants.EngineType
;
import
io.metersphere.commons.exception.MSException
;
import
io.metersphere.controller.request.testplan.*
;
import
io.metersphere.dto.FunctionalTestDTO
;
import
io.metersphere.engine.Engine
;
import
io.metersphere.engine.EngineFactory
;
import
io.metersphere.i18n.Translator
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -94,8 +91,6 @@ public class FuctionalTestService {
fileMetadata
.
setCreateTime
(
System
.
currentTimeMillis
());
fileMetadata
.
setUpdateTime
(
System
.
currentTimeMillis
());
fileMetadata
.
setType
(
"jmx"
);
// TODO engine 选择
fileMetadata
.
setEngine
(
EngineType
.
DOCKER
.
name
());
fileMetadataMapper
.
insert
(
fileMetadata
);
FileContent
fileContent
=
new
FileContent
();
...
...
backend/src/main/java/io/metersphere/service/LoadTestService.java
浏览文件 @
fdb6d690
...
...
@@ -6,7 +6,6 @@ import io.metersphere.base.mapper.FileMetadataMapper;
import
io.metersphere.base.mapper.LoadTestFileMapper
;
import
io.metersphere.base.mapper.LoadTestMapper
;
import
io.metersphere.base.mapper.ext.ExtLoadTestMapper
;
import
io.metersphere.commons.constants.EngineType
;
import
io.metersphere.commons.constants.FileType
;
import
io.metersphere.commons.constants.TestStatus
;
import
io.metersphere.commons.exception.MSException
;
...
...
@@ -45,6 +44,8 @@ public class LoadTestService {
private
LoadTestFileMapper
loadTestFileMapper
;
@Resource
private
FileService
fileService
;
@Resource
private
TestResourcePoolService
testResourcePoolService
;
public
List
<
LoadTestDTO
>
list
(
QueryTestPlanRequest
request
)
{
return
extLoadTestMapper
.
list
(
request
);
...
...
@@ -102,8 +103,6 @@ public class LoadTestService {
fileMetadata
.
setUpdateTime
(
System
.
currentTimeMillis
());
FileType
fileType
=
getFileType
(
fileMetadata
.
getName
());
fileMetadata
.
setType
(
fileType
.
name
());
// TODO engine 选择
fileMetadata
.
setEngine
(
EngineType
.
DOCKER
.
name
());
fileMetadataMapper
.
insert
(
fileMetadata
);
FileContent
fileContent
=
new
FileContent
();
...
...
@@ -179,9 +178,8 @@ public class LoadTestService {
List
<
FileMetadata
>
csvFiles
=
fileMetadataList
.
stream
().
filter
(
f
->
StringUtils
.
equalsIgnoreCase
(
f
.
getType
(),
FileType
.
CSV
.
name
())).
collect
(
Collectors
.
toList
());
LogUtil
.
info
(
"Load test started "
+
loadTest
.
getName
());
// engine type (DOCKER|KUBERNETES)
// todo set type
final
Engine
engine
=
EngineFactory
.
createEngine
(
fileMetadata
.
getEngine
());
// engine type (NODE|K8S)
final
Engine
engine
=
EngineFactory
.
createEngine
(
loadTest
);
if
(
engine
==
null
)
{
MSException
.
throwException
(
String
.
format
(
"Test cannot be run,test ID:%s,file type:%s"
,
request
.
getId
(),
fileMetadata
.
getType
()));
}
...
...
backend/src/main/java/io/metersphere/service/TestResourcePoolService.java
浏览文件 @
fdb6d690
...
...
@@ -113,4 +113,8 @@ public class TestResourcePoolService {
}
testResourcePool
.
setInfo
(
JSON
.
toJSONString
(
dtos
));
}
public
TestResourcePool
getResourcePool
(
String
resourcePoolId
)
{
return
testResourcePoolMapper
.
selectByPrimaryKey
(
resourcePoolId
);
}
}
backend/src/main/resources/db/migration/V2__metersphere_ddl.sql
浏览文件 @
fdb6d690
...
...
@@ -11,7 +11,6 @@ CREATE TABLE IF NOT EXISTS `file_metadata` (
`id`
varchar
(
64
)
NOT
NULL
COMMENT
'File ID'
,
`name`
varchar
(
64
)
NOT
NULL
COMMENT
'File name'
,
`type`
varchar
(
64
)
DEFAULT
NULL
COMMENT
'File type'
,
`engine`
varchar
(
64
)
DEFAULT
'DOCKER'
COMMENT
'engine type'
,
`size`
bigint
(
13
)
NOT
NULL
COMMENT
'File size'
,
`create_time`
bigint
(
13
)
NOT
NULL
COMMENT
'Create timestamp'
,
`update_time`
bigint
(
13
)
NOT
NULL
COMMENT
'Update timestamp'
,
...
...
backend/src/main/resources/generatorConfig.xml
浏览文件 @
fdb6d690
...
...
@@ -48,7 +48,7 @@
<!-- <table tableName="user"/>-->
<!-- <table tableName="user_role"/>-->
<!-- <table tableName="workspace"/>-->
<table
tableName=
"test_resource_pool"
/
>
<!-- <table tableName="test_resource_pool"/>--
>
<!-- <table tableName="test_resource"/>-->
<!-- <table tableName="system_parameter"/>-->
<!-- <table tableName="role"/>-->
...
...
@@ -57,7 +57,7 @@
<!-- <table tableName="load_test_report"/>-->
<!-- <table tableName="load_test"/>-->
<!-- <table tableName="file_content"/>-->
<!-- <table tableName="file_metadata"/>--
>
<table
tableName=
"file_metadata"
/
>
<!-- <table tableName="load_test_file"/>-->
</context>
</generatorConfiguration>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录