Skip to content

Commit 9b326af

Browse files
committed
test
1 parent de2b8c1 commit 9b326af

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

go/porcelain/deploy_test.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,35 @@ func TestUploadFiles_Errors(t *testing.T) {
320320
err = client.uploadFiles(ctx, d, files, nil, fileUpload, time.Minute, false)
321321
require.Equal(t, err.Error(), "[PUT /deploys/{deploy_id}/files/{path}][500] uploadDeployFile default &{Code:0 Message:}")
322322
}
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+
}
323352

324353
func TestUploadFiles_SkipEqualFiles(t *testing.T) {
325354
ctx := gocontext.Background()

0 commit comments

Comments
 (0)