141 lines
2.8 KiB
Go
141 lines
2.8 KiB
Go
package http
|
|
|
|
import (
|
|
"go-common/app/admin/main/apm/conf"
|
|
"go-common/app/admin/main/apm/model/ut"
|
|
saga "go-common/app/tool/saga/model"
|
|
bm "go-common/library/net/http/blademaster"
|
|
"go-common/library/net/http/blademaster/binding"
|
|
)
|
|
|
|
// @params ListReq
|
|
// @router get /x/admin/apm/ut/info/list
|
|
// @response Paper
|
|
func utList(c *bm.Context) {
|
|
var (
|
|
mrInfs []*ut.Merge
|
|
data *Paper
|
|
err error
|
|
count int
|
|
)
|
|
v := new(ut.MergeReq)
|
|
if err = c.Bind(v); err != nil {
|
|
return
|
|
}
|
|
if mrInfs, count, err = apmSvc.UtList(c, v); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
data = &Paper{
|
|
Total: count,
|
|
Pn: v.Pn,
|
|
Ps: v.Ps,
|
|
Items: mrInfs,
|
|
}
|
|
c.JSON(data, nil)
|
|
}
|
|
|
|
// @params DetailReq
|
|
// @router get /x/admin/apm/ut/detail/list
|
|
// @response PkgAnls
|
|
func utDetail(c *bm.Context) {
|
|
var (
|
|
utpkgs []*ut.PkgAnls
|
|
err error
|
|
)
|
|
v := new(ut.DetailReq)
|
|
if err = c.Bind(v); err != nil {
|
|
return
|
|
}
|
|
if utpkgs, err = apmSvc.UtDetailList(c, v); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
c.JSON(utpkgs, nil)
|
|
}
|
|
|
|
// @params HistoryCommitReq
|
|
// @router get /x/admin/apm/ut/history/commit
|
|
// @response Commit
|
|
func utHistoryCommit(c *bm.Context) {
|
|
var (
|
|
utcmts []*ut.Commit
|
|
count int
|
|
err error
|
|
data *Paper
|
|
)
|
|
v := new(ut.HistoryCommitReq)
|
|
if err = c.Bind(v); err != nil {
|
|
return
|
|
}
|
|
if utcmts, count, err = apmSvc.UtHistoryCommit(c, v); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
data = &Paper{
|
|
Total: count,
|
|
Pn: v.Pn,
|
|
Ps: v.Ps,
|
|
Items: utcmts,
|
|
}
|
|
c.JSON(data, nil)
|
|
}
|
|
|
|
func utBaseline(c *bm.Context) {
|
|
data := map[string]int{
|
|
"coverage": conf.Conf.UTBaseLine.Coverage,
|
|
"passrate": conf.Conf.UTBaseLine.Passrate,
|
|
}
|
|
c.JSON(data, nil)
|
|
}
|
|
|
|
// @params commit_id
|
|
// @router get /x/admin/apm/ut/check
|
|
// @response Tyrant
|
|
func check(c *bm.Context) {
|
|
var (
|
|
err error
|
|
ty *ut.Tyrant
|
|
res = new(struct {
|
|
CommitID string `form:"commit_id" validate:"required"`
|
|
})
|
|
)
|
|
if err = c.Bind(res); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
if ty, err = apmSvc.CheckUT(c, res.CommitID); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
c.JSON(ty, nil)
|
|
}
|
|
|
|
// @params merge_id
|
|
// @router get /x/admin/apm/ut/merge/set
|
|
// @response message
|
|
func utSetMerged(c *bm.Context) {
|
|
var (
|
|
err error
|
|
hookMR = &saga.HookMR{}
|
|
)
|
|
if err = c.BindWith(hookMR, binding.JSON); err != nil {
|
|
return
|
|
}
|
|
if hookMR.ObjectAttributes.State != "merged" {
|
|
c.JSON(nil, nil)
|
|
return
|
|
}
|
|
if err = apmSvc.SetMerged(c, hookMR.ObjectAttributes.IID); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
if err = apmSvc.WechatReport(c, hookMR.ObjectAttributes.IID, hookMR.ObjectAttributes.LastCommit.ID, hookMR.ObjectAttributes.SourceBranch, hookMR.ObjectAttributes.TargetBranch); err != nil {
|
|
c.JSON(nil, err)
|
|
return
|
|
}
|
|
c.JSONMap(map[string]interface{}{
|
|
"message": "单元测试is_merged更新成功",
|
|
}, nil)
|
|
}
|