diff --git a/pkg/provider/bitbucketcloud/bitbucket.go b/pkg/provider/bitbucketcloud/bitbucket.go index 99dcbb993a..a0fcdff568 100644 --- a/pkg/provider/bitbucketcloud/bitbucket.go +++ b/pkg/provider/bitbucketcloud/bitbucket.go @@ -109,7 +109,7 @@ func (v *Provider) CreateStatus(_ context.Context, event *info.Event, statusopts } cso := &bitbucket.CommitStatusOptions{ - Key: v.pacInfo.ApplicationName, + Key: provider.GetCheckName(statusopts, v.pacInfo), Url: detailsURL, State: statusopts.Conclusion, Description: statusopts.Title, diff --git a/pkg/provider/bitbucketcloud/bitbucket_test.go b/pkg/provider/bitbucketcloud/bitbucket_test.go index 4aedddb414..d0972736f1 100644 --- a/pkg/provider/bitbucketcloud/bitbucket_test.go +++ b/pkg/provider/bitbucketcloud/bitbucket_test.go @@ -273,33 +273,38 @@ func TestGetCommitInfo(t *testing.T) { } func TestCreateStatus(t *testing.T) { + originalPipelineRunName := "hello-af9ch" tests := []struct { name string wantErr bool status provider.StatusOpts + applicationName string expectedDescSubstr string expectedCommentSubstr string }{ { name: "skipped", status: provider.StatusOpts{ - Conclusion: "skipped", + Conclusion: "skipped", + OriginalPipelineRunName: originalPipelineRunName, }, expectedDescSubstr: "Skipping", }, { name: "neutral", status: provider.StatusOpts{ - Conclusion: "neutral", + Conclusion: "neutral", + OriginalPipelineRunName: originalPipelineRunName, }, expectedDescSubstr: "stopped", }, { name: "completed with comment", status: provider.StatusOpts{ - Conclusion: "success", - Status: "completed", - Text: "Happy as a bunny", + Conclusion: "success", + Status: "completed", + OriginalPipelineRunName: originalPipelineRunName, + Text: "Happy as a bunny", }, expectedDescSubstr: "validated", expectedCommentSubstr: "Happy as a bunny", @@ -307,51 +312,71 @@ func TestCreateStatus(t *testing.T) { { name: "failed", status: provider.StatusOpts{ - Conclusion: "failure", + Conclusion: "failure", + OriginalPipelineRunName: originalPipelineRunName, }, expectedDescSubstr: "Failed", }, { name: "details url", status: provider.StatusOpts{ - Conclusion: "failure", - DetailsURL: "http://fail.com", + Conclusion: "failure", + DetailsURL: "http://fail.com", + OriginalPipelineRunName: originalPipelineRunName, }, expectedDescSubstr: "Failed", }, { name: "pending", status: provider.StatusOpts{ - Conclusion: "pending", + Conclusion: "pending", + OriginalPipelineRunName: originalPipelineRunName, }, expectedDescSubstr: "started", }, { name: "success", status: provider.StatusOpts{ - Conclusion: "success", + Conclusion: "success", + OriginalPipelineRunName: originalPipelineRunName, }, expectedDescSubstr: "validated", }, { name: "completed", status: provider.StatusOpts{ - Conclusion: "completed", + Conclusion: "completed", + OriginalPipelineRunName: originalPipelineRunName, }, expectedDescSubstr: "Completed", }, + { + name: "application name", + status: provider.StatusOpts{ + Conclusion: "completed", + OriginalPipelineRunName: originalPipelineRunName, + }, + applicationName: "HELLO APP", + expectedDescSubstr: "Completed", + }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { ctx, _ := rtesting.SetupFakeContext(t) bbclient, mux, tearDown := bbcloudtest.SetupBBCloudClient(t) defer tearDown() + + appName := tt.applicationName + if appName == "" { + appName = settings.PACApplicationNameDefaultValue + } + v := &Provider{ bbClient: bbclient, run: params.New(), pacInfo: &info.PacOpts{ Settings: settings.Settings{ - ApplicationName: settings.PACApplicationNameDefaultValue, + ApplicationName: appName, }, }, } @@ -359,7 +384,7 @@ func TestCreateStatus(t *testing.T) { event.EventType = "pull_request" event.Provider.Token = "token" - bbcloudtest.MuxCreateCommitstatus(t, mux, event, tt.expectedDescSubstr, tt.status) + bbcloudtest.MuxCreateCommitstatus(t, mux, event, tt.expectedDescSubstr, appName, tt.status) bbcloudtest.MuxCreateComment(t, mux, event, tt.expectedCommentSubstr) err := v.CreateStatus(ctx, event, tt.status) diff --git a/pkg/provider/bitbucketcloud/test/bbcloudtest.go b/pkg/provider/bitbucketcloud/test/bbcloudtest.go index 81b2b17dcd..3638d8959a 100644 --- a/pkg/provider/bitbucketcloud/test/bbcloudtest.go +++ b/pkg/provider/bitbucketcloud/test/bbcloudtest.go @@ -13,6 +13,7 @@ import ( "github.com/ktrysmt/go-bitbucket" "github.com/openshift-pipelines/pipelines-as-code/pkg/params/info" + "github.com/openshift-pipelines/pipelines-as-code/pkg/params/settings" "github.com/openshift-pipelines/pipelines-as-code/pkg/provider" "github.com/openshift-pipelines/pipelines-as-code/pkg/provider/bitbucketcloud/types" "gotest.tools/v3/assert" @@ -144,7 +145,7 @@ func MuxRepoInfo(t *testing.T, mux *http.ServeMux, event *info.Event, repo *bitb }) } -func MuxCreateCommitstatus(t *testing.T, mux *http.ServeMux, event *info.Event, expectedDescSubstr string, expStatus provider.StatusOpts) { +func MuxCreateCommitstatus(t *testing.T, mux *http.ServeMux, event *info.Event, expectedDescSubstr, applicationName string, expStatus provider.StatusOpts) { t.Helper() path := fmt.Sprintf("/repositories/%s/%s/commit/%s/statuses/build", event.Organization, event.Repository, event.SHA) @@ -153,6 +154,8 @@ func MuxCreateCommitstatus(t *testing.T, mux *http.ServeMux, event *info.Event, bit, _ := io.ReadAll(r.Body) err := json.Unmarshal(bit, cso) assert.NilError(t, err) + pacOpts := &info.PacOpts{Settings: settings.Settings{ApplicationName: applicationName}} + assert.Equal(t, provider.GetCheckName(expStatus, pacOpts), cso.Key) if expStatus.DetailsURL != "" { assert.Equal(t, expStatus.DetailsURL, cso.Url)