Skip to content

Commit 7203739

Browse files
committed
Fix err assert linter warnings - upgrade outdated package
1 parent b142fc7 commit 7203739

File tree

9 files changed

+100
-78
lines changed

9 files changed

+100
-78
lines changed

authority/provisioner/provisioner_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,10 @@ func TestUnimplementedMethods(t *testing.T) {
241241
default:
242242
t.Errorf("unexpected method %s", tt.method)
243243
}
244-
sc, ok := err.(render.StatusCodedError)
245-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
246-
assert.Equals(t, sc.StatusCode(), http.StatusUnauthorized)
244+
var sc render.StatusCodedError
245+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
246+
assert.Equals(t, sc.StatusCode(), http.StatusUnauthorized)
247+
}
247248
assert.Equals(t, err.Error(), msg)
248249
})
249250
}

authority/provisioner/sshpop_test.go

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,10 @@ func TestSSHPOP_authorizeToken(t *testing.T) {
218218
t.Run(name, func(t *testing.T) {
219219
tc := tt(t)
220220
if claims, err := tc.p.authorizeToken(tc.token, testAudiences.Sign, true); err != nil {
221-
sc, ok := err.(render.StatusCodedError)
222-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
223-
assert.Equals(t, sc.StatusCode(), tc.code)
221+
var sc render.StatusCodedError
222+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
223+
assert.Equals(t, sc.StatusCode(), tc.code)
224+
}
224225
if assert.NotNil(t, tc.err) {
225226
assert.HasPrefix(t, err.Error(), tc.err.Error())
226227
}
@@ -289,9 +290,10 @@ func TestSSHPOP_AuthorizeSSHRevoke(t *testing.T) {
289290
t.Run(name, func(t *testing.T) {
290291
tc := tt(t)
291292
if err := tc.p.AuthorizeSSHRevoke(context.Background(), tc.token); err != nil {
292-
sc, ok := err.(render.StatusCodedError)
293-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
294-
assert.Equals(t, sc.StatusCode(), tc.code)
293+
var sc render.StatusCodedError
294+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
295+
assert.Equals(t, sc.StatusCode(), tc.code)
296+
}
295297
if assert.NotNil(t, tc.err) {
296298
assert.HasPrefix(t, err.Error(), tc.err.Error())
297299
}
@@ -370,9 +372,10 @@ func TestSSHPOP_AuthorizeSSHRenew(t *testing.T) {
370372
tc := tt(t)
371373
if cert, err := tc.p.AuthorizeSSHRenew(context.Background(), tc.token); err != nil {
372374
if assert.NotNil(t, tc.err) {
373-
sc, ok := err.(render.StatusCodedError)
374-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
375-
assert.Equals(t, sc.StatusCode(), tc.code)
375+
var sc render.StatusCodedError
376+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
377+
assert.Equals(t, sc.StatusCode(), tc.code)
378+
}
376379
assert.HasPrefix(t, err.Error(), tc.err.Error())
377380
}
378381
} else {
@@ -452,9 +455,10 @@ func TestSSHPOP_AuthorizeSSHRekey(t *testing.T) {
452455
tc := tt(t)
453456
if cert, opts, err := tc.p.AuthorizeSSHRekey(context.Background(), tc.token); err != nil {
454457
if assert.NotNil(t, tc.err) {
455-
sc, ok := err.(render.StatusCodedError)
456-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
457-
assert.Equals(t, sc.StatusCode(), tc.code)
458+
var sc render.StatusCodedError
459+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
460+
assert.Equals(t, sc.StatusCode(), tc.code)
461+
}
458462
assert.HasPrefix(t, err.Error(), tc.err.Error())
459463
}
460464
} else {

authority/provisioner/x5c_test.go

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -389,9 +389,10 @@ lgsqsR63is+0YQ==
389389
tc := tt(t)
390390
if claims, err := tc.p.authorizeToken(tc.token, testAudiences.Sign); err != nil {
391391
if assert.NotNil(t, tc.err) {
392-
sc, ok := err.(render.StatusCodedError)
393-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
394-
assert.Equals(t, sc.StatusCode(), tc.code)
392+
var sc render.StatusCodedError
393+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
394+
assert.Equals(t, sc.StatusCode(), tc.code)
395+
}
395396
assert.HasPrefix(t, err.Error(), tc.err.Error())
396397
}
397398
} else {
@@ -460,9 +461,10 @@ func TestX5C_AuthorizeSign(t *testing.T) {
460461
tc := tt(t)
461462
if opts, err := tc.p.AuthorizeSign(context.Background(), tc.token); err != nil {
462463
if assert.NotNil(t, tc.err) {
463-
sc, ok := err.(render.StatusCodedError)
464-
assert.Fatal(t, ok, "error does not implement StatusCoder interface")
465-
assert.Equals(t, sc.StatusCode(), tc.code)
464+
var sc render.StatusCodedError
465+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
466+
assert.Equals(t, sc.StatusCode(), tc.code)
467+
}
466468
assert.HasPrefix(t, err.Error(), tc.err.Error())
467469
}
468470
} else {
@@ -547,9 +549,10 @@ func TestX5C_AuthorizeRevoke(t *testing.T) {
547549
tc := tt(t)
548550
if err := tc.p.AuthorizeRevoke(context.Background(), tc.token); err != nil {
549551
if assert.NotNil(t, tc.err) {
550-
sc, ok := err.(render.StatusCodedError)
551-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
552-
assert.Equals(t, sc.StatusCode(), tc.code)
552+
var sc render.StatusCodedError
553+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
554+
assert.Equals(t, sc.StatusCode(), tc.code)
555+
}
553556
assert.HasPrefix(t, err.Error(), tc.err.Error())
554557
}
555558
} else {
@@ -597,9 +600,10 @@ func TestX5C_AuthorizeRenew(t *testing.T) {
597600
NotAfter: now.Add(time.Hour),
598601
}); err != nil {
599602
if assert.NotNil(t, tc.err) {
600-
sc, ok := err.(render.StatusCodedError)
601-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
602-
assert.Equals(t, sc.StatusCode(), tc.code)
603+
var sc render.StatusCodedError
604+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
605+
assert.Equals(t, sc.StatusCode(), tc.code)
606+
}
603607
assert.HasPrefix(t, err.Error(), tc.err.Error())
604608
}
605609
} else {
@@ -758,9 +762,10 @@ func TestX5C_AuthorizeSSHSign(t *testing.T) {
758762
tc := tt(t)
759763
if opts, err := tc.p.AuthorizeSSHSign(context.Background(), tc.token); err != nil {
760764
if assert.NotNil(t, tc.err) {
761-
sc, ok := err.(render.StatusCodedError)
762-
assert.Fatal(t, ok, "error does not implement StatusCoder interface")
763-
assert.Equals(t, sc.StatusCode(), tc.code)
765+
var sc render.StatusCodedError
766+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
767+
assert.Equals(t, sc.StatusCode(), tc.code)
768+
}
764769
assert.HasPrefix(t, err.Error(), tc.err.Error())
765770
}
766771
} else {

authority/provisioners_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,10 @@ func TestGetEncryptedKey(t *testing.T) {
5858
ek, err := tc.a.GetEncryptedKey(tc.kid)
5959
if err != nil {
6060
if assert.NotNil(t, tc.err) {
61-
sc, ok := err.(render.StatusCodedError)
62-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
63-
assert.Equals(t, sc.StatusCode(), tc.code)
61+
var sc render.StatusCodedError
62+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
63+
assert.Equals(t, sc.StatusCode(), tc.code)
64+
}
6465
assert.HasPrefix(t, err.Error(), tc.err.Error())
6566
}
6667
} else {
@@ -108,9 +109,10 @@ func TestGetProvisioners(t *testing.T) {
108109
ps, next, err := tc.a.GetProvisioners("", 0)
109110
if err != nil {
110111
if assert.NotNil(t, tc.err) {
111-
sc, ok := err.(render.StatusCodedError)
112-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
113-
assert.Equals(t, sc.StatusCode(), tc.code)
112+
var sc render.StatusCodedError
113+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
114+
assert.Equals(t, sc.StatusCode(), tc.code)
115+
}
114116
assert.HasPrefix(t, err.Error(), tc.err.Error())
115117
}
116118
} else {

authority/ssh_test.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -774,8 +774,8 @@ func TestAuthority_GetSSHBastion(t *testing.T) {
774774
t.Errorf("Authority.GetSSHBastion() error = %v, wantErr %v", err, tt.wantErr)
775775
return
776776
} else if err != nil {
777-
_, ok := err.(render.StatusCodedError)
778-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
777+
var sc render.StatusCodedError
778+
assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface")
779779
}
780780
if !reflect.DeepEqual(got, tt.want) {
781781
t.Errorf("Authority.GetSSHBastion() = %v, want %v", got, tt.want)
@@ -865,8 +865,9 @@ func TestAuthority_GetSSHHosts(t *testing.T) {
865865
if err != nil {
866866
if assert.NotNil(t, tc.err) {
867867
var sc render.StatusCodedError
868-
assert.Fatal(t, errors.As(err, &sc), "error does not implement StatusCodedError interface")
869-
assert.Equals(t, sc.StatusCode(), tc.code)
868+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
869+
assert.Equals(t, sc.StatusCode(), tc.code)
870+
}
870871
assert.HasPrefix(t, err.Error(), tc.err.Error())
871872
}
872873
} else {
@@ -1092,8 +1093,9 @@ func TestAuthority_RekeySSH(t *testing.T) {
10921093
if err != nil {
10931094
if assert.NotNil(t, tc.err) {
10941095
var sc render.StatusCodedError
1095-
assert.Fatal(t, errors.As(err, &sc), "error does not implement StatusCodedError interface")
1096-
assert.Equals(t, sc.StatusCode(), tc.code)
1096+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
1097+
assert.Equals(t, sc.StatusCode(), tc.code)
1098+
}
10971099
assert.HasPrefix(t, err.Error(), tc.err.Error())
10981100
}
10991101
} else {

ca/client_test.go

Lines changed: 32 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -519,9 +519,10 @@ func TestClient_Renew(t *testing.T) {
519519
t.Errorf("Client.Renew() = %v, want nil", got)
520520
}
521521

522-
sc, ok := err.(render.StatusCodedError)
523-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
524-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
522+
var sc render.StatusCodedError
523+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
524+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
525+
}
525526
assert.HasPrefix(t, err.Error(), tt.err.Error())
526527
default:
527528
if !reflect.DeepEqual(got, tt.response) {
@@ -587,9 +588,10 @@ func TestClient_RenewWithToken(t *testing.T) {
587588
t.Errorf("Client.RenewWithToken() = %v, want nil", got)
588589
}
589590

590-
sc, ok := err.(render.StatusCodedError)
591-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
592-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
591+
var sc render.StatusCodedError
592+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
593+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
594+
}
593595
assert.HasPrefix(t, err.Error(), tt.err.Error())
594596
default:
595597
if !reflect.DeepEqual(got, tt.response) {
@@ -656,9 +658,10 @@ func TestClient_Rekey(t *testing.T) {
656658
t.Errorf("Client.Renew() = %v, want nil", got)
657659
}
658660

659-
sc, ok := err.(render.StatusCodedError)
660-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
661-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
661+
var sc render.StatusCodedError
662+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
663+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
664+
}
662665
assert.HasPrefix(t, err.Error(), tt.err.Error())
663666
default:
664667
if !reflect.DeepEqual(got, tt.response) {
@@ -777,9 +780,10 @@ func TestClient_ProvisionerKey(t *testing.T) {
777780
t.Errorf("Client.ProvisionerKey() = %v, want nil", got)
778781
}
779782

780-
sc, ok := err.(render.StatusCodedError)
781-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
782-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
783+
var sc render.StatusCodedError
784+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
785+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
786+
}
783787
assert.HasPrefix(t, tt.err.Error(), err.Error())
784788
default:
785789
if !reflect.DeepEqual(got, tt.response) {
@@ -836,9 +840,10 @@ func TestClient_Roots(t *testing.T) {
836840
if got != nil {
837841
t.Errorf("Client.Roots() = %v, want nil", got)
838842
}
839-
sc, ok := err.(render.StatusCodedError)
840-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
841-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
843+
var sc render.StatusCodedError
844+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
845+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
846+
}
842847
assert.HasPrefix(t, err.Error(), tt.err.Error())
843848
default:
844849
if !reflect.DeepEqual(got, tt.response) {
@@ -894,9 +899,10 @@ func TestClient_Federation(t *testing.T) {
894899
if got != nil {
895900
t.Errorf("Client.Federation() = %v, want nil", got)
896901
}
897-
sc, ok := err.(render.StatusCodedError)
898-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
899-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
902+
var sc render.StatusCodedError
903+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
904+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
905+
}
900906
assert.HasPrefix(t, tt.err.Error(), err.Error())
901907
default:
902908
if !reflect.DeepEqual(got, tt.response) {
@@ -956,9 +962,10 @@ func TestClient_SSHRoots(t *testing.T) {
956962
if got != nil {
957963
t.Errorf("Client.SSHKeys() = %v, want nil", got)
958964
}
959-
sc, ok := err.(render.StatusCodedError)
960-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
961-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
965+
var sc render.StatusCodedError
966+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
967+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
968+
}
962969
assert.HasPrefix(t, tt.err.Error(), err.Error())
963970
default:
964971
if !reflect.DeepEqual(got, tt.response) {
@@ -1118,9 +1125,10 @@ func TestClient_SSHBastion(t *testing.T) {
11181125
t.Errorf("Client.SSHBastion() = %v, want nil", got)
11191126
}
11201127
if tt.responseCode != 200 {
1121-
sc, ok := err.(render.StatusCodedError)
1122-
assert.Fatal(t, ok, "error does not implement StatusCodedError interface")
1123-
assert.Equals(t, sc.StatusCode(), tt.responseCode)
1128+
var sc render.StatusCodedError
1129+
if assert.True(t, errors.As(err, &sc), "error does not implement StatusCodedError interface") {
1130+
assert.Equals(t, sc.StatusCode(), tt.responseCode)
1131+
}
11241132
assert.HasPrefix(t, err.Error(), tt.err.Error())
11251133
}
11261134
default:

errs/error.go

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -143,8 +143,9 @@ func (e *Error) UnmarshalJSON(data []byte) error {
143143

144144
// Format implements the fmt.Formatter interface.
145145
func (e *Error) Format(f fmt.State, c rune) {
146-
if err, ok := e.Err.(fmt.Formatter); ok {
147-
err.Format(f, c)
146+
var fe fmt.Formatter
147+
if errors.As(e.Err, &fe) {
148+
fe.Format(f, c)
148149
return
149150
}
150151
fmt.Fprint(f, e.Err.Error())
@@ -253,7 +254,8 @@ func NewError(status int, err error, format string, args ...interface{}) error {
253254
return err
254255
}
255256
msg := fmt.Sprintf(format, args...)
256-
if _, ok := err.(log.StackTracedError); !ok {
257+
var ste log.StackTracedError
258+
if !errors.As(err, &ste) {
257259
err = errors.Wrap(err, msg)
258260
}
259261
return &Error{
@@ -268,15 +270,11 @@ func NewError(status int, err error, format string, args ...interface{}) error {
268270
func NewErr(status int, err error, opts ...Option) error {
269271
var e *Error
270272
if !errors.As(err, &e) {
271-
if sc, ok := err.(render.StatusCodedError); ok {
272-
e = &Error{Status: sc.StatusCode(), Err: err}
273+
var ste render.StatusCodedError
274+
if errors.As(err, &ste) {
275+
e = &Error{Status: ste.StatusCode(), Err: err}
273276
} else {
274-
cause := errors.Cause(err)
275-
if sc, ok := cause.(render.StatusCodedError); ok {
276-
e = &Error{Status: sc.StatusCode(), Err: err}
277-
} else {
278-
e = &Error{Status: status, Err: err}
279-
}
277+
e = &Error{Status: status, Err: err}
280278
}
281279
}
282280
for _, o := range opts {

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ require (
142142
go.opencensus.io v0.23.0 // indirect
143143
go.uber.org/atomic v1.9.0 // indirect
144144
golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1 // indirect
145-
golang.org/x/text v0.3.8-0.20211105212822-18b340fc7af2 // indirect
145+
golang.org/x/text v0.3.8 // indirect
146146
google.golang.org/appengine v1.6.7 // indirect
147147
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
148148
gopkg.in/yaml.v3 v3.0.1 // indirect

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,6 +1060,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
10601060
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
10611061
golang.org/x/text v0.3.8-0.20211105212822-18b340fc7af2 h1:GLw7MR8AfAG2GmGcmVgObFOHXYypgGjnGno25RDwn3Y=
10621062
golang.org/x/text v0.3.8-0.20211105212822-18b340fc7af2/go.mod h1:EFNZuWvGYxIRUEX+K8UmCFwYmZjqcrnq15ZuVldZkZ0=
1063+
golang.org/x/text v0.3.8 h1:nAL+RVCQ9uMn3vJZbV+MRnydTJFPf8qqY42YiA6MrqY=
1064+
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
10631065
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
10641066
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
10651067
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

0 commit comments

Comments
 (0)