Skip to content

Commit 107dbe6

Browse files
committed
save changes
1 parent 75e7e49 commit 107dbe6

File tree

1 file changed

+44
-26
lines changed

1 file changed

+44
-26
lines changed

go/porcelain/deploy_test.go

Lines changed: 44 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -330,35 +330,53 @@ func TestUploadFiles400Error_SkipsRetry(t *testing.T) {
330330
attempts++
331331
}()
332332

333+
rw.Header().Set("Content-Type", "application/json; charset=utf-8")
333334
rw.WriteHeader(http.StatusUnprocessableEntity)
335+
rw.Write([]byte(`{"message": "Unprocessable Entity", "code": 422 }`))
336+
}))
337+
defer server.Close()
338+
339+
// File upload:
340+
hu, _ := url.Parse(server.URL)
341+
tr := apiClient.NewWithClient(hu.Host, "/api/v1", []string{"http"}, http.DefaultClient)
342+
client := NewRetryable(tr, strfmt.Default, 1)
343+
client.uploadLimit = 1
344+
ctx = context.WithAuthInfo(ctx, apiClient.BearerToken("token"))
345+
346+
// Create some files to deploy
347+
dir, err := ioutil.TempDir("", "deploy")
348+
require.NoError(t, err)
349+
defer os.RemoveAll(dir)
350+
require.NoError(t, ioutil.WriteFile(filepath.Join(dir, "foo.html"), []byte("Hello"), 0644))
351+
352+
files, err := walk(dir, nil, false, false)
353+
require.NoError(t, err)
354+
d := &models.Deploy{}
355+
for _, bundle := range files.Files {
356+
d.Required = append(d.Required, bundle.Sum)
357+
}
358+
// Set SkipRetry to true
359+
err = client.uploadFiles(ctx, d, files, nil, fileUpload, time.Minute, true)
360+
require.Equal(t, err, "[PUT /deploys/{deploy_id}/files/{path}][422] uploadDeployFile default &{Code:422 Message: Unprocessable Entity}")
361+
require.Equal(t, attempts, 1)
362+
}
363+
364+
func TestUploadFunctions422Error_SkipsRetry(t *testing.T) {
365+
attempts := 0
366+
ctx := gocontext.Background()
367+
368+
server := httptest.NewServer(http.HandlerFunc(func(rw http.ResponseWriter, _ *http.Request) {
369+
defer func() {
370+
attempts++
371+
}()
372+
334373
rw.Header().Set("Content-Type", "application/json; charset=utf-8")
374+
rw.WriteHeader(http.StatusUnprocessableEntity)
335375
rw.Write([]byte(`{"message": "Unprocessable Entity", "code": 422 }`))
336376
}))
337377
defer server.Close()
338378

339-
// // File upload:
340-
// hu, _ := url.Parse(server.URL)
341-
// tr := apiClient.NewWithClient(hu.Host, "/api/v1", []string{"http"}, http.DefaultClient)
342-
// client := NewRetryable(tr, strfmt.Default, 1)
343-
// client.uploadLimit = 1
344-
// ctx = context.WithAuthInfo(ctx, apiClient.BearerToken("token"))
345-
346-
// // Create some files to deploy
347-
// dir, err := ioutil.TempDir("", "deploy")
348-
// require.NoError(t, err)
349-
// defer os.RemoveAll(dir)
350-
// require.NoError(t, ioutil.WriteFile(filepath.Join(dir, "foo.html"), []byte("Hello"), 0644))
351-
352-
// files, err := walk(dir, nil, false, false)
353-
// require.NoError(t, err)
354-
// d := &models.Deploy{}
355-
// for _, bundle := range files.Files {
356-
// d.Required = append(d.Required, bundle.Sum)
357-
// }
358-
// // Set SkipRetry to true
359-
// err = client.uploadFiles(ctx, d, files, nil, fileUpload, time.Minute, true)
360-
361-
// // Function upload:
379+
// Function upload:
362380
hu, _ := url.Parse(server.URL)
363381
tr := apiClient.NewWithClient(hu.Host, "/api/v1", []string{"http"}, http.DefaultClient)
364382
client := NewRetryable(tr, strfmt.Default, 1)
@@ -379,7 +397,7 @@ func TestUploadFiles400Error_SkipsRetry(t *testing.T) {
379397
d.RequiredFunctions = append(d.RequiredFunctions, bundle.Sum)
380398
}
381399
// Set SkipRetry to true
382-
require.NoError(t, client.uploadFiles(apiCtx, d, files, nil, functionUpload, time.Minute, true))
400+
err = client.uploadFiles(apiCtx, d, files, nil, functionUpload, time.Minute, true)
383401
require.Equal(t, err, "[PUT /deploys/{deploy_id}/files/{path}][422] uploadDeployFile default &{Code:422 Message: Unprocessable Entity}")
384402
require.Equal(t, attempts, 1)
385403
}
@@ -393,8 +411,8 @@ func TestUploadFiles400Error_NoSkipRetry(t *testing.T) {
393411
attempts++
394412
}()
395413

396-
rw.WriteHeader(http.StatusUnprocessableEntity)
397414
rw.Header().Set("Content-Type", "application/json; charset=utf-8")
415+
rw.WriteHeader(http.StatusUnprocessableEntity)
398416
rw.Write([]byte(`{"message": "Unprocessable Entity", "code": 422 }`))
399417
return
400418
}))
@@ -420,7 +438,7 @@ func TestUploadFiles400Error_NoSkipRetry(t *testing.T) {
420438
}
421439
// Set SkipRetry to false
422440
err = client.uploadFiles(ctx, d, files, nil, fileUpload, time.Minute, false)
423-
// require.Equal(t, err, "[PUT /deploys/{deploy_id}/files/{path}][422] uploadDeployFile default &{Code:422 Message: Unprocessable Entity}")
441+
require.Equal(t, err, "[PUT /deploys/{deploy_id}/files/{path}][422] uploadDeployFile default &{Code:422 Message: Unprocessable Entity}")
424442
require.Equal(t, attempts, 12)
425443
}
426444

0 commit comments

Comments
 (0)