types msg tests

This commit is contained in:
rigelrozanski 2018-09-28 19:04:04 -04:00
parent 733b616c8c
commit e223eadb36
3 changed files with 129 additions and 0 deletions

View File

@ -0,0 +1,93 @@
package types
import (
"testing"
"github.com/stretchr/testify/require"
sdk "github.com/cosmos/cosmos-sdk/types"
)
// test ValidateBasic for MsgCreateValidator
func TestMsgSetWithdrawAddress(t *testing.T) {
tests := []struct {
delegatorAddr sdk.AccAddress
withdrawAddr sdk.AccAddress
expectPass bool
}{
{delAddr1, delAddr2, true},
{delAddr1, delAddr1, true},
{emptyDelAddr, delAddr1, false},
{delAddr1, emptyDelAddr, false},
{emptyDelAddr, emptyDelAddr, false},
}
for _, tc := range tests {
msg := NewMsgSetWithdrawAddress(tc.delegatorAddr, tc.withdrawAddr)
if tc.expectPass {
require.Nil(t, msg.ValidateBasic(), "test: %v", tc.name)
} else {
require.NotNil(t, msg.ValidateBasic(), "test: %v", tc.name)
}
}
}
// test ValidateBasic for MsgEditValidator
func TestMsgWithdrawDelegatorReward(t *testing.T) {
tests := []struct {
delegatorAddr sdk.AccAddress
validatorAddr sdk.ValAddress
expectPass bool
}{
{delAddr1, valAddr1, true},
{emptyDelAddr, valAddr1, false},
{delAddr1, emptyValAddr, false},
{emptyDelAddr, emptyValAddr, false},
}
for _, tc := range tests {
msg := NewMsgWithdrawDelegatorReward(tc.delegatorAddr, tc.validatorAddr)
if tc.expectPass {
require.Nil(t, msg.ValidateBasic(), "test: %v", tc.name)
} else {
require.NotNil(t, msg.ValidateBasic(), "test: %v", tc.name)
}
}
}
// test ValidateBasic and GetSigners for MsgCreateValidatorOnBehalfOf
func TestMsgWithdrawDelegatorRewardsAll(t *testing.T) {
tests := []struct {
delegatorAddr sdk.AccAddress
expectPass bool
}{
{delAddr, true},
{emptyDelAddr, false},
}
for _, tc := range tests {
msg := NewMsgWithdrawDelegatorRewardsAll(tc.delegatorAddr)
if tc.expectPass {
require.Nil(t, msg.ValidateBasic(), "test: %v", tc.name)
} else {
require.NotNil(t, msg.ValidateBasic(), "test: %v", tc.name)
}
}
}
// test ValidateBasic for MsgDelegate
func TestMsgWithdrawValidatorRewardsAll(t *testing.T) {
tests := []struct {
validatorAddr sdk.ValAddress
expectPass bool
}{
{valAddr1, true},
{emptyValAddr, false},
}
for _, tc := range tests {
msg := NewMsgWithdrawValidatorRewardsAll(tc.validatorAddr)
if tc.expectPass {
require.Nil(t, msg.ValidateBasic(), "test: %v", tc.name)
} else {
require.NotNil(t, msg.ValidateBasic(), "test: %v", tc.name)
}
}
}

View File

@ -0,0 +1,27 @@
package types
import (
sdk "github.com/cosmos/cosmos-sdk/types"
"github.com/tendermint/tendermint/crypto"
"github.com/tendermint/tendermint/crypto/ed25519"
)
var (
delPk1 = ed25519.GenPrivKey().PubKey()
delPk2 = ed25519.GenPrivKey().PubKey()
delPk3 = ed25519.GenPrivKey().PubKey()
delAddr1 = sdk.AccAddress(delPk1.Address())
delAddr2 = sdk.AccAddress(delPk2.Address())
delAddr3 = sdk.AccAddress(delPk3.Address())
emptyDelAddr sdk.AccAddress
valPk1 = ed25519.GenPrivKey().PubKey()
valPk2 = ed25519.GenPrivKey().PubKey()
valPk3 = ed25519.GenPrivKey().PubKey()
valAddr1 = sdk.ValAddress(delPk1.Address())
valAddr2 = sdk.ValAddress(delPk2.Address())
valAddr3 = sdk.ValAddress(delPk3.Address())
emptyValAddr sdk.ValAddress
emptyPubkey crypto.PubKey
)

View File

@ -0,0 +1,9 @@
package types
import "testing"
func TestTakeFeePoolRewards(t *testing.T) {
}
func WithdrawCommission(t *testing.T) {
}