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
3.2 KiB
140 lines
3.2 KiB
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: "[email protected]: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, "[email protected]: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) |
|
}) |
|
}) |
|
}) |
|
}
|
|
|