go-common/app/admin/ep/saga/service/service_test.go
2019-04-22 18:49:16 +08:00

141 lines
3.2 KiB
Go

package service
import (
"context"
"flag"
"os"
"testing"
"go-common/app/admin/ep/saga/conf"
"go-common/app/admin/ep/saga/model"
. "github.com/smartystreets/goconvey/convey"
"github.com/xanzy/go-gitlab"
)
var (
srv *Service
)
func TestMain(m *testing.M) {
var err error
flag.Set("conf", "../cmd/saga-admin-test.toml")
if err = conf.Init(); err != nil {
panic(err)
}
srv = New()
os.Exit(m.Run())
}
// TestInsertDB ...
func TestInsertDB(t *testing.T) {
Convey("insertDB", t, func() {
p := &gitlab.Project{
ID: 11,
Name: "test",
Description: "[主站 android java] test",
WebURL: "http://gitlab.bilibili.co/platform/go-common",
SSHURLToRepo: "git@gitlab.bilibili.co:platform/go-common.git",
DefaultBranch: "master",
Namespace: &gitlab.ProjectNamespace{
Name: "mytest",
Kind: "group",
},
}
err := srv.insertDB(p)
So(err, ShouldBeNil)
projectInfo, err := srv.dao.ProjectInfoByID(p.ID)
So(err, ShouldBeNil)
So(projectInfo.ProjectID, ShouldEqual, 11)
So(projectInfo.Name, ShouldEqual, "test")
So(projectInfo.WebURL, ShouldEqual, "http://gitlab.bilibili.co/platform/go-common")
So(projectInfo.Repo, ShouldEqual, "git@gitlab.bilibili.co:platform/go-common.git")
So(projectInfo.DefaultBranch, ShouldEqual, "master")
So(projectInfo.Department, ShouldEqual, "主站")
So(projectInfo.Business, ShouldEqual, "android")
So(projectInfo.Language, ShouldEqual, "java")
So(projectInfo.SpaceName, ShouldEqual, "mytest")
So(projectInfo.SpaceKind, ShouldEqual, "group")
})
}
// TestResolveDes ...
func TestResolveDes(t *testing.T) {
Convey("resolveDes", t, func() {
s := "[主站 android java] test"
department, business, language, parseFail := parseDes(s)
So(department, ShouldEqual, "主站")
So(business, ShouldEqual, "android")
So(language, ShouldEqual, "java")
So(parseFail, ShouldEqual, false)
})
}
// TestCollectProject ...
func TestCollectProject(t *testing.T) {
Convey("CollectProject", t, func() {
err := srv.CollectProject(context.Background())
So(err, ShouldBeNil)
})
}
// TestPushMsg ...
func TestPushMsg(t *testing.T) {
Convey("TestPushMsg", t, func() {
var err error
result := &model.SyncResult{}
for i := 0; i < 10; i++ {
errData := &model.FailData{
ChildID: i,
}
result.FailData = append(result.FailData, errData)
}
err = srv.WechatFailData(model.DataTypeJob, 888, result, nil)
So(err, ShouldBeNil)
})
}
func TestServiceSaveAggregateBranchDatabase(t *testing.T) {
Convey("test service aggregate branch include special char", t, func(ctx C) {
var (
branch = &model.AggregateBranches{
ID: 4,
ProjectID: 666,
ProjectName: "六六大顺",
BranchName: "666",
BranchUserName: "吴维",
BranchMaster: "wuwei",
Behind: 1111,
Ahead: 2222,
LatestSyncTime: nil,
LatestUpdateTime: nil,
IsDeleted: true,
}
//total int
err error
)
Convey("SaveAggregateBranchDatabase", func(ctx C) {
err = srv.SaveAggregateBranchDatabase(context.TODO(), branch)
Convey("Then err should be nil.", func(ctx C) {
So(err, ShouldBeNil)
})
})
})
}