sa: replacing error assertions with errors.As (#5142)

errors.As checks for a specific error in a wrapped error chain
(see https://golang.org/pkg/errors/#As) as opposed to asserting
that an error is of a specific type.

Part of #5010
This commit is contained in:
Samantha 2020-10-30 15:48:59 -07:00 committed by GitHub
parent 44db28811b
commit befe860be8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 12 deletions

View File

@ -1,6 +1,7 @@
package sa
import (
"errors"
"testing"
"github.com/letsencrypt/boulder/grpc"
@ -35,8 +36,8 @@ func TestModelToRegistrationBadJSON(t *testing.T) {
Key: badJSON,
})
test.AssertError(t, err, "expected error from truncated reg model key")
badJSONErr, ok := err.(errBadJSON)
test.AssertEquals(t, ok, true)
var badJSONErr errBadJSON
test.AssertEquals(t, errors.As(err, &badJSONErr), true)
test.AssertEquals(t, string(badJSONErr.json), string(badJSON))
}
@ -170,8 +171,8 @@ func TestModelToChallengeBadJSON(t *testing.T) {
t.Run(tc.Name, func(t *testing.T) {
_, err := modelToChallenge(tc.Model)
test.AssertError(t, err, "expected error from modelToChallenge")
badJSONErr, ok := err.(errBadJSON)
test.AssertEquals(t, ok, true)
var badJSONErr errBadJSON
test.AssertEquals(t, errors.As(err, &badJSONErr), true)
test.AssertEquals(t, string(badJSONErr.json), string(badJSON))
})
}
@ -185,8 +186,8 @@ func TestModelToOrderBadJSON(t *testing.T) {
Error: badJSON,
})
test.AssertError(t, err, "expected error from modelToOrder")
badJSONErr, ok := err.(errBadJSON)
test.AssertEquals(t, ok, true)
var badJSONErr errBadJSON
test.AssertEquals(t, errors.As(err, &badJSONErr), true)
test.AssertEquals(t, string(badJSONErr.json), string(badJSON))
}
@ -217,8 +218,8 @@ func TestPopulateAttemptedFieldsBadJSON(t *testing.T) {
t.Run(tc.Name, func(t *testing.T) {
err := populateAttemptedFields(*tc.Model, &corepb.Challenge{})
test.AssertError(t, err, "expected error from populateAttemptedFields")
badJSONErr, ok := err.(errBadJSON)
test.AssertEquals(t, ok, true)
var badJSONErr errBadJSON
test.AssertEquals(t, errors.As(err, &badJSONErr), true)
test.AssertEquals(t, string(badJSONErr.json), string(badJSON))
})
}

View File

@ -2,6 +2,7 @@ package sa
import (
"encoding/json"
"errors"
"testing"
"github.com/letsencrypt/boulder/core"
@ -46,8 +47,8 @@ func TestAcmeIdentifierBadJSON(t *testing.T) {
scanner, _ := tc.FromDb(&out)
err := scanner.Binder(&badJSON, &out)
test.AssertError(t, err, "expected error from scanner.Binder")
badJSONErr, ok := err.(errBadJSON)
test.AssertEquals(t, ok, true)
var badJSONErr errBadJSON
test.AssertEquals(t, errors.As(err, &badJSONErr), true)
test.AssertEquals(t, string(badJSONErr.json), string(badJSON))
}
@ -83,8 +84,8 @@ func TestJSONWebKeyBadJSON(t *testing.T) {
scanner, _ := tc.FromDb(&out)
err := scanner.Binder(&badJSON, &out)
test.AssertError(t, err, "expected error from scanner.Binder")
badJSONErr, ok := err.(errBadJSON)
test.AssertEquals(t, ok, true)
var badJSONErr errBadJSON
test.AssertEquals(t, errors.As(err, &badJSONErr), true)
test.AssertEquals(t, string(badJSONErr.json), string(badJSON))
}