@@ -6,66 +6,75 @@ import (
6
6
)
7
7
8
8
func TestES (t * testing.T ) {
9
- f := func (alg Algorithm , privateKey * ecdsa.PrivateKey , publicKey * ecdsa.PublicKey , wantErr error ) {
10
- t .Helper ()
9
+ testCases := []struct {
10
+ alg Algorithm
11
+ privateKey * ecdsa.PrivateKey
12
+ publicKey * ecdsa.PublicKey
13
+ wantErr error
14
+ }{
15
+ {ES256 , ecdsaPrivateKey256 , ecdsaPublicKey256 , nil },
16
+ {ES384 , ecdsaPrivateKey384 , ecdsaPublicKey384 , nil },
17
+ {ES512 , ecdsaPrivateKey521 , ecdsaPublicKey521 , nil },
18
+
19
+ {ES256 , ecdsaPrivateKey256 , ecdsaPublicKey256Another , ErrInvalidSignature },
20
+ {ES384 , ecdsaPrivateKey384 , ecdsaPublicKey384Another , ErrInvalidSignature },
21
+ {ES512 , ecdsaPrivateKey521 , ecdsaPublicKey521Another , ErrInvalidSignature },
22
+
23
+ {ES256 , ecdsaPrivateKey256Another , ecdsaPublicKey256 , ErrInvalidSignature },
24
+ {ES384 , ecdsaPrivateKey384Another , ecdsaPublicKey384 , ErrInvalidSignature },
25
+ {ES512 , ecdsaPrivateKey521Another , ecdsaPublicKey521 , ErrInvalidSignature },
26
+ }
11
27
12
- signer , err := NewSignerES (alg , privateKey )
28
+ for _ , tc := range testCases {
29
+ signer , err := NewSignerES (tc .alg , tc .privateKey )
13
30
mustOk (t , err )
14
31
15
- verifier , err := NewVerifierES (alg , publicKey )
32
+ verifier , err := NewVerifierES (tc . alg , tc . publicKey )
16
33
mustOk (t , err )
17
34
18
35
token , err := NewBuilder (signer ).Build (simplePayload )
19
36
mustOk (t , err )
20
37
21
38
err = verifier .Verify (token )
22
- mustEqual (t , err , wantErr )
39
+ mustEqual (t , err , tc . wantErr )
23
40
}
24
-
25
- f (ES256 , ecdsaPrivateKey256 , ecdsaPublicKey256 , nil )
26
- f (ES384 , ecdsaPrivateKey384 , ecdsaPublicKey384 , nil )
27
- f (ES512 , ecdsaPrivateKey521 , ecdsaPublicKey521 , nil )
28
-
29
- f (ES256 , ecdsaPrivateKey256 , ecdsaPublicKey256Another , ErrInvalidSignature )
30
- f (ES384 , ecdsaPrivateKey384 , ecdsaPublicKey384Another , ErrInvalidSignature )
31
- f (ES512 , ecdsaPrivateKey521 , ecdsaPublicKey521Another , ErrInvalidSignature )
32
-
33
- f (ES256 , ecdsaPrivateKey256Another , ecdsaPublicKey256 , ErrInvalidSignature )
34
- f (ES384 , ecdsaPrivateKey384Another , ecdsaPublicKey384 , ErrInvalidSignature )
35
- f (ES512 , ecdsaPrivateKey521Another , ecdsaPublicKey521 , ErrInvalidSignature )
36
41
}
37
42
38
43
func TestES_BadKeys (t * testing.T ) {
39
- f := func (err , wantErr error ) {
40
- t .Helper ()
41
- mustEqual (t , err , wantErr )
44
+ testCases := []struct {
45
+ err error
46
+ wantErr error
47
+ }{
48
+ {getErr (NewSignerES (ES256 , nil )), ErrNilKey },
49
+ {getErr (NewSignerES (ES384 , nil )), ErrNilKey },
50
+ {getErr (NewSignerES (ES512 , nil )), ErrNilKey },
51
+
52
+ {getErr (NewSignerES ("foo" , ecdsaPrivateKey384 )), ErrUnsupportedAlg },
53
+
54
+ {getErr (NewSignerES (ES256 , ecdsaPrivateKey384 )), ErrInvalidKey },
55
+ {getErr (NewSignerES (ES256 , ecdsaPrivateKey521 )), ErrInvalidKey },
56
+ {getErr (NewSignerES (ES384 , ecdsaPrivateKey256 )), ErrInvalidKey },
57
+ {getErr (NewSignerES (ES384 , ecdsaPrivateKey521 )), ErrInvalidKey },
58
+ {getErr (NewSignerES (ES512 , ecdsaPrivateKey256 )), ErrInvalidKey },
59
+ {getErr (NewSignerES (ES512 , ecdsaPrivateKey384 )), ErrInvalidKey },
60
+
61
+ {getErr (NewVerifierES (ES256 , nil )), ErrNilKey },
62
+ {getErr (NewVerifierES (ES384 , nil )), ErrNilKey },
63
+ {getErr (NewVerifierES (ES512 , nil )), ErrNilKey },
64
+
65
+ {getErr (NewVerifierES ("boo" , ecdsaPublicKey384 )), ErrUnsupportedAlg },
66
+
67
+ {getErr (NewVerifierES (ES256 , ecdsaPublicKey384 )), ErrInvalidKey },
68
+ {getErr (NewVerifierES (ES256 , ecdsaPublicKey521 )), ErrInvalidKey },
69
+ {getErr (NewVerifierES (ES384 , ecdsaPublicKey256 )), ErrInvalidKey },
70
+ {getErr (NewVerifierES (ES384 , ecdsaPublicKey521 )), ErrInvalidKey },
71
+ {getErr (NewVerifierES (ES512 , ecdsaPublicKey256 )), ErrInvalidKey },
72
+ {getErr (NewVerifierES (ES512 , ecdsaPublicKey384 )), ErrInvalidKey },
42
73
}
43
74
44
- f (getSignerError (NewSignerES (ES256 , nil )), ErrNilKey )
45
- f (getSignerError (NewSignerES (ES384 , nil )), ErrNilKey )
46
- f (getSignerError (NewSignerES (ES512 , nil )), ErrNilKey )
47
-
48
- f (getSignerError (NewSignerES ("foo" , ecdsaPrivateKey384 )), ErrUnsupportedAlg )
49
-
50
- f (getSignerError (NewSignerES (ES256 , ecdsaPrivateKey384 )), ErrInvalidKey )
51
- f (getSignerError (NewSignerES (ES256 , ecdsaPrivateKey521 )), ErrInvalidKey )
52
- f (getSignerError (NewSignerES (ES384 , ecdsaPrivateKey256 )), ErrInvalidKey )
53
- f (getSignerError (NewSignerES (ES384 , ecdsaPrivateKey521 )), ErrInvalidKey )
54
- f (getSignerError (NewSignerES (ES512 , ecdsaPrivateKey256 )), ErrInvalidKey )
55
- f (getSignerError (NewSignerES (ES512 , ecdsaPrivateKey384 )), ErrInvalidKey )
56
-
57
- f (getVerifierError (NewVerifierES (ES256 , nil )), ErrNilKey )
58
- f (getVerifierError (NewVerifierES (ES384 , nil )), ErrNilKey )
59
- f (getVerifierError (NewVerifierES (ES512 , nil )), ErrNilKey )
60
-
61
- f (getVerifierError (NewVerifierES ("boo" , ecdsaPublicKey384 )), ErrUnsupportedAlg )
62
-
63
- f (getVerifierError (NewVerifierES (ES256 , ecdsaPublicKey384 )), ErrInvalidKey )
64
- f (getVerifierError (NewVerifierES (ES256 , ecdsaPublicKey521 )), ErrInvalidKey )
65
- f (getVerifierError (NewVerifierES (ES384 , ecdsaPublicKey256 )), ErrInvalidKey )
66
- f (getVerifierError (NewVerifierES (ES384 , ecdsaPublicKey521 )), ErrInvalidKey )
67
- f (getVerifierError (NewVerifierES (ES512 , ecdsaPublicKey256 )), ErrInvalidKey )
68
- f (getVerifierError (NewVerifierES (ES512 , ecdsaPublicKey384 )), ErrInvalidKey )
75
+ for _ , tc := range testCases {
76
+ mustEqual (t , tc .err , tc .wantErr )
77
+ }
69
78
}
70
79
71
80
var (
0 commit comments