From befe860be8061396931e31f2e20e5e8752e598dd Mon Sep 17 00:00:00 2001 From: Samantha Date: Fri, 30 Oct 2020 15:48:59 -0700 Subject: [PATCH] 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 --- sa/model_test.go | 17 +++++++++-------- sa/type-converter_test.go | 9 +++++---- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/sa/model_test.go b/sa/model_test.go index 9aed05cc9..fcaaad0a8 100644 --- a/sa/model_test.go +++ b/sa/model_test.go @@ -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)) }) } diff --git a/sa/type-converter_test.go b/sa/type-converter_test.go index 4cceb5031..41e0e812d 100644 --- a/sa/type-converter_test.go +++ b/sa/type-converter_test.go @@ -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)) }