Skip to content

Commit

Permalink
Merge pull request moby#46555 from thaJeztah/distribution_test_fixes
Browse files Browse the repository at this point in the history
fix faulty tests for distribution-client
  • Loading branch information
thaJeztah authored Sep 27, 2023
2 parents 7c0c525 + 2c89640 commit a1d966c
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 2 deletions.
21 changes: 21 additions & 0 deletions distribution/pull_v2_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -268,6 +268,27 @@ func TestPullSchema2Config(t *testing.T) {
name: "unauthorized",
handler: func(callCount int, w http.ResponseWriter) {
w.WriteHeader(http.StatusUnauthorized)
// FIXME: current distribution client does not handle plain-text error-responses, so this response is ignored.
_, _ = w.Write([]byte("you need to be authenticated"))
},
expectError: "unauthorized: authentication required",
expectAttempts: 1,
},
{
name: "unauthorized JSON",
handler: func(callCount int, w http.ResponseWriter) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusUnauthorized)
_, _ = w.Write([]byte(` { "errors": [{"code": "UNAUTHORIZED", "message": "you need to be authenticated", "detail": "more detail"}]}`))
},
expectError: "unauthorized: you need to be authenticated",
expectAttempts: 1,
},
{
name: "unauthorized JSON no body",
handler: func(callCount int, w http.ResponseWriter) {
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusUnauthorized)
},
expectError: "unauthorized: authentication required",
expectAttempts: 1,
Expand Down
4 changes: 2 additions & 2 deletions integration-cli/docker_cli_push_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -235,13 +235,13 @@ func getTestTokenService(status int, body string, retries int) *httptest.Server
return httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
mu.Lock()
if retries > 0 {
w.WriteHeader(http.StatusServiceUnavailable)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(http.StatusServiceUnavailable)
w.Write([]byte(`{"errors":[{"code":"UNAVAILABLE","message":"cannot create token at this time"}]}`))
retries--
} else {
w.WriteHeader(status)
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(status)
w.Write([]byte(body))
}
mu.Unlock()
Expand Down

0 comments on commit a1d966c

Please sign in to comment.