|
9 | 9 | "time"
|
10 | 10 |
|
11 | 11 | sdk "github.com/cosmos/cosmos-sdk/types"
|
12 |
| - "github.com/cristalhq/jwt" |
| 12 | + "github.com/cristalhq/jwt/v5" |
13 | 13 | "github.com/golang/mock/gomock"
|
14 | 14 | "github.com/libp2p/go-libp2p/core/network"
|
15 | 15 | "github.com/stretchr/testify/require"
|
@@ -46,10 +46,15 @@ func TestRPCCallsUnderlyingNode(t *testing.T) {
|
46 | 46 | t.Cleanup(cancel)
|
47 | 47 |
|
48 | 48 | // generate dummy signer and sign admin perms token with it
|
49 |
| - signer, err := jwt.NewHS256(make([]byte, 32)) |
| 49 | + key := make([]byte, 32) |
| 50 | + |
| 51 | + signer, err := jwt.NewSignerHS(jwt.HS256, key) |
| 52 | + require.NoError(t, err) |
| 53 | + |
| 54 | + verifier, err := jwt.NewVerifierHS(jwt.HS256, key) |
50 | 55 | require.NoError(t, err)
|
51 | 56 |
|
52 |
| - nd, server := setupNodeWithAuthedRPC(t, signer) |
| 57 | + nd, server := setupNodeWithAuthedRPC(t, signer, verifier) |
53 | 58 | url := nd.RPCServer.ListenAddr()
|
54 | 59 |
|
55 | 60 | adminToken, err := perms.NewTokenWithPerms(signer, perms.AllPerms)
|
@@ -123,10 +128,15 @@ func TestAuthedRPC(t *testing.T) {
|
123 | 128 | t.Cleanup(cancel)
|
124 | 129 |
|
125 | 130 | // generate dummy signer and sign admin perms token with it
|
126 |
| - signer, err := jwt.NewHS256(make([]byte, 32)) |
| 131 | + key := make([]byte, 32) |
| 132 | + |
| 133 | + signer, err := jwt.NewSignerHS(jwt.HS256, key) |
| 134 | + require.NoError(t, err) |
| 135 | + |
| 136 | + verifier, err := jwt.NewVerifierHS(jwt.HS256, key) |
127 | 137 | require.NoError(t, err)
|
128 | 138 |
|
129 |
| - nd, server := setupNodeWithAuthedRPC(t, signer) |
| 139 | + nd, server := setupNodeWithAuthedRPC(t, signer, verifier) |
130 | 140 | url := nd.RPCServer.ListenAddr()
|
131 | 141 |
|
132 | 142 | // create permissioned tokens
|
@@ -284,7 +294,9 @@ func implementsMarshaler(t *testing.T, typ reflect.Type) {
|
284 | 294 |
|
285 | 295 | // setupNodeWithAuthedRPC sets up a node and overrides its JWT
|
286 | 296 | // signer with the given signer.
|
287 |
| -func setupNodeWithAuthedRPC(t *testing.T, auth jwt.Signer) (*nodebuilder.Node, *mockAPI) { |
| 297 | +func setupNodeWithAuthedRPC(t *testing.T, |
| 298 | + jwtSigner jwt.Signer, jwtVerifier jwt.Verifier, |
| 299 | +) (*nodebuilder.Node, *mockAPI) { |
288 | 300 | ctx, cancel := context.WithCancel(context.Background())
|
289 | 301 | t.Cleanup(cancel)
|
290 | 302 |
|
@@ -316,8 +328,8 @@ func setupNodeWithAuthedRPC(t *testing.T, auth jwt.Signer) (*nodebuilder.Node, *
|
316 | 328 | srv.RegisterService("da", mockAPI.DA, &da.API{})
|
317 | 329 | })
|
318 | 330 | // fx.Replace does not work here, but fx.Decorate does
|
319 |
| - nd := nodebuilder.TestNode(t, node.Full, invokeRPC, fx.Decorate(func() (jwt.Signer, error) { |
320 |
| - return auth, nil |
| 331 | + nd := nodebuilder.TestNode(t, node.Full, invokeRPC, fx.Decorate(func() (jwt.Signer, jwt.Verifier, error) { |
| 332 | + return jwtSigner, jwtVerifier, nil |
321 | 333 | }))
|
322 | 334 | // start node
|
323 | 335 | err := nd.Start(ctx)
|
|
0 commit comments