github.com/Finschia/finschia-sdk@v0.48.1/x/gov/types/keys_test.go (about)

     1  package types
     2  
     3  import (
     4  	"testing"
     5  	"time"
     6  
     7  	"github.com/stretchr/testify/require"
     8  
     9  	"github.com/Finschia/finschia-sdk/crypto/keys/ed25519"
    10  	sdk "github.com/Finschia/finschia-sdk/types"
    11  )
    12  
    13  var addr = sdk.AccAddress(ed25519.GenPrivKey().PubKey().Address())
    14  
    15  func TestProposalKeys(t *testing.T) {
    16  	// key proposal
    17  	key := ProposalKey(1)
    18  	proposalID := SplitProposalKey(key)
    19  	require.Equal(t, int(proposalID), 1)
    20  
    21  	// key active proposal queue
    22  	now := time.Now()
    23  	key = ActiveProposalQueueKey(3, now)
    24  	proposalID, expTime := SplitActiveProposalQueueKey(key)
    25  	require.Equal(t, int(proposalID), 3)
    26  	require.True(t, now.Equal(expTime))
    27  
    28  	// key inactive proposal queue
    29  	key = InactiveProposalQueueKey(3, now)
    30  	proposalID, expTime = SplitInactiveProposalQueueKey(key)
    31  	require.Equal(t, int(proposalID), 3)
    32  	require.True(t, now.Equal(expTime))
    33  
    34  	// invalid key
    35  	require.Panics(t, func() { SplitProposalKey([]byte("test")) })
    36  	require.Panics(t, func() { SplitInactiveProposalQueueKey([]byte("test")) })
    37  }
    38  
    39  func TestDepositKeys(t *testing.T) {
    40  	key := DepositsKey(2)
    41  	proposalID := SplitProposalKey(key)
    42  	require.Equal(t, int(proposalID), 2)
    43  
    44  	key = DepositKey(2, addr)
    45  	proposalID, depositorAddr := SplitKeyDeposit(key)
    46  	require.Equal(t, int(proposalID), 2)
    47  	require.Equal(t, addr, depositorAddr)
    48  }
    49  
    50  func TestVoteKeys(t *testing.T) {
    51  	key := VotesKey(2)
    52  	proposalID := SplitProposalKey(key)
    53  	require.Equal(t, int(proposalID), 2)
    54  
    55  	key = VoteKey(2, addr)
    56  	proposalID, voterAddr := SplitKeyDeposit(key)
    57  	require.Equal(t, int(proposalID), 2)
    58  	require.Equal(t, addr, voterAddr)
    59  }