You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
140 lines
2.8 KiB
140 lines
2.8 KiB
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) |
|
}
|
|
|