Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
kt-keystone
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
kt-keystone
Commits
c0080236
提交
c0080236
authored
3月 23, 2022
作者:
黄夏豪
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(base): 修复了case执行器,如果前端不给detail会出现空指针的情况
上级
7ab813c0
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
41 行增加
和
20 行删除
+41
-20
ExecutionSocketHandler.java
...c/main/java/org/matrix/socket/ExecutionSocketHandler.java
+12
-7
LogQueueRuntime.java
...rc/main/java/org/matrix/socket/queue/LogQueueRuntime.java
+0
-13
SocketResponseMessage.java
...main/java/org/matrix/socket/vo/SocketResponseMessage.java
+29
-0
没有找到文件。
kt-base/src/main/java/org/matrix/socket/ExecutionSocketHandler.java
浏览文件 @
c0080236
...
@@ -20,6 +20,7 @@ import org.matrix.socket.enums.SocketType;
...
@@ -20,6 +20,7 @@ import org.matrix.socket.enums.SocketType;
import
org.matrix.socket.pool.MonitorSocketPool
;
import
org.matrix.socket.pool.MonitorSocketPool
;
import
org.matrix.socket.vo.CaseExecuteVo
;
import
org.matrix.socket.vo.CaseExecuteVo
;
import
org.matrix.socket.vo.ExecuteMonitorVo
;
import
org.matrix.socket.vo.ExecuteMonitorVo
;
import
org.matrix.socket.vo.SocketResponseMessage
;
import
org.matrix.socket.vo.SocketVo
;
import
org.matrix.socket.vo.SocketVo
;
import
org.matrix.testNg.web.entity.DataBean
;
import
org.matrix.testNg.web.entity.DataBean
;
import
org.matrix.testNg.web.entity.DataBeans
;
import
org.matrix.testNg.web.entity.DataBeans
;
...
@@ -89,23 +90,27 @@ public class ExecutionSocketHandler extends TextWebSocketHandler {
...
@@ -89,23 +90,27 @@ public class ExecutionSocketHandler extends TextWebSocketHandler {
}
else
if
(
SocketType
.
TEST_JOB_EXECUTE
.
equals
(
socketVo
.
getSocketType
()))
{
}
else
if
(
SocketType
.
TEST_JOB_EXECUTE
.
equals
(
socketVo
.
getSocketType
()))
{
CaseExecuteVo
caseExecuteVo
=
JSON
.
parseObject
(
payload
,
CaseExecuteVo
.
class
);
CaseExecuteVo
caseExecuteVo
=
JSON
.
parseObject
(
payload
,
CaseExecuteVo
.
class
);
TestJob
byId
=
testJobService
.
getById
(
caseExecuteVo
.
getJobId
());
TestJob
byId
=
testJobService
.
getById
(
caseExecuteVo
.
getJobId
());
if
(
byId
==
null
){
throw
new
GlobalException
(
String
.
format
(
"执行错误,测试任务Id:%s 不存在"
,
caseExecuteVo
.
getJobId
()));
}
String
sqlStatement
=
byId
.
getSqlStatement
();
String
sqlStatement
=
byId
.
getSqlStatement
();
dataSourceService
.
switchMainDataSource
();
dataSourceService
.
switchMainDataSource
();
List
<
Map
<
String
,
Object
>>
list
=
jdbcTemplate
.
queryForList
(
sqlStatement
);
List
<
Map
<
String
,
Object
>>
list
=
jdbcTemplate
.
queryForList
(
sqlStatement
);
List
<
TestCase
>
testCaseList
=
new
ArrayList
<>();
for
(
Map
<
String
,
Object
>
objectMap
:
list
)
{
for
(
Map
<
String
,
Object
>
objectMap
:
list
)
{
TestCase
testCase
=
BeanUtil
.
mapToBean
(
objectMap
,
TestCase
.
class
,
false
);
TestCase
testCase
=
BeanUtil
.
mapToBean
(
objectMap
,
TestCase
.
class
,
false
);
testCaseList
.
add
(
testCase
);
}
for
(
TestCase
testCase
:
testCaseList
)
{
List
<
TestData
>
testDataList
=
testDataService
.
list
(
Wrappers
.
lambdaQuery
(
TestData
.
class
).
eq
(
TestData:
:
getTestCaseId
,
testCase
.
getId
()));
List
<
TestData
>
testDataList
=
testDataService
.
list
(
Wrappers
.
lambdaQuery
(
TestData
.
class
).
eq
(
TestData:
:
getTestCaseId
,
testCase
.
getId
()));
if
(
testDataList
.
size
()==
0
){
throw
new
GlobalException
(
String
.
format
(
"执行错误,测试任务ID:%s 用例Id:%s 用例名:%s 中不存在需要测试的数据组"
,
caseExecuteVo
.
getJobId
(),
testCase
.
getId
(),
testCase
.
getName
()));
}
TestCaseListDataBto
testCaseListDataBto
=
new
TestCaseListDataBto
();
TestCaseListDataBto
testCaseListDataBto
=
new
TestCaseListDataBto
();
testCaseListDataBto
.
setTestCase
(
testCase
);
testCaseListDataBto
.
setTestCase
(
testCase
);
testCaseListDataBto
.
setTestDataList
(
testDataList
);
testCaseListDataBto
.
setTestDataList
(
testDataList
);
//检查一下这些case里有没有东西,如果没有东西就不执行了
caseExecuteVo
.
getTestCaseListDataBtoList
().
add
(
testCaseListDataBto
);
caseExecuteVo
.
getTestCaseListDataBtoList
().
add
(
testCaseListDataBto
);
}
}
if
(
testCaseList
.
size
()
>
0
)
{
caseExecuteVo
.
setProjectId
(
testCaseList
.
get
(
0
).
getProjectId
());
if
(
caseExecuteVo
.
getTestCaseListDataBtoList
().
size
()
>
0
)
{
caseExecuteVo
.
setProjectId
(
caseExecuteVo
.
getTestCaseListDataBtoList
().
get
(
0
).
getTestCase
().
getProjectId
());
}
}
RunCaseResult
runCaseResult
=
caseActuator
.
runTestCase
(
session
,
caseExecuteVo
);
RunCaseResult
runCaseResult
=
caseActuator
.
runTestCase
(
session
,
caseExecuteVo
);
ReportMessage
reportMessage
=
testNg
.
getReporterUrls
(
initTestNgData
(
runCaseResult
,
caseExecuteVo
));
ReportMessage
reportMessage
=
testNg
.
getReporterUrls
(
initTestNgData
(
runCaseResult
,
caseExecuteVo
));
...
@@ -125,7 +130,7 @@ public class ExecutionSocketHandler extends TextWebSocketHandler {
...
@@ -125,7 +130,7 @@ public class ExecutionSocketHandler extends TextWebSocketHandler {
}
}
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
session
.
sendMessage
(
new
TextMessage
(
e
.
getMessage
(
)));
session
.
sendMessage
(
new
TextMessage
(
SocketResponseMessage
.
fail
(
e
.
getMessage
()
)));
}
}
}
}
...
...
kt-base/src/main/java/org/matrix/socket/queue/LogQueueRuntime.java
浏览文件 @
c0080236
...
@@ -139,19 +139,6 @@ public class LogQueueRuntime {
...
@@ -139,19 +139,6 @@ public class LogQueueRuntime {
LogQueueRuntime
.
put
(
ThreadUtil
.
currentThreadId
(),
testExecuteLog
);
LogQueueRuntime
.
put
(
ThreadUtil
.
currentThreadId
(),
testExecuteLog
);
}
}
public
static
Boolean
checkJobIsInRun
(
Long
jobId
,
Long
userId
,
TestExecuteType
type
)
{
TestExecuteLog
testExecuteLog
=
new
TestExecuteLog
();
testExecuteLog
.
setTestJobId
(
jobId
);
testExecuteLog
.
setUserId
(
userId
);
testExecuteLog
.
setType
(
type
);
for
(
TestExecuteLog
value
:
LOG_MAP
.
values
())
{
if
(
value
.
equals
(
testExecuteLog
))
{
return
true
;
}
}
return
false
;
}
public
static
Boolean
checkIsInRun
(
TestExecuteLog
testExecuteLog
)
{
public
static
Boolean
checkIsInRun
(
TestExecuteLog
testExecuteLog
)
{
for
(
TestExecuteLog
value
:
LOG_MAP
.
values
())
{
for
(
TestExecuteLog
value
:
LOG_MAP
.
values
())
{
if
(
value
.
equals
(
testExecuteLog
))
{
if
(
value
.
equals
(
testExecuteLog
))
{
...
...
kt-base/src/main/java/org/matrix/socket/vo/SocketResponseMessage.java
0 → 100644
浏览文件 @
c0080236
package
org
.
matrix
.
socket
.
vo
;
import
cn.hutool.http.HttpStatus
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
/**
* socket的返回标准版
* @author Administrator
*/
@Data
@AllArgsConstructor
public
class
SocketResponseMessage
{
private
int
code
;
private
String
message
;
public
static
String
success
(
String
message
){
return
JSONObject
.
toJSONString
(
new
SocketResponseMessage
(
HttpStatus
.
HTTP_OK
,
message
));
}
public
static
String
fail
(
String
message
){
return
JSONObject
.
toJSONString
(
new
SocketResponseMessage
(
HttpStatus
.
HTTP_INTERNAL_ERROR
,
message
));
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论