Should be returning status code 400 for ACME Account Not Found.

Issue #173
This commit is contained in:
max furman 2020-02-01 17:35:41 -08:00
parent 752bfeeccd
commit c255274572
6 changed files with 20 additions and 20 deletions

View file

@ -96,7 +96,7 @@ func (h *Handler) NewAccount(w http.ResponseWriter, r *http.Request) {
acc, err := accountFromContext(r) acc, err := accountFromContext(r)
if err != nil { if err != nil {
acmeErr, ok := err.(*acme.Error) acmeErr, ok := err.(*acme.Error)
if !ok || acmeErr.Status != http.StatusNotFound { if !ok || acmeErr.Status != http.StatusBadRequest {
// Something went wrong ... // Something went wrong ...
api.WriteError(w, err) api.WriteError(w, err)
return return

View file

@ -202,7 +202,7 @@ func TestHandlerGetOrdersByAccount(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -212,7 +212,7 @@ func TestHandlerGetOrdersByAccount(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -378,7 +378,7 @@ func TestHandlerNewAccount(t *testing.T) {
ctx = context.WithValue(ctx, payloadContextKey, &payloadInfo{value: b}) ctx = context.WithValue(ctx, payloadContextKey, &payloadInfo{value: b})
return test{ return test{
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -569,7 +569,7 @@ func TestHandlerGetUpdateAccount(t *testing.T) {
"fail/no-account": func(t *testing.T) test { "fail/no-account": func(t *testing.T) test {
return test{ return test{
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -578,7 +578,7 @@ func TestHandlerGetUpdateAccount(t *testing.T) {
ctx = context.WithValue(ctx, accContextKey, nil) ctx = context.WithValue(ctx, accContextKey, nil)
return test{ return test{
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },

View file

@ -372,7 +372,7 @@ func TestHandlerGetAuthz(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -382,7 +382,7 @@ func TestHandlerGetAuthz(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -504,7 +504,7 @@ func TestHandlerGetCertificate(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -513,7 +513,7 @@ func TestHandlerGetCertificate(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -623,7 +623,7 @@ func TestHandlerGetChallenge(t *testing.T) {
"fail/no-account": func(t *testing.T) test { "fail/no-account": func(t *testing.T) test {
return test{ return test{
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -632,7 +632,7 @@ func TestHandlerGetChallenge(t *testing.T) {
ctx = context.WithValue(ctx, accContextKey, nil) ctx = context.WithValue(ctx, accContextKey, nil)
return test{ return test{
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },

View file

@ -842,7 +842,7 @@ func TestHandlerLookupJWK(t *testing.T) {
}, },
}, },
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },

View file

@ -205,7 +205,7 @@ func TestHandlerGetOrder(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -215,7 +215,7 @@ func TestHandlerGetOrder(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -343,7 +343,7 @@ func TestHandlerNewOrder(t *testing.T) {
"fail/no-account": func(t *testing.T) test { "fail/no-account": func(t *testing.T) test {
return test{ return test{
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -352,7 +352,7 @@ func TestHandlerNewOrder(t *testing.T) {
ctx = context.WithValue(ctx, accContextKey, nil) ctx = context.WithValue(ctx, accContextKey, nil)
return test{ return test{
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -597,7 +597,7 @@ func TestHandlerFinalizeOrder(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: context.WithValue(context.Background(), provisionerContextKey, prov), ctx: context.WithValue(context.Background(), provisionerContextKey, prov),
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },
@ -607,7 +607,7 @@ func TestHandlerFinalizeOrder(t *testing.T) {
return test{ return test{
auth: &mockAcmeAuthority{}, auth: &mockAcmeAuthority{},
ctx: ctx, ctx: ctx,
statusCode: 404, statusCode: 400,
problem: acme.AccountDoesNotExistErr(nil), problem: acme.AccountDoesNotExistErr(nil),
} }
}, },

View file

@ -9,7 +9,7 @@ func AccountDoesNotExistErr(err error) *Error {
return &Error{ return &Error{
Type: accountDoesNotExistErr, Type: accountDoesNotExistErr,
Detail: "Account does not exist", Detail: "Account does not exist",
Status: 404, Status: 400,
Err: err, Err: err,
} }
} }