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  }