@@ -320,6 +320,35 @@ func TestUploadFiles_Errors(t *testing.T) {
320
320
err = client .uploadFiles (ctx , d , files , nil , fileUpload , time .Minute , false )
321
321
require .Equal (t , err .Error (), "[PUT /deploys/{deploy_id}/files/{path}][500] uploadDeployFile default &{Code:0 Message:}" )
322
322
}
323
+ func TestUploadFiles400Errors (t * testing.T ) {
324
+ ctx := gocontext .Background ()
325
+
326
+ server := httptest .NewServer (http .HandlerFunc (func (rw http.ResponseWriter , _ * http.Request ) {
327
+ rw .WriteHeader (http .StatusUnprocessableEntity )
328
+ }))
329
+ defer server .Close ()
330
+
331
+ hu , _ := url .Parse (server .URL )
332
+ tr := apiClient .NewWithClient (hu .Host , "/api/v1" , []string {"http" }, http .DefaultClient )
333
+ client := NewRetryable (tr , strfmt .Default , 1 )
334
+ client .uploadLimit = 1
335
+ ctx = context .WithAuthInfo (ctx , apiClient .BearerToken ("token" ))
336
+
337
+ // Create some files to deploy
338
+ dir , err := ioutil .TempDir ("" , "deploy" )
339
+ require .NoError (t , err )
340
+ defer os .RemoveAll (dir )
341
+ require .NoError (t , ioutil .WriteFile (filepath .Join (dir , "foo.html" ), []byte ("Hello" ), 0644 ))
342
+
343
+ files , err := walk (dir , nil , false , false )
344
+ require .NoError (t , err )
345
+ d := & models.Deploy {}
346
+ for _ , bundle := range files .Files {
347
+ d .Required = append (d .Required , bundle .Sum )
348
+ }
349
+ err = client .uploadFiles (ctx , d , files , nil , fileUpload , time .Minute , false )
350
+ require .Equal (t , err .Error (), "[PUT /deploys/{deploy_id}/files/{path}][422] uploadDeployFile default &{Code:422 Message:}" )
351
+ }
323
352
324
353
func TestUploadFiles_SkipEqualFiles (t * testing.T ) {
325
354
ctx := gocontext .Background ()
0 commit comments