Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zentaoatf
提交
4b61416e
Z
zentaoatf
项目概览
易企天创
/
zentaoatf
12 个月 前同步成功
通知
11
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zentaoatf
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4b61416e
编写于
2月 10, 2022
作者:
aaronchen2k2k
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
clean codes
上级
2a68f17b
变更
64
隐藏空白更改
内联
并排
Showing
64 changed file
with
75 addition
and
1614 deletion
+75
-1614
internal/agent/config/config.go
internal/agent/config/config.go
+0
-14
internal/agent/config/consts.go
internal/agent/config/consts.go
+0
-5
internal/agent/config/var.go
internal/agent/config/var.go
+0
-10
internal/agent/core/cron/cron.go
internal/agent/core/cron/cron.go
+0
-51
internal/agent/core/viper/index.go
internal/agent/core/viper/index.go
+0
-76
internal/agent/core/zap/index.go
internal/agent/core/zap/index.go
+0
-53
internal/agent/modules/arith/arith.go
internal/agent/modules/arith/arith.go
+0
-19
internal/agent/modules/arith/request.go
internal/agent/modules/arith/request.go
+0
-6
internal/agent/modules/arith/response.go
internal/agent/modules/arith/response.go
+0
-5
internal/agent/modules/arith/test/http_upload_test.go
internal/agent/modules/arith/test/http_upload_test.go
+0
-25
internal/agent/modules/grpc/index.go
internal/agent/modules/grpc/index.go
+0
-38
internal/agent/modules/grpc/service/greeter.go
internal/agent/modules/grpc/service/greeter.go
+0
-14
internal/agent/modules/grpc/test/grpc_test.go
internal/agent/modules/grpc/test/grpc_test.go
+0
-37
internal/agent/modules/grpc/test/http_test.go
internal/agent/modules/grpc/test/http_test.go
+0
-40
internal/comm/consts/var.go
internal/comm/consts/var.go
+1
-1
internal/comm/helper/script/asset.go
internal/comm/helper/script/asset.go
+1
-2
internal/comm/helper/script/extract.go
internal/comm/helper/script/extract.go
+2
-2
internal/pkg/domain/struct.go
internal/pkg/domain/struct.go
+6
-12
internal/pkg/lib/i118/i118.go
internal/pkg/lib/i118/i118.go
+0
-1
internal/server/core/web/index.go
internal/server/core/web/index.go
+0
-3
internal/server/middleware/initcheck.go
internal/server/middleware/initcheck.go
+13
-5
internal/server/modules/v1/controller/config.go
internal/server/modules/v1/controller/config.go
+7
-13
internal/server/modules/v1/controller/file.go
internal/server/modules/v1/controller/file.go
+3
-3
internal/server/modules/v1/controller/product.go
internal/server/modules/v1/controller/product.go
+0
-128
internal/server/modules/v1/controller/project.go
internal/server/modules/v1/controller/project.go
+9
-9
internal/server/modules/v1/controller/sync.go
internal/server/modules/v1/controller/sync.go
+2
-2
internal/server/modules/v1/controller/test-bug.go
internal/server/modules/v1/controller/test-bug.go
+4
-4
internal/server/modules/v1/controller/test-case.go
internal/server/modules/v1/controller/test-case.go
+0
-14
internal/server/modules/v1/controller/test-exec.go
internal/server/modules/v1/controller/test-exec.go
+3
-3
internal/server/modules/v1/controller/test-result.go
internal/server/modules/v1/controller/test-result.go
+1
-1
internal/server/modules/v1/controller/test-script.go
internal/server/modules/v1/controller/test-script.go
+2
-2
internal/server/modules/v1/controller/test-set.go
internal/server/modules/v1/controller/test-set.go
+0
-14
internal/server/modules/v1/controller/test-suite.go
internal/server/modules/v1/controller/test-suite.go
+0
-14
internal/server/modules/v1/controller/zentao.go
internal/server/modules/v1/controller/zentao.go
+9
-9
internal/server/modules/v1/domain/test-case.go
internal/server/modules/v1/domain/test-case.go
+0
-13
internal/server/modules/v1/domain/test-script.go
internal/server/modules/v1/domain/test-script.go
+6
-7
internal/server/modules/v1/index.go
internal/server/modules/v1/index.go
+0
-3
internal/server/modules/v1/index/product.go
internal/server/modules/v1/index/product.go
+0
-29
internal/server/modules/v1/index/test-case.go
internal/server/modules/v1/index/test-case.go
+0
-24
internal/server/modules/v1/index/test-set.go
internal/server/modules/v1/index/test-set.go
+0
-24
internal/server/modules/v1/index/test-suite.go
internal/server/modules/v1/index/test-suite.go
+0
-24
internal/server/modules/v1/model/models.go
internal/server/modules/v1/model/models.go
+0
-5
internal/server/modules/v1/model/product.go
internal/server/modules/v1/model/product.go
+0
-15
internal/server/modules/v1/model/test-case.go
internal/server/modules/v1/model/test-case.go
+0
-13
internal/server/modules/v1/model/test-exec.go
internal/server/modules/v1/model/test-exec.go
+0
-13
internal/server/modules/v1/model/test-script.go
internal/server/modules/v1/model/test-script.go
+0
-16
internal/server/modules/v1/model/test-set.go
internal/server/modules/v1/model/test-set.go
+0
-16
internal/server/modules/v1/model/test-suite.go
internal/server/modules/v1/model/test-suite.go
+0
-16
internal/server/modules/v1/repo/product.go
internal/server/modules/v1/repo/product.go
+0
-169
internal/server/modules/v1/repo/test-case.go
internal/server/modules/v1/repo/test-case.go
+0
-117
internal/server/modules/v1/repo/test-exec.go
internal/server/modules/v1/repo/test-exec.go
+0
-14
internal/server/modules/v1/repo/test-script.go
internal/server/modules/v1/repo/test-script.go
+0
-117
internal/server/modules/v1/repo/test-set.go
internal/server/modules/v1/repo/test-set.go
+0
-114
internal/server/modules/v1/repo/test-suite.go
internal/server/modules/v1/repo/test-suite.go
+0
-116
internal/server/modules/v1/service/product.go
internal/server/modules/v1/service/product.go
+0
-43
internal/server/modules/v1/service/rpc.go
internal/server/modules/v1/service/rpc.go
+0
-49
internal/server/modules/v1/service/test-exec.go
internal/server/modules/v1/service/test-exec.go
+1
-2
internal/server/modules/v1/service/test-set.go
internal/server/modules/v1/service/test-set.go
+0
-8
internal/server/modules/v1/service/test-suite.go
internal/server/modules/v1/service/test-suite.go
+0
-8
res/server/en-US/messages.json
res/server/en-US/messages.json
+0
-0
res/server/zh-CN/messages.json
res/server/zh-CN/messages.json
+0
-0
ui/src/components/SelectLang/index.vue
ui/src/components/SelectLang/index.vue
+1
-1
ui/src/layouts/IndexLayout/components/RightTopProject.vue
ui/src/layouts/IndexLayout/components/RightTopProject.vue
+2
-1
ui/src/utils/request.ts
ui/src/utils/request.ts
+2
-2
未找到文件。
internal/agent/config/config.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
agentConfig
import
myZap
"github.com/aaronchen2k/deeptest/internal/pkg/core/zap"
type
Config
struct
{
System
System
`mapstructure:"system" json:"system" yaml:"system"`
Zap
myZap
.
Zap
`mapstructure:"zap" json:"zap" yaml:"zap"`
}
type
System
struct
{
Level
string
`mapstructure:"level" json:"level" yaml:"level"`
// debug,release,test
Addr
string
`mapstructure:"addr" json:"addr" yaml:"addr"`
TimeFormat
string
`mapstructure:"time-format" json:"timeFormat" yaml:"time-format"`
}
internal/agent/config/consts.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
agentConfig
const
(
AgentCheckInterval
=
60
*
60
)
internal/agent/config/var.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
agentConfig
import
(
"github.com/spf13/viper"
)
var
(
CONFIG
Config
// 配置
VIPER
*
viper
.
Viper
// viper
)
internal/agent/core/cron/cron.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
agentCron
import
(
"fmt"
agentConfig
"github.com/aaronchen2k/deeptest/internal/agent/config"
"github.com/aaronchen2k/deeptest/internal/pkg/lib/cron"
"github.com/aaronchen2k/deeptest/internal/pkg/lib/date"
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/kataras/iris/v12"
"sync"
"time"
)
type
AgentCron
struct
{
syncMap
sync
.
Map
}
func
NewAgentCron
()
*
AgentCron
{
inst
:=
&
AgentCron
{}
return
inst
}
func
(
s
*
AgentCron
)
Init
()
{
s
.
syncMap
.
Store
(
"isRunning"
,
false
)
s
.
syncMap
.
Store
(
"lastCompletedTime"
,
int64
(
0
))
cronUtils
.
AddTask
(
"check"
,
fmt
.
Sprintf
(
"@every %ds"
,
agentConfig
.
AgentCheckInterval
),
func
()
{
isRunning
,
_
:=
s
.
syncMap
.
Load
(
"isRunning"
)
lastCompletedTime
,
_
:=
s
.
syncMap
.
Load
(
"lastCompletedTime"
)
if
isRunning
.
(
bool
)
||
time
.
Now
()
.
Unix
()
-
lastCompletedTime
.
(
int64
)
<
agentConfig
.
AgentCheckInterval
{
logUtils
.
Infof
(
"skip this iteration "
+
dateUtils
.
DateTimeStr
(
time
.
Now
()))
return
}
s
.
syncMap
.
Store
(
"isRunning"
,
true
)
// do somethings
s
.
syncMap
.
Store
(
"isRunning"
,
false
)
s
.
syncMap
.
Store
(
"lastCompletedTime"
,
time
.
Now
()
.
Unix
())
},
)
iris
.
RegisterOnInterrupt
(
func
()
{
cronUtils
.
Stop
()
})
}
internal/agent/core/viper/index.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
agentViper
import
(
"bytes"
"fmt"
agentConfig
"github.com/aaronchen2k/deeptest/internal/agent/config"
"github.com/aaronchen2k/deeptest/internal/pkg/consts"
myZap
"github.com/aaronchen2k/deeptest/internal/pkg/core/zap"
"github.com/fsnotify/fsnotify"
"github.com/snowlyg/helper/dir"
"github.com/spf13/viper"
)
// Init 初始化系统配置
// - 第一次初始化系统配置,会自动生成配置文件 config.yaml 和 casbin 的规则文件 rbac_model.conf
// - 热监控系统配置项,如果发生变化会重写配置文件内的配置项
func
Init
()
{
config
:=
consts
.
ConfigFileAgent
fmt
.
Printf
(
"配置文件路径为%s
\n
"
,
config
)
v
:=
viper
.
New
()
agentConfig
.
VIPER
=
v
agentConfig
.
VIPER
.
SetConfigType
(
"yaml"
)
if
!
dir
.
IsExist
(
config
)
{
//没有配置文件,写入默认配置
var
yamlDefault
=
[]
byte
(
`
system:
level: debug # debug,release,test
addr: "127.0.0.1:8085"
time-format: "2006-01-02 15:04:05"
zap:
level: info
format: console
prefix: '[OP-ONLINE]'
director: log
link-name: latest_log
show-line: true
encode-level: LowercaseColorLevelEncoder
stacktrace-key: stacktrace
log-in-console: true`
)
if
err
:=
agentConfig
.
VIPER
.
ReadConfig
(
bytes
.
NewBuffer
(
yamlDefault
));
err
!=
nil
{
panic
(
fmt
.
Errorf
(
"读取默认配置文件错误: %w "
,
err
))
}
if
err
:=
agentConfig
.
VIPER
.
Unmarshal
(
&
agentConfig
.
CONFIG
);
err
!=
nil
{
panic
(
fmt
.
Errorf
(
"同步配置文件错误: %w "
,
err
))
}
if
err
:=
agentConfig
.
VIPER
.
WriteConfigAs
(
config
);
err
!=
nil
{
panic
(
fmt
.
Errorf
(
"写入配置文件错误: %w "
,
err
))
}
return
}
// 存在配置文件,读取配置文件内容
agentConfig
.
VIPER
.
SetConfigFile
(
config
)
err
:=
agentConfig
.
VIPER
.
ReadInConfig
()
if
err
!=
nil
{
panic
(
fmt
.
Errorf
(
"读取配置错误: %w "
,
err
))
}
// 监控配置文件变化
agentConfig
.
VIPER
.
WatchConfig
()
agentConfig
.
VIPER
.
OnConfigChange
(
func
(
e
fsnotify
.
Event
)
{
fmt
.
Println
(
"配置发生变化:"
,
e
.
Name
)
if
err
:=
agentConfig
.
VIPER
.
Unmarshal
(
&
agentConfig
.
CONFIG
);
err
!=
nil
{
fmt
.
Println
(
err
)
}
})
if
err
:=
v
.
Unmarshal
(
&
agentConfig
.
CONFIG
);
err
!=
nil
{
fmt
.
Println
(
err
)
}
myZap
.
ZapInst
=
agentConfig
.
CONFIG
.
Zap
}
internal/agent/core/zap/index.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
agentZap
import
(
"github.com/aaronchen2k/deeptest/internal/agent/consts"
"github.com/aaronchen2k/deeptest/internal/pkg/core/zap"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/snowlyg/helper/dir"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
// level 日志级别
var
level
zapcore
.
Level
// Init 初始化日志服务
func
Init
()
{
var
logger
*
zap
.
Logger
if
!
dir
.
IsExist
(
agentConsts
.
CONFIG
.
Zap
.
Director
)
{
// 判断是否有Director文件夹
dir
.
InsureDir
(
agentConsts
.
CONFIG
.
Zap
.
Director
)
}
switch
agentConsts
.
CONFIG
.
Zap
.
Level
{
// 初始化配置文件的Level
case
"debug"
:
level
=
zap
.
DebugLevel
case
"info"
:
level
=
zap
.
InfoLevel
case
"warn"
:
level
=
zap
.
WarnLevel
case
"error"
:
level
=
zap
.
ErrorLevel
case
"dpanic"
:
level
=
zap
.
DPanicLevel
case
"panic"
:
level
=
zap
.
PanicLevel
case
"fatal"
:
level
=
zap
.
FatalLevel
default
:
level
=
zap
.
InfoLevel
}
if
level
==
zap
.
DebugLevel
||
level
==
zap
.
ErrorLevel
{
logger
=
zap
.
New
(
myZap
.
GetEncoderCore
(
level
),
zap
.
AddStacktrace
(
level
))
}
else
{
logger
=
zap
.
New
(
myZap
.
GetEncoderCore
(
level
))
}
if
agentConsts
.
CONFIG
.
Zap
.
ShowLine
{
logger
=
logger
.
WithOptions
(
zap
.
AddCaller
())
}
logUtils
.
LoggerStandard
=
logger
}
internal/agent/modules/arith/arith.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
arith
import
(
"fmt"
"golang.org/x/net/context"
)
type
ArithCtrl
struct
{
}
func
NewArithCtrl
()
*
ArithCtrl
{
return
&
ArithCtrl
{}
}
func
(
c
*
ArithCtrl
)
Add
(
ctx
context
.
Context
,
args
*
Request
,
reply
*
Response
)
error
{
reply
.
C
=
args
.
A
+
args
.
B
fmt
.
Printf
(
"call: %d + %d = %d
\n
"
,
args
.
A
,
args
.
B
,
reply
.
C
)
return
nil
}
internal/agent/modules/arith/request.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
arith
type
Request
struct
{
A
int
B
int
}
internal/agent/modules/arith/response.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
arith
type
Response
struct
{
C
int
}
internal/agent/modules/arith/test/http_upload_test.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
rpc
import
(
"encoding/json"
"github.com/aaronchen2k/deeptest/internal/comm/domain"
fileUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/file"
httpUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/http"
"testing"
)
func
TestUpload
(
t
*
testing
.
T
)
{
result
:=
commDomain
.
TestResult
{
Name
:
"RasaResult Title"
}
zipFile
:=
"/Users/aaron/testResult.zip"
result
.
Payload
=
nil
uploadResultUrl
:=
httpUtils
.
GenUrl
(
"http://localhost:8085/"
,
"client/build/uploadResult"
)
files
:=
[]
string
{
zipFile
}
extraParams
:=
map
[
string
]
string
{}
json
,
_
:=
json
.
Marshal
(
result
)
extraParams
[
"result"
]
=
string
(
json
)
fileUtils
.
Upload
(
uploadResultUrl
,
files
,
extraParams
)
}
internal/agent/modules/grpc/index.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
grpc
import
(
agentConsts
"github.com/aaronchen2k/deeptest/internal/agent/consts"
"github.com/aaronchen2k/deeptest/internal/agent/modules/grpc/service"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"google.golang.org/grpc/credentials"
"net"
// [...]
pb
"github.com/aaronchen2k/deeptest/internal/comm/grpc/proto/greater"
"google.golang.org/grpc"
)
func
NewGrpcModule
()
(
grpcServer
*
grpc
.
Server
)
{
listen
,
err
:=
net
.
Listen
(
"tcp"
,
agentConsts
.
CONFIG
.
System
.
Addr
)
if
err
!=
nil
{
logUtils
.
Errorf
(
"failed to listen: %v"
,
err
)
}
creds
,
err
:=
credentials
.
NewServerTLSFromFile
(
"cert/test.pem"
,
"cert/test.key"
)
if
err
!=
nil
{
logUtils
.
Errorf
(
"failed to generate credentials %v"
,
err
.
Error
())
}
var
opts
[]
grpc
.
ServerOption
opts
=
append
(
opts
,
grpc
.
Creds
(
creds
))
//opts = append(opts, grpc.UnaryInterceptor(interceptor))
grpcServer
=
grpc
.
NewServer
(
opts
...
)
grpcServer
=
grpc
.
NewServer
(
grpc
.
Creds
(
creds
))
// register service
pb
.
RegisterGreeterServer
(
grpcServer
,
&
service
.
Greeter
{})
logUtils
.
Infof
(
"start agent"
)
grpcServer
.
Serve
(
listen
)
return
}
internal/agent/modules/grpc/service/greeter.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
service
import
(
"context"
pb
"github.com/aaronchen2k/deeptest/internal/comm/grpc/proto/greater"
)
type
Greeter
struct
{
pb
.
GreeterServer
}
func
(
c
*
Greeter
)
SayHello
(
ctx
context
.
Context
,
in
*
pb
.
HelloRequest
)
(
*
pb
.
HelloReply
,
error
)
{
return
&
pb
.
HelloReply
{
Message
:
"hello "
+
in
.
GetName
()},
nil
}
internal/agent/modules/grpc/test/grpc_test.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
kvm
import
(
pb
"github.com/aaronchen2k/deeptest/internal/comm/grpc/proto/greater"
"golang.org/x/net/context"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"log"
"testing"
"time"
)
const
()
func
TestGrpc
(
t
*
testing
.
T
)
{
// Set up a connection to the server.
creds
,
err
:=
credentials
.
NewClientTLSFromFile
(
"cert/test.pem"
,
"*.deeptest.com"
)
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
conn
,
err
:=
grpc
.
Dial
(
"localhost:8086"
,
grpc
.
WithTransportCredentials
(
creds
))
if
err
!=
nil
{
log
.
Fatalf
(
"did not connect: %v"
,
err
)
}
defer
conn
.
Close
()
c
:=
pb
.
NewGreeterClient
(
conn
)
// Contact the server and print out its response.
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
)
defer
cancel
()
r
,
err
:=
c
.
SayHello
(
ctx
,
&
pb
.
HelloRequest
{
Name
:
"aaron"
})
if
err
!=
nil
{
log
.
Fatalf
(
"could not greet: %v"
,
err
)
}
log
.
Printf
(
"Greeting: %s"
,
r
.
GetMessage
())
}
internal/agent/modules/grpc/test/http_test.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
kvm
import
(
"bytes"
"crypto/tls"
"encoding/json"
pb
"github.com/aaronchen2k/deeptest/internal/comm/grpc/proto/greater"
"log"
"net/http"
"testing"
)
const
()
func
TestHttp
(
t
*
testing
.
T
)
{
tr
:=
&
http
.
Transport
{
TLSClientConfig
:
&
tls
.
Config
{
InsecureSkipVerify
:
true
},
}
client
:=
http
.
Client
{
Transport
:
tr
}
buf
:=
new
(
bytes
.
Buffer
)
err
:=
json
.
NewEncoder
(
buf
)
.
Encode
(
pb
.
HelloRequest
{
Name
:
"aaron"
})
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
resp
,
err
:=
client
.
Post
(
"https://local.deeptest.com:8086/helloworld.Greeter/SayHello"
,
"application/json"
,
buf
)
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
defer
resp
.
Body
.
Close
()
var
reply
pb
.
HelloReply
err
=
json
.
NewDecoder
(
resp
.
Body
)
.
Decode
(
&
reply
)
if
err
!=
nil
{
log
.
Fatal
(
err
)
}
log
.
Printf
(
"Greeting: %s"
,
reply
.
GetMessage
())
}
internal/comm/consts/var.go
浏览文件 @
4b61416e
package
commConsts
var
(
Language
=
"
zh
"
Language
=
""
Verbose
=
true
IsRelease
bool
ExeDir
string
...
...
internal/comm/helper/script/asset.go
浏览文件 @
4b61416e
...
...
@@ -8,7 +8,6 @@ import (
langUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/lang"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
serverDomain
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"github.com/kataras/iris/v12"
"io/ioutil"
"regexp"
...
...
@@ -37,7 +36,7 @@ func LoadScriptByProject(projectPath string) (scriptFiles []string) {
return
}
func
GetScriptContent
(
pth
string
)
(
script
model
.
TestScript
,
err
error
)
{
func
GetScriptContent
(
pth
string
)
(
script
serverDomain
.
TestScript
,
err
error
)
{
script
.
Code
=
fileUtils
.
ReadFile
(
pth
)
return
...
...
internal/comm/helper/script/extract.go
浏览文件 @
4b61416e
...
...
@@ -17,7 +17,7 @@ const (
funcRegex
=
`(?U)e\(['"](.+)['"]\)`
singleLineCommentsRegex
=
`.*(?://|#)(.+)$`
mu
tiLineCommentsRegex
=
`/\*+(.+)\*+/`
mu
ltiLineCommentsRegex
=
`/\*+(.+)\*+/`
)
func
Extract
(
scriptPaths
[]
string
)
error
{
...
...
@@ -146,7 +146,7 @@ func extractFromComments(file string) (stepObjs []*commDomain.ZtfStep) {
if
len
(
arr3
)
>
1
{
// find single line comments on top
desc
=
strings
.
TrimSpace
(
arr3
[
1
])
}
else
{
myExp
:=
regexp
.
MustCompile
(
mutiLineCommentsRegex
)
myExp
:=
regexp
.
MustCompile
(
mu
l
tiLineCommentsRegex
)
arr4
:=
myExp
.
FindStringSubmatch
(
preLine
)
if
len
(
arr4
)
>
1
{
// find muti line comments on top
desc
=
strings
.
TrimSpace
(
arr4
[
1
])
...
...
internal/pkg/domain/struct.go
浏览文件 @
4b61416e
...
...
@@ -58,17 +58,11 @@ type ErrMsg struct {
}
var
(
NoErr
=
ErrMsg
{
0
,
"请求成功"
}
CommonErr
=
ErrMsg
{
1001
,
"请求失败"
}
NeedInitErr
=
ErrMsg
{
2001
,
"前往初始化数据库"
}
AuthErr
=
ErrMsg
{
4001
,
"会话超时,请重新登录!"
}
AuthExpireErr
=
ErrMsg
{
4002
,
"token 过期,请刷新token"
}
AuthActionErr
=
ErrMsg
{
4003
,
"权限错误"
}
ParamErr
=
ErrMsg
{
4004
,
"参数解析失败"
}
SystemErr
=
ErrMsg
{
5000
,
"系统错误"
}
DataEmptyErr
=
ErrMsg
{
5001
,
"数据为空"
}
TokenCacheErr
=
ErrMsg
{
5002
,
"TOKEN CACHE 错误"
}
NoErr
=
ErrMsg
{
0
,
"请求成功"
}
RequestErr
=
ErrMsg
{
200
,
"请求失败"
}
ParamErr
=
ErrMsg
{
100
,
"参数错误"
}
BizErrNameNotExist
=
ErrMsg
{
10000
,
"名称不存在"
}
BizErrProjectNotInit
=
ErrMsg
{
10100
,
"项目未初始化"
}
NeedInitErr
=
ErrMsg
{
1000
,
"数据未初始化"
}
BizErrProjectNotInit
=
ErrMsg
{
2000
,
"项目未初始化"
}
BizErrNameNotExist
=
ErrMsg
{
3000
,
"未找到该名称的记录"
}
)
internal/pkg/lib/i118/i118.go
浏览文件 @
4b61416e
...
...
@@ -13,7 +13,6 @@ import (
var
I118Prt
*
message
.
Printer
func
Init
(
lang
string
,
app
string
)
{
langRes
:=
filepath
.
Join
(
"res"
,
app
,
lang
,
"messages.json"
)
bytes
,
_
:=
resUtils
.
ReadRes
(
langRes
)
...
...
internal/server/core/web/index.go
浏览文件 @
4b61416e
...
...
@@ -3,8 +3,6 @@ package web
import
(
stdContext
"context"
"fmt"
"github.com/aaronchen2k/deeptest/internal/comm/consts"
"github.com/aaronchen2k/deeptest/internal/pkg/lib/i118"
"github.com/aaronchen2k/deeptest/internal/pkg/lib/lang"
"github.com/aaronchen2k/deeptest/internal/server/config"
"github.com/aaronchen2k/deeptest/internal/server/core/log"
...
...
@@ -61,7 +59,6 @@ func Init() *WebServer {
serverConfig
.
Init
()
serverLog
.
Init
()
i118Utils
.
Init
(
commConsts
.
Language
,
commConsts
.
AppServer
)
langUtils
.
GetExtToNameMap
()
app
:=
iris
.
New
()
...
...
internal/server/middleware/initcheck.go
浏览文件 @
4b61416e
package
middleware
import
(
commConsts
"github.com/aaronchen2k/deeptest/internal/comm/consts"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
i118Utils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/i118"
"github.com/aaronchen2k/deeptest/internal/server/core/dao"
"net/http"
...
...
@@ -9,14 +11,20 @@ import (
"github.com/kataras/iris/v12/context"
)
// InitCheck 初始化检测中间件
func
InitCheck
()
iris
.
Handler
{
return
func
(
ctx
*
context
.
Context
)
{
if
dao
.
GetDB
()
==
nil
{
ctx
.
StopWithJSON
(
http
.
StatusOK
,
domain
.
Response
{
Code
:
domain
.
NeedInitErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
NeedInitErr
.
Msg
})
}
else
{
ctx
.
Next
()
ctx
.
StopWithJSON
(
http
.
StatusOK
,
domain
.
Response
{
Code
:
domain
.
NeedInitErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
NeedInitErr
.
Msg
})
return
}
// 处理请求
lang
:=
ctx
.
URLParam
(
"lang"
)
if
lang
!=
commConsts
.
Language
{
commConsts
.
Language
=
lang
i118Utils
.
Init
(
commConsts
.
Language
,
commConsts
.
AppServer
)
}
ctx
.
Next
()
}
}
internal/server/modules/v1/controller/config.go
浏览文件 @
4b61416e
...
...
@@ -5,12 +5,8 @@ import (
configUtils
"github.com/aaronchen2k/deeptest/internal/comm/helper/config"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/aaronchen2k/deeptest/internal/server/core/web/validate"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/service"
"strings"
"github.com/kataras/iris/v12"
"go.uber.org/zap"
)
type
ConfigCtrl
struct
{
...
...
@@ -26,16 +22,14 @@ func (c *ConfigCtrl) SaveConfig(ctx iris.Context) {
projectPath
:=
ctx
.
URLParam
(
"currProject"
)
req
:=
commDomain
.
ProjectConf
{}
if
err
:=
ctx
.
ReadJSON
(
&
req
);
err
!=
nil
{
errs
:=
validate
.
ValidRequest
(
err
)
if
len
(
errs
)
>
0
{
logUtils
.
Errorf
(
"参数验证失败"
,
zap
.
String
(
"错误"
,
strings
.
Join
(
errs
,
";"
)))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
return
}
err
:=
ctx
.
ReadJSON
(
&
req
)
if
err
!=
nil
{
logUtils
.
Errorf
(
domain
.
ParamErr
.
Msg
,
err
.
Error
())
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
RequestErr
.
Code
,
Data
:
nil
,
Msg
:
""
})
return
}
err
:
=
configUtils
.
SaveConfig
(
req
,
projectPath
)
err
=
configUtils
.
SaveConfig
(
req
,
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
c
.
ErrCode
(
err
),
Data
:
nil
})
return
...
...
@@ -43,7 +37,7 @@ func (c *ConfigCtrl) SaveConfig(ctx iris.Context) {
projects
,
currProject
,
currProjectConfig
,
scriptTree
,
err
:=
c
.
ProjectService
.
GetByUser
(
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
internal/server/modules/v1/controller/file.go
浏览文件 @
4b61416e
...
...
@@ -23,14 +23,14 @@ func (c *FileCtrl) Upload(ctx iris.Context) {
f
,
fh
,
err
:=
ctx
.
FormFile
(
"file"
)
if
err
!=
nil
{
logUtils
.
Errorf
(
"文件上传失败"
,
zap
.
String
(
"ctx.FormFile(
\"
file
\"
)"
,
err
.
Error
()))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
defer
f
.
Close
()
data
,
err
:=
c
.
FileService
.
UploadFile
(
ctx
,
fh
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
data
,
Msg
:
domain
.
NoErr
.
Msg
})
...
...
@@ -51,7 +51,7 @@ func (c *FileCtrl) ListDir(ctx iris.Context) {
data
,
err
:=
c
.
FileService
.
LoadDirs
(
parentDir
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
data
,
Msg
:
domain
.
NoErr
.
Msg
})
...
...
internal/server/modules/v1/controller/product.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
controller
import
(
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/aaronchen2k/deeptest/internal/server/core/web/validate"
serverDomain
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/service"
"strings"
"github.com/kataras/iris/v12"
"go.uber.org/zap"
)
type
ProductCtrl
struct
{
ProductService
*
service
.
ProductService
`inject:""`
BaseCtrl
}
func
NewProductCtrl
()
*
ProductCtrl
{
return
&
ProductCtrl
{}
}
// Query 分页列表
func
(
c
*
ProductCtrl
)
List
(
ctx
iris
.
Context
)
{
var
req
serverDomain
.
ReqPaginate
if
err
:=
ctx
.
ReadQuery
(
&
req
);
err
!=
nil
{
errs
:=
validate
.
ValidRequest
(
err
)
if
len
(
errs
)
>
0
{
logUtils
.
Errorf
(
"参数验证失败"
,
zap
.
String
(
"错误"
,
strings
.
Join
(
errs
,
";"
)))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
return
}
}
req
.
ConvertParams
()
data
,
err
:=
c
.
ProductService
.
Paginate
(
req
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
data
,
Msg
:
domain
.
NoErr
.
Msg
})
}
// Get 详情
func
(
c
*
ProductCtrl
)
Get
(
ctx
iris
.
Context
)
{
var
req
domain
.
ReqId
if
err
:=
ctx
.
ReadParams
(
&
req
);
err
!=
nil
{
logUtils
.
Errorf
(
"参数解析失败"
,
zap
.
String
(
"错误:"
,
err
.
Error
()))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
ParamErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
ParamErr
.
Msg
})
return
}
product
,
err
:=
c
.
ProductService
.
FindById
(
req
.
Id
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
SystemErr
.
Msg
})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
product
,
Msg
:
domain
.
NoErr
.
Msg
})
}
// Create 添加
func
(
c
*
ProductCtrl
)
Create
(
ctx
iris
.
Context
)
{
req
:=
model
.
Product
{}
if
err
:=
ctx
.
ReadJSON
(
&
req
);
err
!=
nil
{
errs
:=
validate
.
ValidRequest
(
err
)
if
len
(
errs
)
>
0
{
logUtils
.
Errorf
(
"参数验证失败"
,
zap
.
String
(
"错误"
,
strings
.
Join
(
errs
,
";"
)))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
return
}
}
id
,
err
:=
c
.
ProductService
.
Create
(
req
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
c
.
ErrCode
(
err
),
Data
:
nil
,
})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
iris
.
Map
{
"id"
:
id
},
Msg
:
domain
.
NoErr
.
Msg
})
}
// Update 更新
func
(
c
*
ProductCtrl
)
Update
(
ctx
iris
.
Context
)
{
var
reqId
domain
.
ReqId
if
err
:=
ctx
.
ReadParams
(
&
reqId
);
err
!=
nil
{
logUtils
.
Errorf
(
"参数解析失败"
,
zap
.
String
(
"错误:"
,
err
.
Error
()))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
ParamErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
ParamErr
.
Msg
})
return
}
var
req
model
.
Product
if
err
:=
ctx
.
ReadJSON
(
&
req
);
err
!=
nil
{
errs
:=
validate
.
ValidRequest
(
err
)
if
len
(
errs
)
>
0
{
logUtils
.
Errorf
(
"参数验证失败"
,
zap
.
String
(
"错误"
,
strings
.
Join
(
errs
,
";"
)))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
return
}
}
err
:=
c
.
ProductService
.
Update
(
reqId
.
Id
,
req
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
NoErr
.
Msg
})
}
// Delete 删除
func
(
c
*
ProductCtrl
)
Delete
(
ctx
iris
.
Context
)
{
var
req
domain
.
ReqId
if
err
:=
ctx
.
ReadParams
(
&
req
);
err
!=
nil
{
logUtils
.
Errorf
(
"参数解析失败"
,
zap
.
String
(
"错误:"
,
err
.
Error
()))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
ParamErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
ParamErr
.
Msg
})
return
}
err
:=
c
.
ProductService
.
DeleteById
(
req
.
Id
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
NoErr
.
Msg
})
}
internal/server/modules/v1/controller/project.go
浏览文件 @
4b61416e
...
...
@@ -30,7 +30,7 @@ func (c *ProjectCtrl) List(ctx iris.Context) {
errs
:=
validate
.
ValidRequest
(
err
)
if
len
(
errs
)
>
0
{
logUtils
.
Errorf
(
"参数验证失败"
,
zap
.
String
(
"错误"
,
strings
.
Join
(
errs
,
";"
)))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
return
}
}
...
...
@@ -38,7 +38,7 @@ func (c *ProjectCtrl) List(ctx iris.Context) {
data
,
err
:=
c
.
ProjectService
.
Paginate
(
req
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
@@ -55,7 +55,7 @@ func (c *ProjectCtrl) Get(ctx iris.Context) {
}
product
,
err
:=
c
.
ProjectService
.
FindById
(
req
.
Id
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
System
Err
.
Msg
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
RequestErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
Request
Err
.
Msg
})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
product
,
Msg
:
domain
.
NoErr
.
Msg
})
...
...
@@ -68,14 +68,14 @@ func (c *ProjectCtrl) Create(ctx iris.Context) {
if
err
!=
nil
||
req
.
Path
==
""
{
logUtils
.
Errorf
(
"参数验证失败 %s"
,
err
.
Error
())
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
"参数验证失败"
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
"参数验证失败"
})
return
}
req
.
Path
=
strings
.
TrimSpace
(
req
.
Path
)
id
,
err
:=
c
.
ProjectService
.
Create
(
req
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Common
Err
.
Code
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Msg
:
err
.
Error
()})
return
}
...
...
@@ -96,14 +96,14 @@ func (c *ProjectCtrl) Update(ctx iris.Context) {
errs
:=
validate
.
ValidRequest
(
err
)
if
len
(
errs
)
>
0
{
logUtils
.
Errorf
(
"参数验证失败"
,
zap
.
String
(
"错误"
,
strings
.
Join
(
errs
,
";"
)))
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
strings
.
Join
(
errs
,
";"
)})
return
}
}
err
:=
c
.
ProjectService
.
Update
(
reqId
.
Id
,
req
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
NoErr
.
Msg
})
...
...
@@ -119,7 +119,7 @@ func (c *ProjectCtrl) Delete(ctx iris.Context) {
}
err
:=
c
.
ProjectService
.
DeleteById
(
req
.
Id
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
@@ -135,7 +135,7 @@ func (c *ProjectCtrl) GetByUser(ctx iris.Context) {
projects
,
currProject
,
currProjectConfig
,
scriptTree
,
err
:=
c
.
ProjectService
.
GetByUser
(
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
internal/server/modules/v1/controller/sync.go
浏览文件 @
4b61416e
...
...
@@ -27,7 +27,7 @@ func (c *SyncCtrl) SyncFromZentao(ctx iris.Context) {
if
err
!=
nil
{
logUtils
.
Errorf
(
"参数验证失败 %s"
,
err
.
Error
())
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
@@ -48,7 +48,7 @@ func (c *SyncCtrl) SyncToZentao(ctx iris.Context) {
if
commitProductId
==
0
{
msg
:=
fmt
.
Sprintf
(
"参数验证失败"
)
logUtils
.
Errorf
(
msg
)
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
msg
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
msg
})
return
}
...
...
internal/server/modules/v1/controller/test-bug.go
浏览文件 @
4b61416e
...
...
@@ -26,14 +26,14 @@ func (c *TestBugCtrl) GetBugData(ctx iris.Context) {
err
:=
ctx
.
ReadJSON
(
&
req
)
if
err
!=
nil
{
logUtils
.
Errorf
(
"参数验证失败 %s"
,
err
.
Error
())
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
bug
:=
zentaoUtils
.
PrepareBug
(
projectPath
,
req
.
Seq
,
strconv
.
Itoa
(
req
.
Id
))
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道缺陷步骤失败"
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道缺陷步骤失败"
})
return
}
...
...
@@ -46,13 +46,13 @@ func (c *TestBugCtrl) Submit(ctx iris.Context) {
req
:=
commDomain
.
ZtfBug
{}
if
err
:=
ctx
.
ReadJSON
(
&
req
);
err
!=
nil
{
logUtils
.
Errorf
(
"参数验证失败,错误%s"
,
err
.
Error
())
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
err
:=
c
.
TestBugService
.
Submit
(
req
,
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
internal/server/modules/v1/controller/test-case.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
controller
import
(
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/service"
)
type
TestCaseCtrl
struct
{
TestCaseService
*
service
.
TestCaseService
`inject:""`
BaseCtrl
}
func
NewTestCaseCtrl
()
*
TestCaseCtrl
{
return
&
TestCaseCtrl
{}
}
internal/server/modules/v1/controller/test-exec.go
浏览文件 @
4b61416e
...
...
@@ -23,7 +23,7 @@ func (c *TestExecCtrl) List(ctx iris.Context) {
data
,
err
:=
c
.
TestExecService
.
List
(
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
@@ -43,7 +43,7 @@ func (c *TestExecCtrl) Get(ctx iris.Context) {
exec
,
err
:=
c
.
TestExecService
.
Get
(
projectPath
,
seq
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
fmt
.
Sprintf
(
"获取编号为%s的日志失败。"
,
seq
)})
return
}
...
...
@@ -63,7 +63,7 @@ func (c *TestExecCtrl) Delete(ctx iris.Context) {
err
:=
c
.
TestExecService
.
Delete
(
projectPath
,
seq
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
internal/server/modules/v1/controller/test-result.go
浏览文件 @
4b61416e
...
...
@@ -30,7 +30,7 @@ func (c *TestResultCtrl) Submit(ctx iris.Context) {
err
=
c
.
TestResultService
.
Submit
(
req
,
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Common
Err
.
Code
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Msg
:
err
.
Error
()})
return
}
...
...
internal/server/modules/v1/controller/test-script.go
浏览文件 @
4b61416e
...
...
@@ -26,7 +26,7 @@ func (c *TestScriptCtrl) Get(ctx iris.Context) {
script
,
err
:=
scriptUtils
.
GetScriptContent
(
scriptPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
System
Err
.
Msg
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
RequestErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
Request
Err
.
Msg
})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
script
,
Msg
:
domain
.
NoErr
.
Msg
})
...
...
@@ -44,7 +44,7 @@ func (c *TestScriptCtrl) Extract(ctx iris.Context) {
script
,
err
:=
scriptUtils
.
GetScriptContent
(
scriptPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
SystemErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
System
Err
.
Msg
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
RequestErr
.
Code
,
Data
:
nil
,
Msg
:
domain
.
Request
Err
.
Msg
})
return
}
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
NoErr
.
Code
,
Data
:
script
,
Msg
:
domain
.
NoErr
.
Msg
})
...
...
internal/server/modules/v1/controller/test-set.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
controller
import
(
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/service"
)
type
TestSetCtrl
struct
{
TestSetService
*
service
.
TestSetService
`inject:""`
BaseCtrl
}
func
NewTestSetCtrl
()
*
TestSetCtrl
{
return
&
TestSetCtrl
{}
}
internal/server/modules/v1/controller/test-suite.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
controller
import
(
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/service"
)
type
TestSuiteCtrl
struct
{
TestSuiteService
*
service
.
TestSuiteService
`inject:""`
BaseCtrl
}
func
NewTestSuiteCtrl
()
*
TestSuiteCtrl
{
return
&
TestSuiteCtrl
{}
}
internal/server/modules/v1/controller/zentao.go
浏览文件 @
4b61416e
...
...
@@ -33,13 +33,13 @@ func (c *ZentaoCtrl) ListModule(ctx iris.Context) {
projectPath
:=
ctx
.
URLParam
(
"currProject"
)
productId
,
err
:=
ctx
.
URLParamInt
(
"productId"
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
data
,
err
:=
zentaoUtils
.
ListModuleForCase
(
productId
,
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道模块失败"
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道模块失败"
})
return
}
...
...
@@ -50,13 +50,13 @@ func (c *ZentaoCtrl) ListSuite(ctx iris.Context) {
projectPath
:=
ctx
.
URLParam
(
"currProject"
)
productId
,
err
:=
ctx
.
URLParamInt
(
"productId"
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
data
,
err
:=
zentaoUtils
.
ListSuiteByProduct
(
productId
,
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道套件失败"
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道套件失败"
})
return
}
...
...
@@ -67,13 +67,13 @@ func (c *ZentaoCtrl) ListTask(ctx iris.Context) {
projectPath
:=
ctx
.
URLParam
(
"currProject"
)
productId
,
err
:=
ctx
.
URLParamInt
(
"productId"
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
data
,
err
:=
zentaoUtils
.
ListTaskByProduct
(
productId
,
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道任务失败"
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道任务失败"
})
return
}
...
...
@@ -86,13 +86,13 @@ func (c *ZentaoCtrl) GetDataForBugSubmition(ctx iris.Context) {
req
:=
commDomain
.
FuncResult
{}
if
err
:=
ctx
.
ReadJSON
(
&
req
);
err
!=
nil
{
logUtils
.
Errorf
(
"参数验证失败 %s"
,
err
.
Error
())
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
fields
,
err
:=
zentaoUtils
.
GetBugFiledOptions
(
req
,
projectPath
)
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道缺陷属性失败"
})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
"获取禅道缺陷属性失败"
})
return
}
...
...
@@ -104,7 +104,7 @@ func (c *ZentaoCtrl) GetDataForBugSubmition(ctx iris.Context) {
func
(
c
*
ZentaoCtrl
)
ListLang
(
ctx
iris
.
Context
)
{
data
,
err
:=
zentaoUtils
.
ListLang
()
if
err
!=
nil
{
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
System
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
ctx
.
JSON
(
domain
.
Response
{
Code
:
domain
.
Request
Err
.
Code
,
Data
:
nil
,
Msg
:
err
.
Error
()})
return
}
...
...
internal/server/modules/v1/domain/test-case.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
serverDomain
import
(
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
)
type
TestCaseReqPaginate
struct
{
domain
.
PaginateReq
Name
string
`json:"name"`
Keywords
string
`json:"keywords"`
Enabled
string
`json:"enabled"`
}
internal/server/modules/v1/domain/test-script.go
浏览文件 @
4b61416e
package
serverDomain
import
(
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
)
type
TestScript
struct
{
Version
int
`json:"version"`
Name
string
`json:"name"`
Code
string
`json:"code"`
Desc
string
`json:"desc"`
type
TestScriptReqPaginate
struct
{
domain
.
PaginateReq
Keywords
string
`json:"keywords"`
Enabled
string
`json:"enabled"`
ProjectId
uint
`json:"projectId"`
}
internal/server/modules/v1/index.go
浏览文件 @
4b61416e
...
...
@@ -16,15 +16,12 @@ type IndexModule struct {
ZentaoModule
*
index
.
ZentaoModule
`inject:""`
ConfigModule
*
index
.
ConfigModule
`inject:""`
SyncModule
*
index
.
SyncModule
`inject:""`
ProductModule
*
index
.
ProductModule
`inject:""`
ProjectModule
*
index
.
ProjectModule
`inject:""`
TestScriptModule
*
index
.
TestScriptModule
`inject:""`
TestExecModule
*
index
.
TestExecModule
`inject:""`
TestResultModule
*
index
.
TestResultModule
`inject:""`
TestBugModule
*
index
.
TestBugModule
`inject:""`
TestSuiteModule
*
index
.
TestSuiteModule
`inject:""`
TestSetModule
*
index
.
TestSetModule
`inject:""`
}
func
NewIndexModule
()
*
IndexModule
{
...
...
internal/server/modules/v1/index/product.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
index
import
(
"github.com/aaronchen2k/deeptest/internal/server/core/module"
"github.com/aaronchen2k/deeptest/internal/server/middleware"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/controller"
"github.com/kataras/iris/v12"
)
type
ProductModule
struct
{
ProductCtrl
*
controller
.
ProductCtrl
`inject:""`
}
func
NewProductModule
()
*
ProductModule
{
return
&
ProductModule
{}
}
// Party 产品
func
(
m
*
ProductModule
)
Party
()
module
.
WebModule
{
handler
:=
func
(
index
iris
.
Party
)
{
index
.
Use
(
middleware
.
InitCheck
())
index
.
Get
(
"/"
,
m
.
ProductCtrl
.
List
)
.
Name
=
"产品列表"
index
.
Get
(
"/{id:uint}"
,
m
.
ProductCtrl
.
Get
)
.
Name
=
"产品详情"
index
.
Post
(
"/"
,
m
.
ProductCtrl
.
Create
)
.
Name
=
"创建产品"
index
.
Post
(
"/{id:uint}"
,
m
.
ProductCtrl
.
Update
)
.
Name
=
"编辑产品"
index
.
Delete
(
"/{id:uint}"
,
m
.
ProductCtrl
.
Delete
)
.
Name
=
"删除产品"
}
return
module
.
NewModule
(
"/products"
,
handler
)
}
internal/server/modules/v1/index/test-case.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
index
import
(
"github.com/aaronchen2k/deeptest/internal/server/core/module"
"github.com/aaronchen2k/deeptest/internal/server/middleware"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/controller"
"github.com/kataras/iris/v12"
)
type
TestCaseModule
struct
{
TestCaseCtrl
*
controller
.
TestCaseCtrl
`inject:""`
}
func
NewTestCaseModule
()
*
TestCaseModule
{
return
&
TestCaseModule
{}
}
// Party 用例
func
(
m
*
TestCaseModule
)
Party
()
module
.
WebModule
{
handler
:=
func
(
index
iris
.
Party
)
{
index
.
Use
(
middleware
.
InitCheck
())
}
return
module
.
NewModule
(
"/testCases"
,
handler
)
}
internal/server/modules/v1/index/test-set.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
index
import
(
"github.com/aaronchen2k/deeptest/internal/server/core/module"
"github.com/aaronchen2k/deeptest/internal/server/middleware"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/controller"
"github.com/kataras/iris/v12"
)
type
TestSetModule
struct
{
TestSetCtrl
*
controller
.
TestSetCtrl
`inject:""`
}
func
NewTestSetModule
()
*
TestSetModule
{
return
&
TestSetModule
{}
}
// Party 测试集
func
(
m
*
TestSetModule
)
Party
()
module
.
WebModule
{
handler
:=
func
(
index
iris
.
Party
)
{
index
.
Use
(
middleware
.
InitCheck
())
}
return
module
.
NewModule
(
"/sets"
,
handler
)
}
internal/server/modules/v1/index/test-suite.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
index
import
(
"github.com/aaronchen2k/deeptest/internal/server/core/module"
"github.com/aaronchen2k/deeptest/internal/server/middleware"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/controller"
"github.com/kataras/iris/v12"
)
type
TestSuiteModule
struct
{
TestSuiteCtrl
*
controller
.
TestSuiteCtrl
`inject:""`
}
func
NewTestSuiteModule
()
*
TestSuiteModule
{
return
&
TestSuiteModule
{}
}
// Party 套件
func
(
m
*
TestSuiteModule
)
Party
()
module
.
WebModule
{
handler
:=
func
(
index
iris
.
Party
)
{
index
.
Use
(
middleware
.
InitCheck
())
}
return
module
.
NewModule
(
"/suites"
,
handler
)
}
internal/server/modules/v1/model/models.go
浏览文件 @
4b61416e
...
...
@@ -3,10 +3,5 @@ package model
var
(
Models
=
[]
interface
{}{
&
Project
{},
&
TestCase
{},
&
TestExec
{},
&
TestScript
{},
&
TestSuite
{},
&
TestSet
{},
}
)
internal/server/modules/v1/model/product.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
model
type
Product
struct
{
BaseModel
Name
string
`json:"name"`
Desc
string
`json:"desc" gorm:"column:descr"`
SchemaId
uint
`json:"schemaId"`
OrgId
uint
`json:"orgId"`
}
func
(
Product
)
TableName
()
string
{
return
"biz_product"
}
internal/server/modules/v1/model/test-case.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
model
type
TestCase
struct
{
BaseModel
Version
int
`json:"version"`
Name
string
`json:"name"`
Desc
string
`json:"desc"`
}
func
(
TestCase
)
TableName
()
string
{
return
"biz_test_case"
}
internal/server/modules/v1/model/test-exec.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
model
type
TestExec
struct
{
BaseModel
Name
string
`json:"name"`
Cases
string
`json:"cases"`
ProjectId
uint
`json:"projectId"`
}
func
(
TestExec
)
TableName
()
string
{
return
"biz_test_exec"
}
internal/server/modules/v1/model/test-script.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
model
type
TestScript
struct
{
BaseModel
Version
int
`json:"version"`
Name
string
`json:"name"`
Code
string
`json:"code"`
Desc
string
`json:"desc"`
ProjectId
uint
`json:"projectId"`
}
func
(
TestScript
)
TableName
()
string
{
return
"biz_test_script"
}
internal/server/modules/v1/model/test-set.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
model
type
TestSet
struct
{
BaseModel
Version
int
`json:"version"`
Name
string
`json:"name"`
Code
string
`json:"code"`
Desc
string
`json:"desc"`
ProjectId
uint
`json:"projectId"`
}
func
(
TestSet
)
TableName
()
string
{
return
"biz_test_set"
}
internal/server/modules/v1/model/test-suite.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
model
type
TestSuite
struct
{
BaseModel
Version
int
`json:"version"`
Name
string
`json:"name"`
Code
string
`json:"code"`
Desc
string
`json:"desc"`
ProjectId
uint
`json:"projectId"`
}
func
(
TestSuite
)
TableName
()
string
{
return
"biz_test_suite"
}
internal/server/modules/v1/repo/product.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
repo
import
(
"errors"
"fmt"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
commonUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/common"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/aaronchen2k/deeptest/internal/server/core/dao"
serverDomain
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"go.uber.org/zap"
"gorm.io/gorm"
)
type
ProductRepo
struct
{
DB
*
gorm
.
DB
`inject:""`
}
func
NewProductRepo
()
*
ProductRepo
{
return
&
ProductRepo
{}
}
func
(
r
*
ProductRepo
)
Paginate
(
req
serverDomain
.
ReqPaginate
)
(
data
domain
.
PageData
,
err
error
)
{
var
count
int64
db
:=
r
.
DB
.
Model
(
&
model
.
Product
{})
.
Where
(
"NOT deleted"
)
if
req
.
Keywords
!=
""
{
db
=
db
.
Where
(
"name LIKE ?"
,
fmt
.
Sprintf
(
"%%%s%%"
,
req
.
Keywords
))
}
if
req
.
Enabled
!=
""
{
db
=
db
.
Where
(
"disabled = ?"
,
commonUtils
.
IsDisable
(
req
.
Enabled
))
}
err
=
db
.
Count
(
&
count
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"count product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
pos
:=
make
([]
*
model
.
Product
,
0
)
err
=
db
.
Scopes
(
dao
.
PaginateScope
(
req
.
Page
,
req
.
PageSize
,
req
.
Order
,
req
.
Field
))
.
Find
(
&
pos
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"query product error %s"
,
err
.
Error
())
return
}
data
.
Populate
(
pos
,
count
,
req
.
Page
,
req
.
PageSize
)
return
}
func
(
r
*
ProductRepo
)
FindById
(
id
uint
)
(
po
model
.
Product
,
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
Product
{})
.
Where
(
"id = ?"
,
id
)
.
First
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by id error %s"
,
err
.
Error
())
return
}
return
}
func
(
r
*
ProductRepo
)
Create
(
product
model
.
Product
)
(
id
uint
,
err
error
)
{
if
_
,
err
:=
r
.
FindByName
(
product
.
Name
);
!
errors
.
Is
(
err
,
gorm
.
ErrRecordNotFound
)
{
return
0
,
fmt
.
Errorf
(
"%d"
,
domain
.
BizErrNameNotExist
.
Code
)
}
err
=
r
.
DB
.
Model
(
&
model
.
Product
{})
.
Create
(
&
product
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"add product error %s"
,
err
.
Error
())
return
0
,
err
}
id
=
product
.
ID
return
}
func
(
r
*
ProductRepo
)
Update
(
id
uint
,
product
model
.
Product
)
error
{
err
:=
r
.
DB
.
Model
(
&
model
.
Product
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
&
product
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"update product error %s"
,
err
.
Error
())
return
err
}
return
nil
}
func
(
r
*
ProductRepo
)
BatchDelete
(
id
uint
)
(
err
error
)
{
ids
,
err
:=
r
.
GetChildrenIds
(
id
)
if
err
!=
nil
{
return
err
}
r
.
DB
.
Transaction
(
func
(
tx
*
gorm
.
DB
)
(
err
error
)
{
err
=
r
.
DeleteChildren
(
ids
,
tx
)
if
err
!=
nil
{
return
}
err
=
r
.
DeleteById
(
id
,
tx
)
if
err
!=
nil
{
return
}
return
})
return
}
func
(
r
*
ProductRepo
)
DeleteById
(
id
uint
,
tx
*
gorm
.
DB
)
(
err
error
)
{
err
=
tx
.
Model
(
&
model
.
Product
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
map
[
string
]
interface
{}{
"deleted"
:
true
})
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"delete product by id error %s"
,
err
.
Error
())
return
}
return
}
func
(
r
*
ProductRepo
)
DeleteChildren
(
ids
[]
int
,
tx
*
gorm
.
DB
)
(
err
error
)
{
err
=
tx
.
Model
(
&
model
.
Product
{})
.
Where
(
"id IN (?)"
,
ids
)
.
Updates
(
map
[
string
]
interface
{}{
"deleted"
:
true
})
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"batch delete product error %s"
,
err
.
Error
())
return
err
}
return
nil
}
func
(
r
*
ProductRepo
)
GetChildrenIds
(
id
uint
)
(
ids
[]
int
,
err
error
)
{
tmpl
:=
`
WITH RECURSIVE product AS (
SELECT * FROM biz_product WHERE id = %d
UNION ALL
SELECT child.* FROM biz_product child, product WHERE child.parent_id = product.id
)
SELECT id FROM product WHERE id != %d
`
sql
:=
fmt
.
Sprintf
(
tmpl
,
id
,
id
)
err
=
r
.
DB
.
Raw
(
sql
)
.
Scan
(
&
ids
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"get children product error %s"
,
err
.
Error
())
return
}
return
}
func
(
r
*
ProductRepo
)
FindByName
(
name
string
,
ids
...
uint
)
(
po
model
.
Product
,
err
error
)
{
db
:=
r
.
DB
.
Model
(
&
model
.
Product
{})
.
Where
(
"name = ?"
,
name
)
if
len
(
ids
)
==
1
{
db
.
Where
(
"id != ?"
,
ids
[
0
])
}
err
=
db
.
First
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by name error %s"
,
err
.
Error
())
return
}
return
}
internal/server/modules/v1/repo/test-case.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
repo
import
(
"errors"
"fmt"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
commonUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/common"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/aaronchen2k/deeptest/internal/server/core/dao"
serverDomain
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"go.uber.org/zap"
"gorm.io/gorm"
)
type
TestCaseRepo
struct
{
DB
*
gorm
.
DB
`inject:""`
}
func
NewTestCaseRepo
()
*
TestCaseRepo
{
return
&
TestCaseRepo
{}
}
func
(
r
*
TestCaseRepo
)
Paginate
(
req
serverDomain
.
TestCaseReqPaginate
)
(
data
domain
.
PageData
,
err
error
)
{
var
count
int64
db
:=
r
.
DB
.
Model
(
&
model
.
TestCase
{})
.
Where
(
"NOT deleted"
)
if
req
.
Keywords
!=
""
{
db
=
db
.
Where
(
"name LIKE ?"
,
fmt
.
Sprintf
(
"%%%s%%"
,
req
.
Keywords
))
}
if
req
.
Enabled
!=
""
{
db
=
db
.
Where
(
"disabled = ?"
,
commonUtils
.
IsDisable
(
req
.
Enabled
))
}
err
=
db
.
Count
(
&
count
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"count product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
testCases
:=
make
([]
*
model
.
TestCase
,
0
)
err
=
db
.
Scopes
(
dao
.
PaginateScope
(
req
.
Page
,
req
.
PageSize
,
req
.
Order
,
req
.
Field
))
.
Find
(
&
testCases
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"query product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
data
.
Populate
(
testCases
,
count
,
req
.
Page
,
req
.
PageSize
)
return
}
func
(
r
*
TestCaseRepo
)
FindById
(
id
uint
)
(
model
.
TestCase
,
error
)
{
product
:=
model
.
TestCase
{}
err
:=
r
.
DB
.
Model
(
&
model
.
TestCase
{})
.
Where
(
"id = ?"
,
id
)
.
First
(
&
product
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
product
,
err
}
return
product
,
nil
}
func
(
r
*
TestCaseRepo
)
Create
(
po
model
.
TestCase
)
(
id
uint
,
err
error
)
{
if
_
,
err
:=
r
.
FindByName
(
po
.
Name
);
!
errors
.
Is
(
err
,
gorm
.
ErrRecordNotFound
)
{
return
0
,
fmt
.
Errorf
(
"%d"
,
domain
.
BizErrNameNotExist
.
Code
)
}
err
=
r
.
DB
.
Model
(
&
model
.
TestCase
{})
.
Create
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"add product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
0
,
err
}
id
=
po
.
ID
return
}
func
(
r
*
TestCaseRepo
)
Update
(
id
uint
,
po
model
.
TestCase
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestCase
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"update product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
err
}
return
}
func
(
r
*
TestCaseRepo
)
DeleteById
(
id
uint
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestCase
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
map
[
string
]
interface
{}{
"deleted"
:
true
})
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"delete case by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestCaseRepo
)
FindByName
(
name
string
,
ids
...
uint
)
(
po
model
.
TestCase
,
err
error
)
{
db
:=
r
.
DB
.
Model
(
&
model
.
TestCase
{})
.
Where
(
"name = ?"
,
name
)
if
len
(
ids
)
==
1
{
db
.
Where
(
"id != ?"
,
ids
[
0
])
}
err
=
db
.
First
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by name error"
,
zap
.
String
(
"name:"
,
name
),
zap
.
Uints
(
"ids:"
,
ids
),
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
internal/server/modules/v1/repo/test-exec.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
repo
import
(
"gorm.io/gorm"
)
type
TestExecRepo
struct
{
DB
*
gorm
.
DB
`inject:""`
ProjectRepo
*
ProjectRepo
`inject:""`
}
func
NewTestExecRepo
()
*
TestExecRepo
{
return
&
TestExecRepo
{}
}
internal/server/modules/v1/repo/test-script.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
repo
import
(
"errors"
"fmt"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
commonUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/common"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/aaronchen2k/deeptest/internal/server/core/dao"
serverDomain
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"go.uber.org/zap"
"gorm.io/gorm"
)
type
TestScriptRepo
struct
{
DB
*
gorm
.
DB
`inject:""`
}
func
NewTestScriptRepo
()
*
TestScriptRepo
{
return
&
TestScriptRepo
{}
}
func
(
r
*
TestScriptRepo
)
Paginate
(
req
serverDomain
.
TestScriptReqPaginate
)
(
data
domain
.
PageData
,
err
error
)
{
var
count
int64
db
:=
r
.
DB
.
Model
(
&
model
.
TestScript
{})
.
Where
(
"NOT deleted"
)
if
req
.
Keywords
!=
""
{
db
=
db
.
Where
(
"name LIKE ?"
,
fmt
.
Sprintf
(
"%%%s%%"
,
req
.
Keywords
))
}
if
req
.
Enabled
!=
""
{
db
=
db
.
Where
(
"disabled = ?"
,
commonUtils
.
IsDisable
(
req
.
Enabled
))
}
err
=
db
.
Count
(
&
count
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"count product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
testScripts
:=
make
([]
*
model
.
TestScript
,
0
)
err
=
db
.
Scopes
(
dao
.
PaginateScope
(
req
.
Page
,
req
.
PageSize
,
req
.
Order
,
req
.
Field
))
.
Find
(
&
testScripts
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"query product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
data
.
Populate
(
testScripts
,
count
,
req
.
Page
,
req
.
PageSize
)
return
}
func
(
r
*
TestScriptRepo
)
FindById
(
id
uint
)
(
model
.
TestScript
,
error
)
{
product
:=
model
.
TestScript
{}
err
:=
r
.
DB
.
Model
(
&
model
.
TestScript
{})
.
Where
(
"id = ?"
,
id
)
.
First
(
&
product
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
product
,
err
}
return
product
,
nil
}
func
(
r
*
TestScriptRepo
)
Create
(
po
model
.
TestScript
)
(
id
uint
,
err
error
)
{
if
_
,
err
:=
r
.
FindByName
(
po
.
Name
);
!
errors
.
Is
(
err
,
gorm
.
ErrRecordNotFound
)
{
return
0
,
fmt
.
Errorf
(
"%d"
,
domain
.
BizErrNameNotExist
.
Code
)
}
err
=
r
.
DB
.
Model
(
&
model
.
TestScript
{})
.
Create
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"add product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
0
,
err
}
id
=
po
.
ID
return
}
func
(
r
*
TestScriptRepo
)
Update
(
id
uint
,
po
model
.
TestScript
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestScript
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"update product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
err
}
return
}
func
(
r
*
TestScriptRepo
)
DeleteById
(
id
uint
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestScript
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
map
[
string
]
interface
{}{
"deleted"
:
true
})
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"delete script by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestScriptRepo
)
FindByName
(
name
string
,
ids
...
uint
)
(
po
model
.
TestScript
,
err
error
)
{
db
:=
r
.
DB
.
Model
(
&
model
.
TestScript
{})
.
Where
(
"name = ?"
,
name
)
if
len
(
ids
)
==
1
{
db
.
Where
(
"id != ?"
,
ids
[
0
])
}
err
=
db
.
First
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by name error"
,
zap
.
String
(
"name:"
,
name
),
zap
.
Uints
(
"ids:"
,
ids
),
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
internal/server/modules/v1/repo/test-set.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
repo
import
(
"errors"
"fmt"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
commonUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/common"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/aaronchen2k/deeptest/internal/server/core/dao"
serverDomain
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"go.uber.org/zap"
"gorm.io/gorm"
)
type
TestSetRepo
struct
{
DB
*
gorm
.
DB
`inject:""`
}
func
NewTestSetRepo
()
*
TestSetRepo
{
return
&
TestSetRepo
{}
}
func
(
r
*
TestSetRepo
)
Paginate
(
req
serverDomain
.
ReqPaginate
)
(
data
domain
.
PageData
,
err
error
)
{
var
count
int64
db
:=
r
.
DB
.
Model
(
&
model
.
TestSet
{})
.
Where
(
"NOT deleted"
)
if
req
.
Keywords
!=
""
{
db
=
db
.
Where
(
"name LIKE ?"
,
fmt
.
Sprintf
(
"%%%s%%"
,
req
.
Keywords
))
}
if
req
.
Enabled
!=
""
{
db
=
db
.
Where
(
"disabled = ?"
,
commonUtils
.
IsDisable
(
req
.
Enabled
))
}
err
=
db
.
Count
(
&
count
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"count product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
testSets
:=
make
([]
*
model
.
TestSet
,
0
)
err
=
db
.
Scopes
(
dao
.
PaginateScope
(
req
.
Page
,
req
.
PageSize
,
req
.
Order
,
req
.
Field
))
.
Find
(
&
testSets
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"query product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
data
.
Populate
(
testSets
,
count
,
req
.
Page
,
req
.
PageSize
)
return
}
func
(
r
*
TestSetRepo
)
FindById
(
id
uint
)
(
po
model
.
TestSet
,
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestSet
{})
.
Where
(
"id = ?"
,
id
)
.
First
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestSetRepo
)
Create
(
po
model
.
TestSet
)
(
id
uint
,
err
error
)
{
if
_
,
err
:=
r
.
FindByName
(
po
.
Name
);
!
errors
.
Is
(
err
,
gorm
.
ErrRecordNotFound
)
{
return
0
,
fmt
.
Errorf
(
"%d"
,
domain
.
BizErrNameNotExist
.
Code
)
}
err
=
r
.
DB
.
Model
(
&
model
.
TestSet
{})
.
Create
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"add product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestSetRepo
)
Update
(
id
uint
,
testSet
model
.
TestSet
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestSet
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
&
testSet
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"update product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestSetRepo
)
DeleteById
(
id
uint
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestSet
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
map
[
string
]
interface
{}{
"deleted"
:
true
})
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"delete set by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestSetRepo
)
FindByName
(
name
string
,
ids
...
uint
)
(
po
model
.
TestSet
,
err
error
)
{
db
:=
r
.
DB
.
Model
(
&
model
.
TestSet
{})
.
Where
(
"name = ?"
,
name
)
if
len
(
ids
)
==
1
{
db
.
Where
(
"id != ?"
,
ids
[
0
])
}
err
=
db
.
First
(
&
po
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by name error %s"
,
err
.
Error
())
return
}
return
}
internal/server/modules/v1/repo/test-suite.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
repo
import
(
"errors"
"fmt"
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
commonUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/common"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"github.com/aaronchen2k/deeptest/internal/server/core/dao"
serverDomain
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"go.uber.org/zap"
"gorm.io/gorm"
)
type
TestSuiteRepo
struct
{
DB
*
gorm
.
DB
`inject:""`
}
func
NewTestSuiteRepo
()
*
TestSuiteRepo
{
return
&
TestSuiteRepo
{}
}
func
(
r
*
TestSuiteRepo
)
Paginate
(
req
serverDomain
.
ReqPaginate
)
(
data
domain
.
PageData
,
err
error
)
{
var
count
int64
db
:=
r
.
DB
.
Model
(
&
model
.
TestSuite
{})
.
Where
(
"NOT deleted"
)
if
req
.
Keywords
!=
""
{
db
=
db
.
Where
(
"name LIKE ?"
,
fmt
.
Sprintf
(
"%%%s%%"
,
req
.
Keywords
))
}
if
req
.
Enabled
!=
""
{
db
=
db
.
Where
(
"disabled = ?"
,
commonUtils
.
IsDisable
(
req
.
Enabled
))
}
err
=
db
.
Count
(
&
count
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"count product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
testSuites
:=
make
([]
*
model
.
TestSuite
,
0
)
err
=
db
.
Scopes
(
dao
.
PaginateScope
(
req
.
Page
,
req
.
PageSize
,
req
.
Order
,
req
.
Field
))
.
Find
(
&
testSuites
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"query product error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
data
.
Populate
(
testSuites
,
count
,
req
.
Page
,
req
.
PageSize
)
return
}
func
(
r
*
TestSuiteRepo
)
FindById
(
id
uint
)
(
testSuite
model
.
TestSuite
,
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestSuite
{})
.
Where
(
"id = ?"
,
id
)
.
First
(
&
testSuite
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestSuiteRepo
)
Create
(
testSuite
model
.
TestSuite
)
(
id
uint
,
err
error
)
{
if
_
,
err
:=
r
.
FindByName
(
testSuite
.
Name
);
!
errors
.
Is
(
err
,
gorm
.
ErrRecordNotFound
)
{
return
0
,
fmt
.
Errorf
(
"%d"
,
domain
.
BizErrNameNotExist
.
Code
)
}
err
=
r
.
DB
.
Model
(
&
model
.
TestSuite
{})
.
Create
(
&
testSuite
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"add product error %s"
,
err
.
Error
())
return
0
,
err
}
id
=
testSuite
.
ID
return
}
func
(
r
*
TestSuiteRepo
)
Update
(
id
uint
,
testSuite
model
.
TestSuite
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestSuite
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
&
testSuite
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"update product error %s"
,
err
.
Error
())
return
err
}
return
nil
}
func
(
r
*
TestSuiteRepo
)
DeleteById
(
id
uint
)
(
err
error
)
{
err
=
r
.
DB
.
Model
(
&
model
.
TestSuite
{})
.
Where
(
"id = ?"
,
id
)
.
Updates
(
map
[
string
]
interface
{}{
"deleted"
:
true
})
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"delete suite by id error"
,
zap
.
String
(
"error:"
,
err
.
Error
()))
return
}
return
}
func
(
r
*
TestSuiteRepo
)
FindByName
(
name
string
,
ids
...
uint
)
(
testSuite
model
.
TestSuite
,
err
error
)
{
db
:=
r
.
DB
.
Model
(
&
model
.
TestSuite
{})
.
Where
(
"name = ?"
,
testSuite
)
if
len
(
ids
)
==
1
{
db
.
Where
(
"id != ?"
,
ids
[
0
])
}
err
=
db
.
First
(
&
testSuite
)
.
Error
if
err
!=
nil
{
logUtils
.
Errorf
(
"find product by name error %s"
,
err
.
Error
())
return
}
return
}
internal/server/modules/v1/service/product.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
service
import
(
"github.com/aaronchen2k/deeptest/internal/pkg/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/domain"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/model"
"github.com/aaronchen2k/deeptest/internal/server/modules/v1/repo"
)
type
ProductService
struct
{
ProductRepo
*
repo
.
ProductRepo
`inject:""`
}
func
NewProductService
()
*
ProductService
{
return
&
ProductService
{}
}
func
(
s
*
ProductService
)
Paginate
(
req
serverDomain
.
ReqPaginate
)
(
ret
domain
.
PageData
,
err
error
)
{
ret
,
err
=
s
.
ProductRepo
.
Paginate
(
req
)
if
err
!=
nil
{
return
}
return
}
func
(
s
*
ProductService
)
FindById
(
id
uint
)
(
model
.
Product
,
error
)
{
return
s
.
ProductRepo
.
FindById
(
id
)
}
func
(
s
*
ProductService
)
Create
(
product
model
.
Product
)
(
uint
,
error
)
{
return
s
.
ProductRepo
.
Create
(
product
)
}
func
(
s
*
ProductService
)
Update
(
id
uint
,
product
model
.
Product
)
error
{
return
s
.
ProductRepo
.
Update
(
id
,
product
)
}
func
(
s
*
ProductService
)
DeleteById
(
id
uint
)
error
{
return
s
.
ProductRepo
.
BatchDelete
(
id
)
}
internal/server/modules/v1/service/rpc.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
service
import
(
"context"
"fmt"
pb
"github.com/aaronchen2k/deeptest/internal/comm/grpc/proto/greater"
logUtils
"github.com/aaronchen2k/deeptest/internal/pkg/lib/log"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"log"
"time"
)
type
RpcService
struct
{}
func
NewRpcService
()
*
RpcService
{
return
&
RpcService
{}
}
func
(
s
*
RpcService
)
SayHello
(
nodeIp
string
,
nodePort
int
,
req
*
pb
.
HelloRequest
)
(
reply
*
pb
.
HelloReply
)
{
// Set up a connection to the server.
creds
,
err
:=
credentials
.
NewClientTLSFromFile
(
"cert/test.pem"
,
"*.deeptest.com"
)
if
err
!=
nil
{
logUtils
.
Errorf
(
"credentials.NewClientTLSFromFile fail, error %s"
,
err
.
Error
())
return
}
url
:=
fmt
.
Sprintf
(
"%s:%d"
,
nodeIp
,
nodePort
)
conn
,
err
:=
grpc
.
Dial
(
url
,
grpc
.
WithTransportCredentials
(
creds
))
if
err
!=
nil
{
log
.
Fatalf
(
"did not connect: %v"
,
err
)
logUtils
.
Errorf
(
"grpc.Dial %s fail, error %s"
,
url
,
err
.
Error
())
}
defer
conn
.
Close
()
c
:=
pb
.
NewGreeterClient
(
conn
)
// Contact the server and print out its response.
ctx
,
cancel
:=
context
.
WithTimeout
(
context
.
Background
(),
time
.
Second
)
defer
cancel
()
reply
,
err
=
c
.
SayHello
(
ctx
,
req
)
if
err
!=
nil
{
logUtils
.
Errorf
(
"SayHello fail, error %s"
,
url
,
err
.
Error
())
}
return
}
internal/server/modules/v1/service/test-exec.go
浏览文件 @
4b61416e
...
...
@@ -12,8 +12,7 @@ import (
)
type
TestExecService
struct
{
TestExecRepo
*
repo
.
TestExecRepo
`inject:""`
ProjectRepo
*
repo
.
ProjectRepo
`inject:""`
ProjectRepo
*
repo
.
ProjectRepo
`inject:""`
}
func
NewTestExecService
()
*
TestExecService
{
...
...
internal/server/modules/v1/service/test-set.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
service
type
TestSetService
struct
{
}
func
NewTestSetService
()
*
TestSetService
{
return
&
TestSetService
{}
}
internal/server/modules/v1/service/test-suite.go
已删除
100644 → 0
浏览文件 @
2a68f17b
package
service
type
TestSuiteService
struct
{
}
func
NewTestSuiteService
()
*
TestSuiteService
{
return
&
TestSuiteService
{}
}
res/server/en/messages.json
→
res/server/en
-US
/messages.json
浏览文件 @
4b61416e
文件已移动
res/server/zh/messages.json
→
res/server/zh
-CN
/messages.json
浏览文件 @
4b61416e
文件已移动
ui/src/components/SelectLang/index.vue
浏览文件 @
4b61416e
...
...
@@ -39,7 +39,7 @@ export default defineComponent({
const
{
locale
}
=
useI18n
();
const
locales
:
string
[]
=
[
'
zh-CN
'
,
'
zh-TW
'
,
'
en-US
'
];
const
locales
:
string
[]
=
[
'
zh-CN
'
,
'
en-US
'
];
const
languageLabels
:
{[
key
:
string
]:
string
}
=
{
'
zh-CN
'
:
'
简体中文
'
,
'
en-US
'
:
'
English
'
,
...
...
ui/src/layouts/IndexLayout/components/RightTopProject.vue
浏览文件 @
4b61416e
...
...
@@ -49,7 +49,8 @@ export default defineComponent({
const
projects
=
computed
<
any
[]
>
(()
=>
store
.
state
.
project
.
projects
);
const
currProject
=
computed
<
any
>
(()
=>
store
.
state
.
project
.
currProject
);
store
.
dispatch
(
'
project/fetchProject
'
,
''
);
store
.
dispatch
(
'
project/fetchProject
'
,
''
)
const
switchProject
=
(
newProject
,
oldProject
)
=>
{
const
routerPath
=
router
.
currentRoute
.
value
.
path
...
...
ui/src/utils/request.ts
浏览文件 @
4b61416e
...
...
@@ -4,9 +4,9 @@
*/
import
axios
,
{
AxiosPromise
,
AxiosRequestConfig
,
AxiosResponse
}
from
'
axios
'
;
import
{
notification
}
from
"
ant-design-vue
"
;
import
router
from
'
@/config/routes
'
;
import
settings
from
'
@/config/settings
'
;
import
{
getCache
,
setCache
}
from
'
@/utils/localCache
'
;
import
i18n
from
"
@/config/i18n
"
;
export
interface
ResponseData
{
code
:
number
;
...
...
@@ -98,7 +98,7 @@ request.interceptors.request.use(
config
.
params
=
{
...
config
.
params
,
ts
:
Date
.
now
()
};
if
(
!
config
.
params
.
currProject
)
{
const
projectPath
=
await
getCache
(
settings
.
currProject
);
config
.
params
=
{
...
config
.
params
,
currProject
:
projectPath
};
config
.
params
=
{
...
config
.
params
,
currProject
:
projectPath
,
lang
:
i18n
.
global
.
locale
.
value
};
}
console
.
log
(
'
=== request ===
'
,
config
.
url
,
config
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录