123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- package dao
- import (
- "context"
- "net/http"
- "testing"
- "github.com/smartystreets/goconvey/convey"
- "gopkg.in/h2non/gock.v1"
- )
- func TestDaoParseUTFiles(t *testing.T) {
- convey.Convey("ParseUTFiles", t, func(ctx convey.C) {
- var (
- c = context.Background()
- url = "http://uat-i0.hdslb.com/bfs/test/03af5d0707e4c6ec41a3eb797c8e9897f124515c.html"
- )
- gock.Off()
- d.client.SetTransport(http.DefaultClient.Transport)
- ctx.Convey("When everything goes positive", func(ctx convey.C) {
- pkgs, err := d.ParseUTFiles(c, url)
- //t.Logf("the pkg[0] is PKG: %s, Coverage: %v, HTMLURL: %s", pkgs[0].PKG, pkgs[0].Coverage, pkgs[0].HTMLURL)
- ctx.Convey("Then err should be nil.pkgs should not be nil.", func(ctx convey.C) {
- ctx.So(pkgs, convey.ShouldNotBeNil)
- ctx.So(err, convey.ShouldBeNil)
- })
- })
- })
- }
- func TestDaoGitCommitInfo(t *testing.T) {
- convey.Convey("GitCommitInfo", t, func(ctx convey.C) {
- var (
- c = context.Background()
- commitID = "ae1377033a11ca85a19bca365af32a5b0ebea31c"
- )
- gock.Off()
- d.client.SetTransport(http.DefaultClient.Transport)
- ctx.Convey("When everything goes positive", func(ctx convey.C) {
- commit, err := d.GitLabCommits(c, commitID)
- ctx.Convey("Then err should be nil. gitcommit should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- ctx.So(commit, convey.ShouldNotBeNil)
- })
- })
- })
- }
- func TestDaoSendWechatToUsers(t *testing.T) {
- convey.Convey("SendWechatToUsers", t, func(ctx convey.C) {
- var (
- c = context.Background()
- users = []string{"zhaobingqing"}
- msg = "给你我的小心心❤"
- )
- d.client.SetTransport(gock.DefaultTransport)
- ctx.Convey("When everything gose postive", func(ctx convey.C) {
- httpMock("POST", _sagaWechatURL+"/message/send").Reply(200).JSON(`{"code":0,"message":"0"}`)
- err := d.SendWechatToUsers(c, users, msg)
- ctx.Convey("Then err should be nil", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- })
- })
- ctx.Convey("When http status != 200", func(ctx convey.C) {
- httpMock("POST", _sagaWechatURL+"/message/send").Reply(404)
- err := d.SendWechatToUsers(c, users, msg)
- ctx.Convey("Then err should not be nil", func(ctx convey.C) {
- ctx.So(err, convey.ShouldNotBeNil)
- })
- })
- ctx.Convey("When http response code != 0", func(ctx convey.C) {
- httpMock("POST", _sagaWechatURL+"/message/send").Reply(200).JSON(`{"code":-401,"message":"0"}`)
- err := d.SendWechatToUsers(c, users, msg)
- ctx.Convey("Then err should not be nil", func(ctx convey.C) {
- ctx.So(err, convey.ShouldNotBeNil)
- })
- })
- ctx.Reset(func() {
- gock.Off()
- d.client.SetTransport(http.DefaultClient.Transport)
- })
- })
- }
- func TestDaoSendWechatToGroup(t *testing.T) {
- convey.Convey("SendWechatToGroup", t, func(ctx convey.C) {
- var (
- msg = "信息测试~@002157"
- c = context.Background()
- )
- d.client.SetTransport(gock.DefaultTransport)
- ctx.Convey("When everything gose postive", func(ctx convey.C) {
- httpMock("POST", _sagaWechatURL+"/appchat/send").Reply(200).JSON(`{"code":0,"message":"0"}`)
- err := d.SendWechatToGroup(c, d.c.WeChat.ChatID, msg)
- ctx.Convey("Then err should be nil", func(ctx convey.C) {
- ctx.So(err, convey.ShouldBeNil)
- })
- })
- ctx.Convey("When http status != 200", func(ctx convey.C) {
- httpMock("POST", _sagaWechatURL+"/appchat/send").Reply(404)
- err := d.SendWechatToGroup(c, d.c.WeChat.ChatID, msg)
- ctx.Convey("Then err should not be nil", func(ctx convey.C) {
- ctx.So(err, convey.ShouldNotBeNil)
- })
- })
- ctx.Convey("When http response code != 0", func(ctx convey.C) {
- httpMock("POST", _sagaWechatURL+"/appchat/send").Reply(200).JSON(`{"code":-401,"message":"0"}`)
- err := d.SendWechatToGroup(c, d.c.WeChat.ChatID, msg)
- ctx.Convey("Then err should not be nil", func(ctx convey.C) {
- ctx.So(err, convey.ShouldNotBeNil)
- })
- })
- ctx.Reset(func() {
- gock.Off()
- d.client.SetTransport(http.DefaultClient.Transport)
- })
- })
- }
- func TestDaoGetCoverage(t *testing.T) {
- convey.Convey("GetCoverage", t, func(ctx convey.C) {
- var (
- c = context.Background()
- commitID = "8d2f1b49661c7089e2b595eafff326033a138c23"
- pkg = "go-common/app/admin/main/apm"
- )
- ctx.Convey("When everything goes positive", func(ctx convey.C) {
- cov, err := d.GetCoverage(c, commitID, pkg)
- ctx.Convey("Then err should be nil.cov should not be nil.", func(ctx convey.C) {
- // t.Logf("the cov of %s is %.2f", pkg, cov)
- ctx.So(cov, convey.ShouldNotBeNil)
- ctx.So(err, convey.ShouldBeNil)
- })
- })
- ctx.Convey("When the pkg is empty string", func(ctx convey.C) {
- pkg = ""
- _, err := d.GetCoverage(c, commitID, pkg)
- ctx.Convey("Then err should not be nil.", func(ctx convey.C) {
- ctx.So(err, convey.ShouldNotBeNil)
- })
- })
- })
- }
|