From 3e815d83d5c98cb65e6e8caf4f67f59bff8cf459 Mon Sep 17 00:00:00 2001 From: Julien Robert Date: Mon, 9 Jan 2023 17:13:40 +0100 Subject: [PATCH] refactor: migrate `e2e/crisis` away from testify suite --- tests/e2e/crisis/cli_test.go | 96 ++++++++++++++++++++++++++++++-- tests/e2e/crisis/suite.go | 105 ----------------------------------- 2 files changed, 92 insertions(+), 109 deletions(-) delete mode 100644 tests/e2e/crisis/suite.go diff --git a/tests/e2e/crisis/cli_test.go b/tests/e2e/crisis/cli_test.go index ad65c43164af..9a33c897745c 100644 --- a/tests/e2e/crisis/cli_test.go +++ b/tests/e2e/crisis/cli_test.go @@ -4,16 +4,104 @@ package crisis import ( + "fmt" "testing" - "github.com/stretchr/testify/suite" - "cosmossdk.io/simapp" + "github.com/cosmos/cosmos-sdk/client/flags" + clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" "github.com/cosmos/cosmos-sdk/testutil/network" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/crisis/client/cli" + "github.com/cosmos/gogoproto/proto" + "gotest.tools/v3/assert" ) -func TestE2ETestSuite(t *testing.T) { +type fixture struct { + cfg network.Config + network *network.Network +} + +func initFixture(t *testing.T) *fixture { cfg := network.DefaultConfig(simapp.NewTestNetworkFixture) cfg.NumValidators = 1 - suite.Run(t, NewE2ETestSuite(cfg)) + + network, err := network.New(t, t.TempDir(), cfg) + assert.NilError(t, err) + assert.NilError(t, network.WaitForNextBlock()) + + return &fixture{ + cfg: cfg, + network: network, + } +} + +func TestNewMsgVerifyInvariantTxCmd(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.network.Cleanup() + + val := f.network.Validators[0] + + testCases := []struct { + name string + args []string + expectErrMsg string + expectedCode uint32 + respType proto.Message + }{ + { + "missing module", + []string{ + "", "total-supply", + fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), + fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), + fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), + }, + "invalid module name", 0, nil, + }, + { + "missing invariant route", + []string{ + "bank", "", + fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), + fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), + fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), + }, + "invalid invariant route", 0, nil, + }, + { + "valid traclientCtx.Codec.UnmarshalJSON(out.Bytes(), nsaction", + []string{ + "bank", "total-supply", + fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), + fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), + fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), + }, + "", 0, &sdk.TxResponse{}, + }, + } + + for _, tc := range testCases { + tc := tc + + t.Run(tc.name, func(t *testing.T) { + cmd := cli.NewMsgVerifyInvariantTxCmd() + clientCtx := val.ClientCtx + + out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) + if tc.expectErrMsg != "" { + assert.ErrorContains(t, err, tc.expectErrMsg) + } else { + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), tc.respType), out.String()) + + txResp := tc.respType.(*sdk.TxResponse) + assert.NilError(t, clitestutil.CheckTxCode(f.network, clientCtx, txResp.TxHash, tc.expectedCode)) + } + }) + } } diff --git a/tests/e2e/crisis/suite.go b/tests/e2e/crisis/suite.go deleted file mode 100644 index df43dad3ad6c..000000000000 --- a/tests/e2e/crisis/suite.go +++ /dev/null @@ -1,105 +0,0 @@ -package crisis - -import ( - "fmt" - - "github.com/cosmos/cosmos-sdk/client/flags" - clitestutil "github.com/cosmos/cosmos-sdk/testutil/cli" - "github.com/cosmos/cosmos-sdk/testutil/network" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/x/crisis/client/cli" - "github.com/cosmos/gogoproto/proto" - "github.com/stretchr/testify/suite" -) - -type E2ETestSuite struct { - suite.Suite - - cfg network.Config - network *network.Network -} - -func NewE2ETestSuite(cfg network.Config) *E2ETestSuite { - return &E2ETestSuite{cfg: cfg} -} - -func (s *E2ETestSuite) SetupSuite() { - s.T().Log("setting up e2e test suite") - - var err error - s.network, err = network.New(s.T(), s.T().TempDir(), s.cfg) - s.Require().NoError(err) - - s.Require().NoError(s.network.WaitForNextBlock()) -} - -func (s *E2ETestSuite) TearDownSuite() { - s.T().Log("tearing down e2e test suite") - s.network.Cleanup() -} - -func (s *E2ETestSuite) TestNewMsgVerifyInvariantTxCmd() { - val := s.network.Validators[0] - - testCases := []struct { - name string - args []string - expectErr bool - expectedCode uint32 - respType proto.Message - }{ - { - "missing module", - []string{ - "", "total-supply", - fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), - fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - }, - true, 0, nil, - }, - { - "missing invariant route", - []string{ - "bank", "", - fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), - fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - }, - true, 0, nil, - }, - { - "valid traclientCtx.Codec.UnmarshalJSON(out.Bytes(), nsaction", - []string{ - "bank", "total-supply", - fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), - fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - }, - false, 0, &sdk.TxResponse{}, - }, - } - - for _, tc := range testCases { - tc := tc - - s.Run(tc.name, func() { - cmd := cli.NewMsgVerifyInvariantTxCmd() - clientCtx := val.ClientCtx - - out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) - if tc.expectErr { - s.Require().Error(err) - } else { - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), tc.respType), out.String()) - - txResp := tc.respType.(*sdk.TxResponse) - s.Require().NoError(clitestutil.CheckTxCode(s.network, clientCtx, txResp.TxHash, tc.expectedCode)) - } - }) - } -}