@@ -41,6 +41,11 @@ func TestDeploy(t *testing.T) {
4141 server : testTriggerServer (t ),
4242 projectID : "correct" ,
4343 },
44+ "pipeline failed" : {
45+ server : testFailedTriggerServer (t ),
46+ projectID : "failed" ,
47+ expectErr : true ,
48+ },
4449 "pipeline fails" : {
4550 server : testTriggerServer (t ),
4651 projectID : "fails-bad-request" ,
@@ -97,13 +102,6 @@ func testTriggerServer(t *testing.T) *httptest.Server {
97102 })
98103 require .NoError (t , err )
99104 w .Write (data )
100- case r .Method == http .MethodGet && r .URL .Path == fmt .Sprintf (pipelineStatusEndpointTemplate , "failed" , 1 ) && r .URL .Query ().Get ("environment" ) == "environmentName" :
101- data , err := resources .EncodeResourceToJSON (& resources.PipelineStatus {
102- ID : 1 ,
103- Status : "failed" ,
104- })
105- require .NoError (t , err )
106- w .Write (data )
107105 case r .Method == http .MethodPost && r .URL .Path == fmt .Sprintf (deployProjectEndpointTemplate , "fails-bad-request" ):
108106 respBody := `{"error": "Bad Request","message":"some bad request"}`
109107
@@ -122,3 +120,32 @@ func testTriggerServer(t *testing.T) *httptest.Server {
122120
123121 return server
124122}
123+
124+ func testFailedTriggerServer (t * testing.T ) * httptest.Server {
125+ t .Helper ()
126+ server := httptest .NewServer (http .HandlerFunc (func (w http.ResponseWriter , r * http.Request ) {
127+ t .Helper ()
128+ switch {
129+ case r .Method == http .MethodPost && r .URL .Path == fmt .Sprintf (deployProjectEndpointTemplate , "failed" ):
130+ data , err := resources .EncodeResourceToJSON (& resources.DeployProject {
131+ ID : 1 ,
132+ URL : "http://example.com" ,
133+ })
134+
135+ require .NoError (t , err )
136+ w .Write (data )
137+ case r .Method == http .MethodGet && r .URL .Path == fmt .Sprintf (pipelineStatusEndpointTemplate , "failed" , 1 ) && r .URL .Query ().Get ("environment" ) == "environmentName" :
138+ data , err := resources .EncodeResourceToJSON (& resources.PipelineStatus {
139+ ID : 1 ,
140+ Status : "failed" ,
141+ })
142+ require .NoError (t , err )
143+ w .Write (data )
144+ default :
145+ w .WriteHeader (http .StatusNotFound )
146+ require .FailNowf (t , "unknown http request" , "request method: %s request URL: %s" , r .Method , r .URL )
147+ }
148+ }))
149+
150+ return server
151+ }
0 commit comments