...
1 package jwksx
2
3 import (
4 "fmt"
5 "testing"
6
7 "github.com/square/go-jose/v3"
8 "github.com/stretchr/testify/require"
9 )
10
11 func TestGenerateSigningKeys(t *testing.T) {
12 for _, alg := range GenerateSigningKeysAvailableAlgorithms() {
13 t.Run(fmt.Sprintf("alg=%s", alg), func(t *testing.T) {
14 key, err := GenerateSigningKeys("", alg, 0)
15 require.NoError(t, err)
16 t.Logf("%+v", key)
17 })
18 }
19
20 for _, tc := range []struct {
21 alg jose.SignatureAlgorithm
22 bits int
23 }{
24 {alg: jose.HS256, bits: 128},
25 {alg: jose.HS384, bits: 256},
26 {alg: jose.HS512, bits: 384},
27 {alg: jose.HS512, bits: 555},
28 } {
29 t.Run(fmt.Sprintf("alg=%s/bit=%d", tc.alg, tc.bits), func(t *testing.T) {
30 _, err := GenerateSigningKeys("", string(tc.alg), tc.bits)
31 require.Error(t, err)
32 })
33 }
34 }
35
View as plain text