Skip to content
This repository was archived by the owner on Mar 21, 2025. It is now read-only.

Commit 7c6da75

Browse files
author
Michael Sauter
committed
Check Bitbucket build status in E2E test
Closes #187.
1 parent c41cb49 commit 7c6da75

File tree

5 files changed

+18
-17
lines changed

5 files changed

+18
-17
lines changed

pkg/tasktesting/bitbucket.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,3 +33,14 @@ func BitbucketClientOrFatal(t *testing.T, c *kclient.Clientset, namespace string
3333
})
3434
return bitbucketClient
3535
}
36+
37+
func CheckBitbucketBuildStatus(t *testing.T, c *bitbucket.Client, gitCommit, wantBuildStatus string) {
38+
buildStatus, err := c.BuildStatusGet(gitCommit)
39+
if err != nil {
40+
t.Fatal(err)
41+
}
42+
if buildStatus.State != wantBuildStatus {
43+
t.Fatalf("Got: %s, want: %s", buildStatus.State, wantBuildStatus)
44+
}
45+
46+
}

test/e2e/e2e_test.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ func TestWebhookInterceptor(t *testing.T) {
148148
t.Log(logs)
149149
t.Fatal()
150150
}
151+
152+
tasktesting.CheckBitbucketBuildStatus(t, bitbucketClient, odsContext.GitCommitSHA, bitbucket.BuildStatusSuccessful)
151153
}
152154

153155
func waitForServiceToBeReady(t *testing.T, clientset *k8s.Clientset, ns, name string, timeout time.Duration) error {

test/tasks/common_test.go

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import (
1010
"time"
1111

1212
"github.com/opendevstack/pipeline/internal/kubernetes"
13-
"github.com/opendevstack/pipeline/pkg/bitbucket"
1413
"github.com/opendevstack/pipeline/pkg/config"
1514
"github.com/opendevstack/pipeline/pkg/pipelinectxt"
1615
"github.com/opendevstack/pipeline/pkg/sonar"
@@ -177,14 +176,3 @@ func createODSYML(wsDir string, o *config.ODS) error {
177176
filename := filepath.Join(wsDir, "ods.yaml")
178177
return ioutil.WriteFile(filename, y, 0644)
179178
}
180-
181-
func checkBuildStatus(t *testing.T, c *bitbucket.Client, gitCommit, wantBuildStatus string) {
182-
buildStatus, err := c.BuildStatusGet(gitCommit)
183-
if err != nil {
184-
t.Fatal(err)
185-
}
186-
if buildStatus.State != wantBuildStatus {
187-
t.Fatalf("Got: %s, want: %s", buildStatus.State, wantBuildStatus)
188-
}
189-
190-
}

test/tasks/ods-finish_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func TestTaskODSFinish(t *testing.T) {
3232
WantRunSuccess: true,
3333
PostRunFunc: func(t *testing.T, ctxt *tasktesting.TaskRunContext) {
3434
bitbucketClient := tasktesting.BitbucketClientOrFatal(t, ctxt.Clients.KubernetesClientSet, ctxt.Namespace)
35-
checkBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusFailed)
35+
tasktesting.CheckBitbucketBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusFailed)
3636
},
3737
},
3838
"set bitbucket build status to successful and upload artifacts to temporary Nexus repository": {
@@ -50,7 +50,7 @@ func TestTaskODSFinish(t *testing.T) {
5050
WantRunSuccess: true,
5151
PostRunFunc: func(t *testing.T, ctxt *tasktesting.TaskRunContext) {
5252
bitbucketClient := tasktesting.BitbucketClientOrFatal(t, ctxt.Clients.KubernetesClientSet, ctxt.Namespace)
53-
checkBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusSuccessful)
53+
tasktesting.CheckBitbucketBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusSuccessful)
5454
checkArtifactsAreInNexus(t, ctxt, nexus.TemporaryRepositoryDefault)
5555
},
5656
},
@@ -73,7 +73,7 @@ func TestTaskODSFinish(t *testing.T) {
7373
WantRunSuccess: true,
7474
PostRunFunc: func(t *testing.T, ctxt *tasktesting.TaskRunContext) {
7575
bitbucketClient := tasktesting.BitbucketClientOrFatal(t, ctxt.Clients.KubernetesClientSet, ctxt.Namespace)
76-
checkBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusSuccessful)
76+
tasktesting.CheckBitbucketBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusSuccessful)
7777
checkArtifactsAreInNexus(t, ctxt, nexus.PermanentRepositoryDefault)
7878
},
7979
},

test/tasks/ods-start_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func TestTaskODSStart(t *testing.T) {
5757
checkODSContext(t, wsDir, ctxt.ODS)
5858

5959
bitbucketClient := tasktesting.BitbucketClientOrFatal(t, ctxt.Clients.KubernetesClientSet, ctxt.Namespace)
60-
checkBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusInProgress)
60+
tasktesting.CheckBitbucketBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusInProgress)
6161

6262
downloadedArtifact := filepath.Join(wsDir, pipelinectxt.PipelineRunsPath, "foo-zh9gt0.json")
6363
if _, err := os.Stat(downloadedArtifact); os.IsNotExist(err) {
@@ -142,7 +142,7 @@ func TestTaskODSStart(t *testing.T) {
142142
checkFileContent(t, destinationArtifactsBaseDir, xUnitFileSource, xUnitContent)
143143

144144
bitbucketClient := tasktesting.BitbucketClientOrFatal(t, ctxt.Clients.KubernetesClientSet, ctxt.Namespace)
145-
checkBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusInProgress)
145+
tasktesting.CheckBitbucketBuildStatus(t, bitbucketClient, ctxt.ODS.GitCommitSHA, bitbucket.BuildStatusInProgress)
146146

147147
},
148148
},

0 commit comments

Comments
 (0)