| package buildbucket_test |
| |
| import ( |
| "context" |
| "testing" |
| |
| "github.com/golang/protobuf/ptypes/timestamp" |
| "github.com/stretchr/testify/require" |
| buildbucketpb "go.chromium.org/luci/buildbucket/proto" |
| "go.skia.org/infra/go/buildbucket/bb_testutils" |
| "go.skia.org/infra/go/deepequal/assertdeep" |
| "go.skia.org/infra/go/testutils/unittest" |
| ) |
| |
| func TestGetBuild(t *testing.T) { |
| unittest.SmallTest(t) |
| |
| id := int64(12345) |
| c := bb_testutils.NewMockClient(t) |
| |
| expect := &buildbucketpb.Build{ |
| Builder: &buildbucketpb.BuilderID{ |
| Project: "fake", |
| Bucket: "skia.primary", |
| Builder: "Housekeeper-OnDemand-Presubmit", |
| }, |
| EndTime: ×tamp.Timestamp{ |
| Seconds: 1553793030, |
| Nanos: 570629000, |
| }, |
| CreatedBy: "some@user.com", |
| CreateTime: ×tamp.Timestamp{ |
| Seconds: 1553792903, |
| Nanos: 783203000, |
| }, |
| Id: id, |
| Input: &buildbucketpb.Build_Input{ |
| GerritChanges: []*buildbucketpb.GerritChange{ |
| { |
| Host: "skia-review.googlesource.com", |
| Project: "skia", |
| Change: 12345, |
| Patchset: 1, |
| }, |
| }, |
| }, |
| Status: buildbucketpb.Status_SUCCESS, |
| } |
| c.MockGetBuild(expect.Id, expect, nil) |
| b, err := c.GetBuild(context.TODO(), id) |
| require.NoError(t, err) |
| require.NotNil(t, b) |
| assertdeep.Equal(t, expect, b) |
| } |
| |
| func TestGetTrybotsForCL(t *testing.T) { |
| unittest.SmallTest(t) |
| |
| id := int64(12345) |
| c := bb_testutils.NewMockClient(t) |
| |
| expect := &buildbucketpb.Build{ |
| Builder: &buildbucketpb.BuilderID{ |
| Project: "skia", |
| Bucket: "skia.primary", |
| Builder: "Housekeeper-OnDemand-Presubmit", |
| }, |
| EndTime: ×tamp.Timestamp{ |
| Seconds: 1553793030, |
| Nanos: 570629000, |
| }, |
| CreatedBy: "some@user.com", |
| CreateTime: ×tamp.Timestamp{ |
| Seconds: 1553792903, |
| Nanos: 783203000, |
| }, |
| Id: id, |
| Input: &buildbucketpb.Build_Input{ |
| GerritChanges: []*buildbucketpb.GerritChange{ |
| { |
| Host: "skia-review.googlesource.com", |
| Project: "skia", |
| Change: 12345, |
| Patchset: 1, |
| }, |
| }, |
| }, |
| Status: buildbucketpb.Status_SUCCESS, |
| } |
| c.MockSearchBuilds(&buildbucketpb.BuildPredicate{ |
| GerritChanges: []*buildbucketpb.GerritChange{ |
| { |
| Host: "skia-review.googlesource.com", |
| Change: 12345, |
| Patchset: 1, |
| }, |
| }, |
| }, []*buildbucketpb.Build{expect}, nil) |
| b, err := c.GetTrybotsForCL(context.TODO(), 12345, 1, "https://skia-review.googlesource.com") |
| require.NoError(t, err) |
| require.NotNil(t, b) |
| require.Equal(t, 1, len(b)) |
| assertdeep.Equal(t, expect, b[0]) |
| } |