From 88e63dc71368d0f6655c62b06a90e79855598eac Mon Sep 17 00:00:00 2001 From: aleem1314 Date: Mon, 6 Dec 2021 21:07:52 +0530 Subject: [PATCH 1/7] feat: add test --- x/staking/client/testutil/cli_test.go | 1 + x/staking/client/testutil/suite.go | 58 +++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/x/staking/client/testutil/cli_test.go b/x/staking/client/testutil/cli_test.go index 0a7a5cc25871..f23e88847c30 100644 --- a/x/staking/client/testutil/cli_test.go +++ b/x/staking/client/testutil/cli_test.go @@ -1,3 +1,4 @@ +//go:build norace // +build norace package testutil diff --git a/x/staking/client/testutil/suite.go b/x/staking/client/testutil/suite.go index dd128600400a..b6422a59d782 100644 --- a/x/staking/client/testutil/suite.go +++ b/x/staking/client/testutil/suite.go @@ -1368,3 +1368,61 @@ func (s *IntegrationTestSuite) TestBlockResults() { s.network.WaitForNextBlock() } } + +// https://github.com/cosmos/cosmos-sdk/issues/10660 +func (s *IntegrationTestSuite) TestEditValidatorMoniker() { + val := s.network.Validators[0] + require := s.Require() + + queryCmd := cli.GetCmdQueryValidator() + res, err := clitestutil.ExecTestCLICmd( + val.ClientCtx, queryCmd, + []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, + ) + require.NoError(err) + fmt.Println(res.String()) + + txCmd := cli.NewEditValidatorCmd() + moniker := "testing" + _, err = clitestutil.ExecTestCLICmd(val.ClientCtx, txCmd, []string{ + val.ValAddress.String(), + fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), + fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), + fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock), + fmt.Sprintf("--%s=%s", cli.FlagMoniker, moniker), + fmt.Sprintf("--%s=https://newvalidator.io", cli.FlagWebsite), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + }) + require.NoError(err) + + res, err = clitestutil.ExecTestCLICmd( + val.ClientCtx, queryCmd, + []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, + ) + require.NoError(err) + var result types.Validator + require.NoError(val.ClientCtx.Codec.UnmarshalJSON(res.Bytes(), &result)) + require.Equal(result.GetMoniker(), moniker) + + _, err = clitestutil.ExecTestCLICmd(val.ClientCtx, txCmd, []string{ + val.ValAddress.String(), + fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), + fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), + fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock), + fmt.Sprintf("--%s=https://newvalidator.io", cli.FlagWebsite), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + }) + require.NoError(err) + + res, err = clitestutil.ExecTestCLICmd( + val.ClientCtx, queryCmd, + []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, + ) + require.NoError(err) + fmt.Println(res.String()) + + require.NoError(val.ClientCtx.Codec.UnmarshalJSON(res.Bytes(), &result)) + + require.NotEqual(result.GetMoniker(), moniker) + require.True(false) +} From 56c2b373ac40f7a42e0e8160582281b177173fd7 Mon Sep 17 00:00:00 2001 From: aleem1314 Date: Tue, 7 Dec 2021 20:11:11 +0530 Subject: [PATCH 2/7] chore: rename edit-validator moniker flag --- x/staking/client/cli/flags.go | 5 +++-- x/staking/client/cli/tx.go | 2 +- x/staking/client/testutil/suite.go | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/x/staking/client/cli/flags.go b/x/staking/client/cli/flags.go index d6725e8c1da4..1cd2ec92d582 100644 --- a/x/staking/client/cli/flags.go +++ b/x/staking/client/cli/flags.go @@ -16,6 +16,7 @@ const ( FlagSharesFraction = "shares-fraction" FlagMoniker = "moniker" + FlagEditMoniker = "new-moniker" FlagIdentity = "identity" FlagWebsite = "website" FlagSecurityContact = "security-contact" @@ -80,9 +81,9 @@ func FlagSetPublicKey() *flag.FlagSet { } func flagSetDescriptionEdit() *flag.FlagSet { - fs := flag.NewFlagSet("", flag.ContinueOnError) + fs := flag.NewFlagSet("edit-validator", flag.ContinueOnError) - fs.String(FlagMoniker, types.DoNotModifyDesc, "The validator's name") + fs.String(FlagEditMoniker, types.DoNotModifyDesc, "The validator's name") fs.String(FlagIdentity, types.DoNotModifyDesc, "The (optional) identity signature (ex. UPort or Keybase)") fs.String(FlagWebsite, types.DoNotModifyDesc, "The validator's (optional) website") fs.String(FlagSecurityContact, types.DoNotModifyDesc, "The validator's (optional) security contact email") diff --git a/x/staking/client/cli/tx.go b/x/staking/client/cli/tx.go index cafee004c1b4..138bfa24930d 100644 --- a/x/staking/client/cli/tx.go +++ b/x/staking/client/cli/tx.go @@ -98,7 +98,7 @@ func NewEditValidatorCmd() *cobra.Command { return err } valAddr := clientCtx.GetFromAddress() - moniker, _ := cmd.Flags().GetString(FlagMoniker) + moniker, _ := cmd.Flags().GetString(FlagEditMoniker) identity, _ := cmd.Flags().GetString(FlagIdentity) website, _ := cmd.Flags().GetString(FlagWebsite) security, _ := cmd.Flags().GetString(FlagSecurityContact) diff --git a/x/staking/client/testutil/suite.go b/x/staking/client/testutil/suite.go index b6422a59d782..f8002ee2fc83 100644 --- a/x/staking/client/testutil/suite.go +++ b/x/staking/client/testutil/suite.go @@ -1389,7 +1389,7 @@ func (s *IntegrationTestSuite) TestEditValidatorMoniker() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastBlock), - fmt.Sprintf("--%s=%s", cli.FlagMoniker, moniker), + fmt.Sprintf("--%s=%s", cli.FlagEditMoniker, moniker), fmt.Sprintf("--%s=https://newvalidator.io", cli.FlagWebsite), fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), }) @@ -1423,6 +1423,6 @@ func (s *IntegrationTestSuite) TestEditValidatorMoniker() { require.NoError(val.ClientCtx.Codec.UnmarshalJSON(res.Bytes(), &result)) - require.NotEqual(result.GetMoniker(), moniker) + require.Equal(result.GetMoniker(), moniker) require.True(false) } From c5e8cc00beac0b4e5ac9e4177b15ed55da8ec485 Mon Sep 17 00:00:00 2001 From: aleem1314 Date: Tue, 7 Dec 2021 20:31:13 +0530 Subject: [PATCH 3/7] chore: add changelog --- CHANGELOG.md | 1 + x/staking/client/testutil/suite.go | 8 ++------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ef67961d2a50..320e33a03642 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -124,6 +124,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#9246](https://github.com/cosmos/cosmos-sdk/pull/9246) Removed the CLI flag `--setup-config-only` from the `testnet` command and added the subcommand `init-files`. * [\#9780](https://github.com/cosmos/cosmos-sdk/pull/9780) Use sigs.k8s.io for yaml, which might lead to minor YAML output changes * [\#10625](https://github.com/cosmos/cosmos-sdk/pull/10625) Rename `--fee-account` CLI flag to `--fee-granter` +* [\#10684](https://github.com/cosmos/cosmos-sdk/pull/10684) Rename `edit-validator`'s `--moniker` CLI flag to `--new-moniker` ### Improvements diff --git a/x/staking/client/testutil/suite.go b/x/staking/client/testutil/suite.go index f8002ee2fc83..80c3611306df 100644 --- a/x/staking/client/testutil/suite.go +++ b/x/staking/client/testutil/suite.go @@ -1375,12 +1375,11 @@ func (s *IntegrationTestSuite) TestEditValidatorMoniker() { require := s.Require() queryCmd := cli.GetCmdQueryValidator() - res, err := clitestutil.ExecTestCLICmd( + _, err := clitestutil.ExecTestCLICmd( val.ClientCtx, queryCmd, []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, ) require.NoError(err) - fmt.Println(res.String()) txCmd := cli.NewEditValidatorCmd() moniker := "testing" @@ -1395,7 +1394,7 @@ func (s *IntegrationTestSuite) TestEditValidatorMoniker() { }) require.NoError(err) - res, err = clitestutil.ExecTestCLICmd( + res, err := clitestutil.ExecTestCLICmd( val.ClientCtx, queryCmd, []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, ) @@ -1419,10 +1418,7 @@ func (s *IntegrationTestSuite) TestEditValidatorMoniker() { []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, ) require.NoError(err) - fmt.Println(res.String()) require.NoError(val.ClientCtx.Codec.UnmarshalJSON(res.Bytes(), &result)) - require.Equal(result.GetMoniker(), moniker) - require.True(false) } From c3eb3dff02b4d43c70a26842394540d7c5141933 Mon Sep 17 00:00:00 2001 From: aleem1314 Date: Tue, 7 Dec 2021 20:33:32 +0530 Subject: [PATCH 4/7] chore: cleanup --- x/staking/client/cli/flags.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/staking/client/cli/flags.go b/x/staking/client/cli/flags.go index 1cd2ec92d582..85879567a6af 100644 --- a/x/staking/client/cli/flags.go +++ b/x/staking/client/cli/flags.go @@ -81,7 +81,7 @@ func FlagSetPublicKey() *flag.FlagSet { } func flagSetDescriptionEdit() *flag.FlagSet { - fs := flag.NewFlagSet("edit-validator", flag.ContinueOnError) + fs := flag.NewFlagSet("", flag.ContinueOnError) fs.String(FlagEditMoniker, types.DoNotModifyDesc, "The validator's name") fs.String(FlagIdentity, types.DoNotModifyDesc, "The (optional) identity signature (ex. UPort or Keybase)") From 534d2710649269c9b075bf5b7c25b0e837efd28f Mon Sep 17 00:00:00 2001 From: MD Aleem <72057206+aleem1314@users.noreply.github.com> Date: Wed, 8 Dec 2021 15:18:44 +0530 Subject: [PATCH 5/7] Update CHANGELOG.md Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com> --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dbd87d070271..074265f3c874 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -126,7 +126,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * [\#9246](https://github.com/cosmos/cosmos-sdk/pull/9246) Removed the CLI flag `--setup-config-only` from the `testnet` command and added the subcommand `init-files`. * [\#9780](https://github.com/cosmos/cosmos-sdk/pull/9780) Use sigs.k8s.io for yaml, which might lead to minor YAML output changes * [\#10625](https://github.com/cosmos/cosmos-sdk/pull/10625) Rename `--fee-account` CLI flag to `--fee-granter` -* [\#10684](https://github.com/cosmos/cosmos-sdk/pull/10684) Rename `edit-validator`'s `--moniker` CLI flag to `--new-moniker` +* [\#10684](https://github.com/cosmos/cosmos-sdk/pull/10684) Rename `edit-validator` command's `--moniker` flag to `--new-moniker` ### Improvements From 462ef356a9ffb0db2b71384e41972198775326a0 Mon Sep 17 00:00:00 2001 From: MD Aleem <72057206+aleem1314@users.noreply.github.com> Date: Wed, 8 Dec 2021 15:18:55 +0530 Subject: [PATCH 6/7] Update x/staking/client/testutil/suite.go Co-authored-by: atheeshp <59333759+atheeshp@users.noreply.github.com> --- x/staking/client/testutil/suite.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/x/staking/client/testutil/suite.go b/x/staking/client/testutil/suite.go index 80c3611306df..d89c33e6c672 100644 --- a/x/staking/client/testutil/suite.go +++ b/x/staking/client/testutil/suite.go @@ -1374,16 +1374,9 @@ func (s *IntegrationTestSuite) TestEditValidatorMoniker() { val := s.network.Validators[0] require := s.Require() - queryCmd := cli.GetCmdQueryValidator() - _, err := clitestutil.ExecTestCLICmd( - val.ClientCtx, queryCmd, - []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)}, - ) - require.NoError(err) - txCmd := cli.NewEditValidatorCmd() moniker := "testing" - _, err = clitestutil.ExecTestCLICmd(val.ClientCtx, txCmd, []string{ + _, err := clitestutil.ExecTestCLICmd(val.ClientCtx, txCmd, []string{ val.ValAddress.String(), fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), From 09a84f6a5afcd1418b24c138b8eb8d641ae3a107 Mon Sep 17 00:00:00 2001 From: aleem1314 Date: Wed, 8 Dec 2021 15:53:54 +0530 Subject: [PATCH 7/7] chore: fix error --- x/staking/client/testutil/suite.go | 1 + 1 file changed, 1 insertion(+) diff --git a/x/staking/client/testutil/suite.go b/x/staking/client/testutil/suite.go index d89c33e6c672..5b40554b8a5c 100644 --- a/x/staking/client/testutil/suite.go +++ b/x/staking/client/testutil/suite.go @@ -1387,6 +1387,7 @@ func (s *IntegrationTestSuite) TestEditValidatorMoniker() { }) require.NoError(err) + queryCmd := cli.GetCmdQueryValidator() res, err := clitestutil.ExecTestCLICmd( val.ClientCtx, queryCmd, []string{val.ValAddress.String(), fmt.Sprintf("--%s=json", tmcli.OutputFlag)},