bilibili-backup/app/admin/main/apm/http/ut.go

141 lines
2.8 KiB
Go
Raw Normal View History

2019-04-22 10:59:20 +08:00
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)
}