48 lines
1.4 KiB
Go
48 lines
1.4 KiB
Go
package ibctesting_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
tmtypes "github.com/tendermint/tendermint/types"
|
|
|
|
cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types"
|
|
ibctesting "github.com/cosmos/cosmos-sdk/x/ibc/testing"
|
|
"github.com/cosmos/cosmos-sdk/x/ibc/testing/mock"
|
|
)
|
|
|
|
func TestCreateSortedSignerArray(t *testing.T) {
|
|
privVal1 := mock.NewPV()
|
|
pubKey1, err := privVal1.GetPubKey()
|
|
require.NoError(t, err)
|
|
|
|
privVal2 := mock.NewPV()
|
|
pubKey2, err := privVal2.GetPubKey()
|
|
require.NoError(t, err)
|
|
|
|
validator1 := tmtypes.NewValidator(pubKey1.(cryptotypes.IntoTmPubKey).AsTmPubKey(), 1)
|
|
validator2 := tmtypes.NewValidator(pubKey2.(cryptotypes.IntoTmPubKey).AsTmPubKey(), 2)
|
|
|
|
expected := []tmtypes.PrivValidator{privVal2, privVal1}
|
|
|
|
actual := ibctesting.CreateSortedSignerArray(privVal1, privVal2, validator1, validator2)
|
|
require.Equal(t, expected, actual)
|
|
|
|
// swap order
|
|
actual = ibctesting.CreateSortedSignerArray(privVal2, privVal1, validator2, validator1)
|
|
require.Equal(t, expected, actual)
|
|
|
|
// smaller address
|
|
validator1.Address = []byte{1}
|
|
validator2.VotingPower = 1
|
|
|
|
expected = []tmtypes.PrivValidator{privVal1, privVal2}
|
|
|
|
actual = ibctesting.CreateSortedSignerArray(privVal1, privVal2, validator1, validator2)
|
|
require.Equal(t, expected, actual)
|
|
|
|
// swap order
|
|
actual = ibctesting.CreateSortedSignerArray(privVal2, privVal1, validator2, validator1)
|
|
require.Equal(t, expected, actual)
|
|
}
|