40 lines
1.2 KiB
Go
40 lines
1.2 KiB
Go
package keeper
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/cosmos/cosmos-sdk/crypto/keys/ed25519"
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/cosmos/cosmos-sdk/types/address"
|
|
bank "github.com/cosmos/cosmos-sdk/x/bank/types"
|
|
)
|
|
|
|
var granter = sdk.AccAddress(ed25519.GenPrivKey().PubKey().Address())
|
|
var grantee = sdk.AccAddress(ed25519.GenPrivKey().PubKey().Address())
|
|
var msgType = bank.SendAuthorization{}.MsgTypeURL()
|
|
|
|
func TestGrantkey(t *testing.T) {
|
|
require := require.New(t)
|
|
key := grantStoreKey(grantee, granter, msgType)
|
|
require.Len(key, len(GrantKey)+len(address.MustLengthPrefix(grantee))+len(address.MustLengthPrefix(granter))+len([]byte(msgType)))
|
|
|
|
granter1, grantee1, msgType1 := parseGrantStoreKey(grantStoreKey(grantee, granter, msgType))
|
|
require.Equal(granter, granter1)
|
|
require.Equal(grantee, grantee1)
|
|
require.Equal(msgType1, msgType)
|
|
}
|
|
|
|
func TestGrantQueueKey(t *testing.T) {
|
|
blockTime := time.Now().UTC()
|
|
queueKey := GrantQueueKey(blockTime, granter, grantee)
|
|
|
|
expiration, granter1, grantee1, err := parseGrantQueueKey(queueKey)
|
|
require.NoError(t, err)
|
|
require.Equal(t, blockTime, expiration)
|
|
require.Equal(t, granter, granter1)
|
|
require.Equal(t, grantee, grantee1)
|
|
}
|