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.
141 lines
3.2 KiB
141 lines
3.2 KiB
package gitlab |
|
|
|
import ( |
|
"flag" |
|
"testing" |
|
|
|
"go-common/app/tool/saga/conf" |
|
|
|
. "github.com/smartystreets/goconvey/convey" |
|
) |
|
|
|
var ( |
|
g *Gitlab |
|
) |
|
|
|
func init() { |
|
var ( |
|
err error |
|
) |
|
g = New("http://gitlab.bilibili.co/api/v4", "z3nN4s4BVX5oNYXKbEPL") |
|
flag.Set("conf", "/Users/bilibili/go/src/go-common/app/tool/saga/cmd/saga-test.toml") |
|
if err = conf.Init(); err != nil { |
|
panic(err) |
|
} |
|
|
|
} |
|
|
|
// Test Function HostToken |
|
func TestHostToken(t *testing.T) { |
|
Convey("Test HostToken", t, func() { |
|
var ( |
|
host string |
|
token string |
|
err error |
|
) |
|
host, token, err = g.HostToken() |
|
So(err, ShouldBeNil) |
|
So(host, ShouldEqual, "gitlab.bilibili.co") |
|
So(token, ShouldEqual, "z3nN4s4BVX5oNYXKbEPL") |
|
}) |
|
} |
|
|
|
// TODO AutoPush |
|
// Test MR Create/Close |
|
// Test MRNote Create/Update/Delete |
|
//func TestCreateMRNote(t *testing.T) { |
|
// Convey("Test CreateMRNote", t, func() { |
|
// var ( |
|
// err error |
|
// noteID int |
|
// |
|
// mr *gitlab.MergeRequest |
|
// //res *gitlab.Response |
|
// |
|
// // MR CreateMergeRequestOptions Info |
|
// title = "test" |
|
// description = "test" |
|
// sourceBranch = "chy-saga-test" |
|
// targetBranch = "saga-test-1" |
|
// assigneeID = 15 |
|
// projectID = 23 |
|
// |
|
// //MR Info |
|
// state string |
|
// status string |
|
// ) |
|
// |
|
// // Create CreateMergeRequestOptions Instance |
|
// opt := new(gitlab.CreateMergeRequestOptions) |
|
// opt.Title = &title |
|
// opt.Description = &description |
|
// opt.SourceBranch = &sourceBranch |
|
// opt.TargetBranch = &targetBranch |
|
// opt.AssigneeID = &assigneeID |
|
// opt.TargetProjectID = &projectID |
|
// |
|
// // Create MergeRequest |
|
// mr, _, err = g.client.MergeRequests.CreateMergeRequest(35, opt) |
|
// So(err, ShouldBeNil) |
|
// |
|
// // Query MR Status |
|
// state = mr.State |
|
// status = mr.MergeStatus |
|
// So(state, ShouldEqual, "opened") |
|
// So(status, ShouldEqual, "cannot_be_merged") |
|
// |
|
// // Create MRNote |
|
// noteID, err = g.CreateMRNote(projectID, mr.IID, "CreateMRNote: PASS!") |
|
// So(err, ShouldBeNil) |
|
// So(noteID, ShouldNotBeNil) |
|
// |
|
// // Update MRNote |
|
// err = g.UpdateMRNote(projectID, mr.IID, noteID, "CreateMRNote: PASS!\nUpdateMRNote: PASS!") |
|
// So(err, ShouldBeNil) |
|
// |
|
// // Delete MRNote |
|
// err = g.DeleteMRNote(projectID, mr.IID, noteID) |
|
// So(err, ShouldBeNil) |
|
// |
|
// // Accept MR |
|
// err = g.AcceptMR(projectID, mr.IID, "Accept MR: PASS!") |
|
// So(err, ShouldBeNil) |
|
// |
|
// //Close MR |
|
// //err = g.CloseMR(projectID, mr.IID) |
|
// //So(err, ShouldBeNil) |
|
// |
|
// // Report |
|
// noteID, err = g.CreateMRNote(projectID, mr.IID, "- MR Create Successfully!\n"+ |
|
// "- MRNote Create Successfully\n"+ |
|
// "- MRNote Update Successfully\n"+ |
|
// "- MRNote Delete Successfully\n"+ |
|
// "- MR Accept Successfully\n"+ |
|
// "- MR Close Successfully") |
|
// So(err, ShouldBeNil) |
|
// }) |
|
//} |
|
|
|
func TestProjectID(t *testing.T) { |
|
Convey("Test ProjectID", t, func() { |
|
var ( |
|
projID int |
|
err error |
|
) |
|
projID, err = g.ProjectID("[email protected]:platform/go-common.git") |
|
So(err, ShouldBeNil) |
|
So(projID, ShouldEqual, 23) |
|
}) |
|
} |
|
|
|
func TestCommitDiff(t *testing.T) { |
|
Convey("Test CommitDiff", t, func() { |
|
var ( |
|
err error |
|
files []string |
|
) |
|
files, err = g.CommitDiff(23, "f5c9bfa037771b7f8179db7a245a25695c90be9b") |
|
So(err, ShouldBeNil) |
|
So(files[0], ShouldEqual, ".gitlab-ci.yml") |
|
}) |
|
}
|
|
|