github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/staking/client/cli/tx_vote_test.go (about) 1 package cli 2 3 import ( 4 "encoding/hex" 5 "strings" 6 "testing" 7 8 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 9 "github.com/fibonacci-chain/fbc/libs/tendermint/crypto" 10 "github.com/fibonacci-chain/fbc/libs/tendermint/crypto/ed25519" 11 "github.com/stretchr/testify/require" 12 ) 13 14 func TestGetValsSet(t *testing.T) { 15 pubKeys := []crypto.PubKey{ 16 newPubKey("0000000000000000000000000000000000000000000000000000000000000000"), 17 newPubKey("1111111111111111111111111111111111111111111111111111111111111111"), 18 newPubKey("2222222222222222222222222222222222222222222222222222222222222222"), 19 newPubKey("3333333333333333333333333333333333333333333333333333333333333333"), 20 } 21 22 accAddrs := []sdk.AccAddress{ 23 sdk.AccAddress(pubKeys[0].Address()), 24 sdk.AccAddress(pubKeys[1].Address()), 25 sdk.AccAddress(pubKeys[2].Address()), 26 sdk.AccAddress(pubKeys[3].Address()), 27 } 28 29 var valAddrsStr []string 30 var expectedValAddrs []sdk.ValAddress 31 for i := 0; i < 4; i++ { 32 valAddr := sdk.ValAddress(accAddrs[i]) 33 expectedValAddrs = append(expectedValAddrs, valAddr) 34 valAddrsStr = append(valAddrsStr, valAddr.String()) 35 } 36 37 arg := strings.Join(valAddrsStr, ",") 38 39 valAddrs, err := getValsSet(arg) 40 require.NoError(t, err) 41 require.Equal(t, expectedValAddrs, valAddrs) 42 } 43 44 func newPubKey(pubKey string) (res crypto.PubKey) { 45 pubKeyBytes, err := hex.DecodeString(pubKey) 46 if err != nil { 47 panic(err) 48 } 49 var pubKeyEd25519 ed25519.PubKeyEd25519 50 copy(pubKeyEd25519[:], pubKeyBytes[:]) 51 return pubKeyEd25519 52 }