github.com/cosmos/cosmos-sdk@v0.50.10/x/authz/keeper/keys_test.go (about) 1 package keeper 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/stretchr/testify/require" 8 9 "github.com/cosmos/cosmos-sdk/crypto/keys/ed25519" 10 sdk "github.com/cosmos/cosmos-sdk/types" 11 "github.com/cosmos/cosmos-sdk/types/address" 12 bank "github.com/cosmos/cosmos-sdk/x/bank/types" 13 ) 14 15 var ( 16 granter = sdk.AccAddress(ed25519.GenPrivKey().PubKey().Address()) 17 grantee = sdk.AccAddress(ed25519.GenPrivKey().PubKey().Address()) 18 msgType = bank.SendAuthorization{}.MsgTypeURL() 19 ) 20 21 func TestGrantkey(t *testing.T) { 22 require := require.New(t) 23 key := grantStoreKey(grantee, granter, msgType) 24 require.Len(key, len(GrantKey)+len(address.MustLengthPrefix(grantee))+len(address.MustLengthPrefix(granter))+len([]byte(msgType))) 25 26 granter1, grantee1, msgType1 := parseGrantStoreKey(grantStoreKey(grantee, granter, msgType)) 27 require.Equal(granter, granter1) 28 require.Equal(grantee, grantee1) 29 require.Equal(msgType1, msgType) 30 } 31 32 func TestGrantQueueKey(t *testing.T) { 33 blockTime := time.Now().UTC() 34 queueKey := GrantQueueKey(blockTime, granter, grantee) 35 36 expiration, granter1, grantee1, err := parseGrantQueueKey(queueKey) 37 require.NoError(t, err) 38 require.Equal(t, blockTime, expiration) 39 require.Equal(t, granter, granter1) 40 require.Equal(t, grantee, grantee1) 41 }