Merge pull request #46555 from thaJeztah/distribution_test_fixes

fix faulty tests for distribution-client
This commit is contained in:
Sebastiaan van Stijn 2023-09-27 17:06:01 +02:00 committed by GitHub
commit a1d966c492
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 2 deletions

View file

@ -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,

View file

@ -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()