Refactor x/staking Validation and Delegation tests based on MsgCreateValidator.Pubkey type change. (#7526)

* testing: refactore Validation and Delegation handling of x/staking

This Changeset introduces set of improvements for writing tests.

The idea is to create a testing subpackage which will provide functions
to make tests more dev-friendly and wrap higher level use-cases.
Here is a show-up of of creating a service for staking module
for tests.

This PR also changes the `x/staking/types.MsgCreateValidator.Pubkey` from string
to types.Any. This change motivated the other change to show the pattern I'm describing here.

* add validator checks

* type change fixes

* use deprecated

* adding test slashing

* new network comment update

* working on tests

* Fix TestMsgPkDecode test

* Add UnpackInterfaces to MsgCreateValidator

* Fix tests

* Convert bech32 pubkey to proto

* Fix test

* fix v039/migrate_test/TestMigrate

* fix tests

* testslashing: rename Service to Helper

* file rename

* update TestMsgDecode

Co-authored-by: blushi <marie.gauthier63@gmail.com>
Co-authored-by: Amaury Martiny <amaury.martiny@protonmail.com>
Co-authored-by: Cory Levinson <cjlevinson@gmail.com>
This commit is contained in:
Robert Zaremba
2020-10-19 13:04:55 +00:00
committed by GitHub
co-authored by blushi Amaury Martiny Cory Levinson
parent 0f8fdf60df
commit 8eaf2ececc
39 changed files with 778 additions and 1092 deletions
+8 -3
View File
@@ -343,9 +343,12 @@ func NewBuildCreateValidatorMsg(clientCtx client.Context, txf tx.Factory, fs *fl
return txf, nil, types.ErrMinSelfDelegationInvalid
}
msg := types.NewMsgCreateValidator(
msg, err := types.NewMsgCreateValidator(
sdk.ValAddress(valAddr), pk, amount, description, commissionRates, minSelfDelegation,
)
if err != nil {
return txf, nil, err
}
if err := msg.ValidateBasic(); err != nil {
return txf, nil, err
}
@@ -550,10 +553,12 @@ func BuildCreateValidatorMsg(clientCtx client.Context, config TxCreateValidatorC
return txBldr, nil, types.ErrMinSelfDelegationInvalid
}
msg := types.NewMsgCreateValidator(
msg, err := types.NewMsgCreateValidator(
sdk.ValAddress(valAddr), pk, amount, description, commissionRates, minSelfDelegation,
)
if err != nil {
return txBldr, msg, err
}
if generateOnly {
ip := config.IP
nodeID := config.NodeID