diff --git a/tests/e2e/authz/cli_test.go b/tests/e2e/authz/cli_test.go deleted file mode 100644 index 55348c99bd8f..000000000000 --- a/tests/e2e/authz/cli_test.go +++ /dev/null @@ -1,20 +0,0 @@ -//go:build e2e -// +build e2e - -package authz - -import ( - "testing" - - "github.com/stretchr/testify/suite" - - "cosmossdk.io/simapp" - - "github.com/cosmos/cosmos-sdk/testutil/network" -) - -func TestE2ETestSuite(t *testing.T) { - cfg := network.DefaultConfig(simapp.NewTestNetworkFixture) - cfg.NumValidators = 1 - suite.Run(t, NewE2ETestSuite(cfg)) -} diff --git a/tests/e2e/authz/grpc.go b/tests/e2e/authz/grpc_test.go similarity index 75% rename from tests/e2e/authz/grpc.go rename to tests/e2e/authz/grpc_test.go index 5aa21e6b68cc..b1b61ddbe859 100644 --- a/tests/e2e/authz/grpc.go +++ b/tests/e2e/authz/grpc_test.go @@ -2,6 +2,8 @@ package authz import ( "fmt" + "strings" + "testing" "time" "github.com/cosmos/cosmos-sdk/client/flags" @@ -11,11 +13,16 @@ import ( "github.com/cosmos/cosmos-sdk/x/authz/client/cli" authzclitestutil "github.com/cosmos/cosmos-sdk/x/authz/client/testutil" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + "gotest.tools/v3/assert" ) -func (s *E2ETestSuite) TestQueryGrantGRPC() { - val := s.network.Validators[0] - grantee := s.grantee[1] +func TestQueryGrantGRPC(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + + val := f.network.Validators[0] + grantee := f.grantee[1] grantsURL := val.APIAddress + "/cosmos/authz/v1beta1/grants?granter=%s&grantee=%s&msg_type_url=%s" testCases := []struct { name string @@ -62,28 +69,31 @@ func (s *E2ETestSuite) TestQueryGrantGRPC() { } for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { resp, _ := testutil.GetRequest(tc.url) - require := s.Require() if tc.expectErr { - require.Contains(string(resp), tc.errorMsg) + assert.Equal(t, strings.Contains(string(resp), tc.errorMsg), true) } else { var g authz.QueryGrantsResponse err := val.ClientCtx.Codec.UnmarshalJSON(resp, &g) - require.NoError(err) - require.Len(g.Grants, 1) + assert.NilError(t, err, "") + assert.Equal(t, len(g.Grants), 1) g.Grants[0].UnpackInterfaces(val.ClientCtx.InterfaceRegistry) auth, err := g.Grants[0].GetAuthorization() - require.NoError(err) - require.Equal(auth.MsgTypeURL(), banktypes.SendAuthorization{}.MsgTypeURL()) + assert.NilError(t, err, "") + assert.Equal(t, auth.MsgTypeURL(), banktypes.SendAuthorization{}.MsgTypeURL()) } }) } } -func (s *E2ETestSuite) TestQueryGrantsGRPC() { - val := s.network.Validators[0] - grantee := s.grantee[1] +func TestQueryGrantsGRPC(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + + val := f.network.Validators[0] + grantee := f.grantee[1] grantsURL := val.APIAddress + "/cosmos/authz/v1beta1/grants?granter=%s&grantee=%s" testCases := []struct { name string @@ -100,7 +110,7 @@ func (s *E2ETestSuite) TestQueryGrantsGRPC() { "", func() {}, func(g *authz.QueryGrantsResponse) { - s.Require().Len(g.Grants, 1) + assert.Equal(t, len(g.Grants), 1) }, }, { @@ -119,11 +129,12 @@ func (s *E2ETestSuite) TestQueryGrantsGRPC() { fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%d", cli.FlagExpiration, time.Now().Add(time.Minute*time.Duration(120)).Unix()), }) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) }, + func(g *authz.QueryGrantsResponse) { - s.Require().Len(g.Grants, 2) + assert.Equal(t, len(g.Grants), 2) }, }, { @@ -133,7 +144,8 @@ func (s *E2ETestSuite) TestQueryGrantsGRPC() { "", func() {}, func(g *authz.QueryGrantsResponse) { - s.Require().Len(g.Grants, 1) + assert.Equal(t, len(g.Grants), 1) + }, }, { @@ -143,33 +155,37 @@ func (s *E2ETestSuite) TestQueryGrantsGRPC() { "", func() {}, func(g *authz.QueryGrantsResponse) { - s.Require().Len(g.Grants, 2) + assert.Equal(t, len(g.Grants), 2) + }, }, } for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { tc.preRun() resp, err := testutil.GetRequest(tc.url) - s.Require().NoError(err) + assert.NilError(t, err) if tc.expectErr { - s.Require().Contains(string(resp), tc.errMsg) + assert.Equal(t, strings.Contains(string(resp), tc.errMsg), true) } else { var authorizations authz.QueryGrantsResponse err := val.ClientCtx.Codec.UnmarshalJSON(resp, &authorizations) - s.Require().NoError(err) + assert.NilError(t, err) tc.postRun(&authorizations) } }) } } -func (s *E2ETestSuite) TestQueryGranterGrantsGRPC() { - val := s.network.Validators[0] - grantee := s.grantee[1] - require := s.Require() +func TestQueryGranterGrantsGRPC(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + + val := f.network.Validators[0] + grantee := f.grantee[1] testCases := []struct { name string @@ -197,30 +213,32 @@ func (s *E2ETestSuite) TestQueryGranterGrantsGRPC() { fmt.Sprintf("%s/cosmos/authz/v1beta1/grants/granter/%s", val.APIAddress, val.Address.String()), false, "", - 8, + 3, }, } for _, tc := range testCases { - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { resp, err := testutil.GetRequest(tc.url) - require.NoError(err) + assert.NilError(t, err) if tc.expectErr { - require.Contains(string(resp), tc.errMsg) + assert.Equal(t, strings.Contains(string(resp), tc.errMsg), true) } else { var authorizations authz.QueryGranterGrantsResponse err := val.ClientCtx.Codec.UnmarshalJSON(resp, &authorizations) - require.NoError(err) - require.Len(authorizations.Grants, tc.numItems) + assert.NilError(t, err) + assert.Equal(t, len(authorizations.Grants), tc.numItems) } }) } } -func (s *E2ETestSuite) TestQueryGranteeGrantsGRPC() { - val := s.network.Validators[0] - grantee := s.grantee[1] - require := s.Require() +func TestQueryGranteeGrantsGRPC(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] + grantee := f.grantee[1] testCases := []struct { name string @@ -252,17 +270,17 @@ func (s *E2ETestSuite) TestQueryGranteeGrantsGRPC() { }, } for _, tc := range testCases { - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { resp, err := testutil.GetRequest(tc.url) - require.NoError(err) + assert.NilError(t, err) if tc.expectErr { - require.Contains(string(resp), tc.errMsg) + assert.Equal(t, strings.Contains(string(resp), tc.errMsg), true) } else { var authorizations authz.QueryGranteeGrantsResponse err := val.ClientCtx.Codec.UnmarshalJSON(resp, &authorizations) - require.NoError(err) - require.Len(authorizations.Grants, tc.numItems) + assert.NilError(t, err) + assert.Equal(t, len(authorizations.Grants), tc.numItems) } }) } diff --git a/tests/e2e/authz/query.go b/tests/e2e/authz/query_test.go similarity index 73% rename from tests/e2e/authz/query.go rename to tests/e2e/authz/query_test.go index 6e930f1fe270..9eedd2ca295a 100644 --- a/tests/e2e/authz/query.go +++ b/tests/e2e/authz/query_test.go @@ -3,6 +3,7 @@ package authz import ( "fmt" "strings" + "testing" "time" "github.com/cosmos/cosmos-sdk/client/flags" @@ -11,12 +12,16 @@ import ( "github.com/cosmos/cosmos-sdk/x/authz" "github.com/cosmos/cosmos-sdk/x/authz/client/cli" authzclitestutil "github.com/cosmos/cosmos-sdk/x/authz/client/testutil" + "gotest.tools/v3/assert" ) -func (s *E2ETestSuite) TestQueryAuthorizations() { - val := s.network.Validators[0] +func TestQueryAuthorizations(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] - grantee := s.grantee[0] + grantee := f.grantee[0] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() _, err := authzclitestutil.CreateGrant( @@ -29,11 +34,11 @@ func (s *E2ETestSuite) TestQueryAuthorizations() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) testCases := []struct { name string @@ -75,27 +80,30 @@ func (s *E2ETestSuite) TestQueryAuthorizations() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.GetCmdQueryGrants() clientCtx := val.ClientCtx resp, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) - s.Require().Contains(string(resp.Bytes()), tc.expErrMsg) + assert.ErrorContains(t, err, tc.expErrMsg) + assert.Equal(t, strings.Contains(string(resp.Bytes()), tc.expErrMsg), true) } else { - s.Require().NoError(err) + assert.NilError(t, err) var grants authz.QueryGrantsResponse err = val.ClientCtx.Codec.UnmarshalJSON(resp.Bytes(), &grants) - s.Require().NoError(err) + assert.NilError(t, err) } }) } } -func (s *E2ETestSuite) TestQueryAuthorization() { - val := s.network.Validators[0] +func TestQueryAuthorization(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] - grantee := s.grantee[0] + grantee := f.grantee[0] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() _, err := authzclitestutil.CreateGrant( @@ -108,11 +116,11 @@ func (s *E2ETestSuite) TestQueryAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) testCases := []struct { name string @@ -154,7 +162,7 @@ func (s *E2ETestSuite) TestQueryAuthorization() { "", }, { - "Valid txn (json)", + "Valid query (json)", []string{ val.Address.String(), grantee.String(), @@ -165,38 +173,41 @@ func (s *E2ETestSuite) TestQueryAuthorization() { `{"@type":"/cosmos.bank.v1beta1.SendAuthorization","spend_limit":[{"denom":"stake","amount":"100"}],"allow_list":[]}`, }, { - "Valid txn with allowed list (json)", + "Valid query with allowed list (json)", []string{ val.Address.String(), - s.grantee[3].String(), + f.grantee[3].String(), typeMsgSend, fmt.Sprintf("--%s=json", flags.FlagOutput), }, false, - fmt.Sprintf(`{"@type":"/cosmos.bank.v1beta1.SendAuthorization","spend_limit":[{"denom":"stake","amount":"88"}],"allow_list":["%s"]}`, s.grantee[4]), + fmt.Sprintf(`{"@type":"/cosmos.bank.v1beta1.SendAuthorization","spend_limit":[{"denom":"stake","amount":"100"}],"allow_list":["%s"]}`, f.grantee[4]), }, } for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.GetCmdQueryGrants() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) + assert.ErrorContains(t, err, "") } else { - s.Require().NoError(err) - s.Require().Contains(strings.TrimSpace(out.String()), tc.expectedOutput) + assert.NilError(t, err) + fmt.Println("out", strings.TrimSpace(out.String()), tc.expectedOutput) + assert.Equal(t, strings.Contains(strings.TrimSpace(out.String()), tc.expectedOutput), true) } }) } } -func (s *E2ETestSuite) TestQueryGranterGrants() { - val := s.network.Validators[0] - grantee := s.grantee[0] - require := s.Require() +func TestQueryGranterGrants(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] + grantee := f.grantee[0] testCases := []struct { name string @@ -233,7 +244,7 @@ func (s *E2ETestSuite) TestQueryGranterGrants() { }, false, "", - 8, + 3, }, { "valid case with pagination", @@ -248,18 +259,18 @@ func (s *E2ETestSuite) TestQueryGranterGrants() { }, } for _, tc := range testCases { - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.GetQueryGranterGrants() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - require.Error(err) - require.Contains(out.String(), tc.expectedErr) + assert.ErrorContains(t, err, tc.expectedErr) + assert.Equal(t, strings.Contains(out.String(), tc.expectedErr), true) } else { - require.NoError(err) + assert.NilError(t, err) var grants authz.QueryGranterGrantsResponse - require.NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &grants)) - require.Len(grants.Grants, tc.expItems) + assert.NilError(t, val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &grants)) + assert.Equal(t, len(grants.Grants), tc.expItems) } }) } diff --git a/tests/e2e/authz/tx.go b/tests/e2e/authz/tx_test.go similarity index 77% rename from tests/e2e/authz/tx.go rename to tests/e2e/authz/tx_test.go index 03d39c79441a..ea475735a8e3 100644 --- a/tests/e2e/authz/tx.go +++ b/tests/e2e/authz/tx_test.go @@ -2,10 +2,13 @@ package authz import ( "fmt" + "strings" + "testing" "time" + "cosmossdk.io/simapp" "github.com/cosmos/gogoproto/proto" - "github.com/stretchr/testify/suite" + "gotest.tools/v3/assert" "github.com/cosmos/cosmos-sdk/client/flags" "github.com/cosmos/cosmos-sdk/crypto/hd" @@ -26,48 +29,51 @@ import ( stakingcli "github.com/cosmos/cosmos-sdk/x/staking/client/cli" ) -type E2ETestSuite struct { - suite.Suite - +type fixture struct { cfg network.Config network *network.Network grantee []sdk.AccAddress } -func NewE2ETestSuite(cfg network.Config) *E2ETestSuite { - return &E2ETestSuite{cfg: cfg} +func NewFixture(cfg network.Config) *fixture { + return &fixture{cfg: cfg} } -func (s *E2ETestSuite) SetupSuite() { - s.T().Log("setting up e2e test suite") +func initFixture(t *testing.T) *fixture { + cfg := network.DefaultConfig(simapp.NewTestNetworkFixture) + cfg.NumValidators = 1 + + f := NewFixture(cfg) + + 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) + f.network, err = network.New(t, t.TempDir(), f.cfg) + assert.NilError(t, err) - val := s.network.Validators[0] - s.grantee = make([]sdk.AccAddress, 6) + val := f.network.Validators[0] + f.grantee = make([]sdk.AccAddress, 6) // Send some funds to the new account. // Create new account in the keyring. - s.grantee[0] = s.createAccount("grantee1") - s.msgSendExec(s.grantee[0]) + f.grantee[0] = f.createAccount(t, "grantee1") + f.msgSendExec(t, f.grantee[0]) // create a proposal with deposit _, err = govtestutil.MsgSubmitLegacyProposal(val.ClientCtx, val.Address.String(), "Text Proposal 1", "Where is the title!?", govv1beta1.ProposalTypeText, - fmt.Sprintf("--%s=%s", govcli.FlagDeposit, sdk.NewCoin(s.cfg.BondDenom, govv1.DefaultMinDepositTokens).String())) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + fmt.Sprintf("--%s=%s", govcli.FlagDeposit, sdk.NewCoin(f.cfg.BondDenom, govv1.DefaultMinDepositTokens).String())) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) // Create new account in the keyring. - s.grantee[1] = s.createAccount("grantee2") + f.grantee[1] = f.createAccount(t, "grantee2") // Send some funds to the new account. - s.msgSendExec(s.grantee[1]) + f.msgSendExec(t, f.grantee[1]) // grant send authorization to grantee2 out, err := authzclitestutil.CreateGrant(val.ClientCtx, []string{ - s.grantee[1].String(), + f.grantee[1].String(), "send", fmt.Sprintf("--%s=100stake", cli.FlagSpendLimit), fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), @@ -76,18 +82,18 @@ func (s *E2ETestSuite) SetupSuite() { fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%d", cli.FlagExpiration, time.Now().Add(time.Minute*time.Duration(120)).Unix()), }) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) var response sdk.TxResponse - s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, response.TxHash, 0)) + assert.NilError(t, val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, response.TxHash, 0)) // Create new account in the keyring. - s.grantee[2] = s.createAccount("grantee3") + f.grantee[2] = f.createAccount(t, "grantee3") // grant send authorization to grantee3 _, err = authzclitestutil.CreateGrant(val.ClientCtx, []string{ - s.grantee[2].String(), + f.grantee[2].String(), "send", fmt.Sprintf("--%s=100stake", cli.FlagSpendLimit), fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), @@ -96,68 +102,70 @@ func (s *E2ETestSuite) SetupSuite() { fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%d", cli.FlagExpiration, time.Now().Add(time.Minute*time.Duration(120)).Unix()), }) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) // Create new accounts in the keyring. - s.grantee[3] = s.createAccount("grantee4") - s.msgSendExec(s.grantee[3]) + f.grantee[3] = f.createAccount(t, "grantee4") + f.msgSendExec(t, f.grantee[3]) - s.grantee[4] = s.createAccount("grantee5") - s.grantee[5] = s.createAccount("grantee6") + f.grantee[4] = f.createAccount(t, "grantee5") + f.grantee[5] = f.createAccount(t, "grantee6") // grant send authorization with allow list to grantee4 out, err = authzclitestutil.CreateGrant(val.ClientCtx, []string{ - s.grantee[3].String(), + f.grantee[3].String(), "send", fmt.Sprintf("--%s=100stake", cli.FlagSpendLimit), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, time.Now().Add(time.Minute*time.Duration(120)).Unix()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - fmt.Sprintf("--%s=%s", cli.FlagAllowList, s.grantee[4]), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", cli.FlagAllowList, f.grantee[4]), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) + + assert.NilError(t, val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, response.TxHash, 0)) - s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, response.TxHash, 0)) + return f } -func (s *E2ETestSuite) createAccount(uid string) sdk.AccAddress { - val := s.network.Validators[0] +func (f *fixture) createAccount(t *testing.T, uid string) sdk.AccAddress { + val := f.network.Validators[0] // Create new account in the keyring. k, _, err := val.ClientCtx.Keyring.NewMnemonic(uid, keyring.English, sdk.FullFundraiserPath, keyring.DefaultBIP39Passphrase, hd.Secp256k1) - s.Require().NoError(err) + assert.NilError(t, err) addr, err := k.GetAddress() - s.Require().NoError(err) + assert.NilError(t, err) return addr } -func (s *E2ETestSuite) msgSendExec(grantee sdk.AccAddress) { - val := s.network.Validators[0] +func (f *fixture) msgSendExec(t *testing.T, grantee sdk.AccAddress) { + val := f.network.Validators[0] // Send some funds to the new account. out, err := clitestutil.MsgSendExec( val.ClientCtx, val.Address, grantee, - sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(200))), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), + sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(200))), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), ) - s.Require().NoError(err) - s.Require().Contains(out.String(), `"code":0`) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.DeepEqual(t, strings.Contains(out.String(), `"code":0`), true) + assert.NilError(t, f.network.WaitForNextBlock()) } -func (s *E2ETestSuite) TearDownSuite() { - s.T().Log("tearing down e2e test suite") - s.network.Cleanup() +func (f *fixture) TearDownSuite(t *testing.T) { + t.Log("tearing down e2e test suite") + f.network.Cleanup() } var ( @@ -166,9 +174,13 @@ var ( typeMsgSubmitProposal = sdk.MsgTypeURL(&govv1.MsgSubmitProposal{}) ) -func (s *E2ETestSuite) TestCLITxGrantAuthorization() { - val := s.network.Validators[0] - grantee := s.grantee[0] +func TestCLITxGrantAuthorization(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + + val := f.network.Validators[0] + grantee := f.grantee[0] twoHours := time.Now().Add(time.Minute * 120).Unix() pastHour := time.Now().Add(-time.Minute * 60).Unix() @@ -192,7 +204,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { }, 0, true, - "key not found", + `granter.info: key not found`, }, { "Invalid grantee Address", @@ -206,7 +218,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { }, 0, true, - "invalid separator index", + `decoding bech32 failed: invalid separator index -1`, }, { "Invalid expiration time", @@ -220,7 +232,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { }, 0, true, - "", + "EOF", }, { "fail with error invalid msg-type", @@ -231,7 +243,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), }, 0x1d, @@ -250,11 +262,11 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), fmt.Sprintf("--%s=%s", cli.FlagDenyValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, true, - "cannot set both allowed & deny list", + `cannot set both allowed & deny list`, }, { "invalid bond denom for tx delegate authorization allowed validators", @@ -267,11 +279,11 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, true, - "invalid denom", + `invalid denom xyz; coin denom should match the current bond denom stake`, }, { "invalid bond denom for tx delegate authorization deny validators", @@ -284,11 +296,11 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagDenyValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, true, - "invalid denom", + `invalid denom xyz; coin denom should match the current bond denom stake`, }, { "invalid bond denom for tx undelegate authorization", @@ -301,11 +313,11 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, true, - "invalid denom", + `invalid denom xyz; coin denom should match the current bond denom stake`, }, { "invalid bond denon for tx redelegate authorization", @@ -318,11 +330,11 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, true, - "invalid denom", + `invalid denom xyz; coin denom should match the current bond denom stake`, }, { "invalid decimal coin expression with more than single coin", @@ -335,7 +347,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, true, @@ -352,7 +364,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, false, @@ -369,7 +381,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagDenyValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, false, @@ -386,7 +398,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, false, @@ -403,7 +415,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, false, @@ -419,7 +431,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, false, @@ -435,8 +447,8 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - fmt.Sprintf("--%s=%s", cli.FlagAllowList, s.grantee[1]), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", cli.FlagAllowList, f.grantee[1]), }, 0, false, @@ -452,8 +464,8 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), - fmt.Sprintf("--%s=%s", cli.FlagAllowList, fmt.Sprintf("%s,%s", s.grantee[1], s.grantee[1])), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", cli.FlagAllowList, fmt.Sprintf("%s,%s", f.grantee[1], f.grantee[1])), }, 0, true, @@ -469,7 +481,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, false, @@ -485,7 +497,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, 0, true, @@ -501,7 +513,7 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%s", flags.FlagSignMode, flags.SignModeLegacyAminoJSON), }, 0, @@ -511,16 +523,15 @@ func (s *E2ETestSuite) TestCLITxGrantAuthorization() { } for _, tc := range testCases { - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { out, err := authzclitestutil.CreateGrant(val.ClientCtx, tc.args) if tc.expectErr { - s.Require().Error(err, out) - s.Require().Contains(err.Error(), tc.expErrMsg) + assert.ErrorContains(t, err, tc.expErrMsg) } else { var txResp sdk.TxResponse - s.Require().NoError(err) - s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &txResp), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, txResp.TxHash, tc.expectedCode)) + assert.NilError(t, err) + assert.NilError(t, val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &txResp), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, txResp.TxHash, tc.expectedCode)) } }) } @@ -532,10 +543,13 @@ func execDelegate(val *network.Validator, args []string) (testutil.BufferWriter, return clitestutil.ExecTestCLICmd(clientCtx, cmd, args) } -func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { - val := s.network.Validators[0] +func TestCmdRevokeAuthorizations(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] - grantee := s.grantee[0] + grantee := f.grantee[0] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() // send-authorization @@ -549,11 +563,11 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) // generic-authorization _, err = authzclitestutil.CreateGrant( @@ -566,11 +580,11 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) // generic-authorization used for amino testing _, err = authzclitestutil.CreateGrant( @@ -583,12 +597,12 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%s", flags.FlagSignMode, flags.SignModeLegacyAminoJSON), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) testCases := []struct { name string @@ -629,7 +643,7 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, &sdk.TxResponse{}, 0, false, @@ -642,7 +656,7 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, &sdk.TxResponse{}, 0, false, @@ -655,7 +669,7 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%s", flags.FlagSignMode, flags.SignModeLegacyAminoJSON), }, &sdk.TxResponse{}, 0, @@ -664,27 +678,30 @@ func (s *E2ETestSuite) TestCmdRevokeAuthorizations() { } for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.NewCmdRevokeAuthorization() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) + assert.Assert(t, err != nil) } else { - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), tc.respType), out.String()) + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), tc.respType), out.String()) txResp := tc.respType.(*sdk.TxResponse) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, txResp.TxHash, tc.expectedCode)) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, txResp.TxHash, tc.expectedCode)) } }) } } -func (s *E2ETestSuite) TestExecAuthorizationWithExpiration() { - val := s.network.Validators[0] - grantee := s.grantee[0] +func TestExecAuthorizationWithExpiration(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] + grantee := f.grantee[0] tenSeconds := time.Now().Add(time.Second * time.Duration(10)).Unix() _, err := authzclitestutil.CreateGrant( @@ -697,13 +714,13 @@ func (s *E2ETestSuite) TestExecAuthorizationWithExpiration() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, tenSeconds), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) + assert.NilError(t, err) // msg vote voteTx := fmt.Sprintf(`{"body":{"messages":[{"@type":"/cosmos.gov.v1.MsgVote","proposal_id":"1","voter":"%s","option":"VOTE_OPTION_YES"}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}`, val.Address.String()) - execMsg := testutil.WriteToNewTempFile(s.T(), voteTx) + execMsg := testutil.WriteToNewTempFile(t, voteTx) defer execMsg.Close() // waiting for authorization to expires @@ -716,18 +733,21 @@ func (s *E2ETestSuite) TestExecAuthorizationWithExpiration() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }) - s.Require().NoError(err) + assert.NilError(t, err) var response sdk.TxResponse - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, clientCtx, response.TxHash, authz.ErrNoAuthorizationFound.ABCICode())) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, clientCtx, response.TxHash, authz.ErrNoAuthorizationFound.ABCICode())) } -func (s *E2ETestSuite) TestNewExecGenericAuthorized() { - val := s.network.Validators[0] - grantee := s.grantee[0] +func TestNewExecGenericAuthorized(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] + grantee := f.grantee[0] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() _, err := authzclitestutil.CreateGrant( @@ -740,15 +760,15 @@ func (s *E2ETestSuite) TestNewExecGenericAuthorized() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) // msg vote voteTx := fmt.Sprintf(`{"body":{"messages":[{"@type":"/cosmos.gov.v1.MsgVote","proposal_id":"1","voter":"%s","option":"VOTE_OPTION_YES"}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}`, val.Address.String()) - execMsg := testutil.WriteToNewTempFile(s.T(), voteTx) + execMsg := testutil.WriteToNewTempFile(t, voteTx) defer execMsg.Close() testCases := []struct { @@ -787,7 +807,7 @@ func (s *E2ETestSuite) TestNewExecGenericAuthorized() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, &sdk.TxResponse{}, @@ -800,7 +820,7 @@ func (s *E2ETestSuite) TestNewExecGenericAuthorized() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), fmt.Sprintf("--%s=%s", flags.FlagSignMode, flags.SignModeLegacyAminoJSON), }, @@ -811,27 +831,31 @@ func (s *E2ETestSuite) TestNewExecGenericAuthorized() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.NewCmdExecAuthorization() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) + assert.Assert(t, err != nil) } else { - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), tc.respType), out.String()) + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), tc.respType), out.String()) txResp := tc.respType.(*sdk.TxResponse) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, txResp.TxHash, tc.expectedCode)) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, txResp.TxHash, tc.expectedCode)) } }) } } -func (s *E2ETestSuite) TestNewExecGrantAuthorized() { - val := s.network.Validators[0] - grantee := s.grantee[0] - grantee1 := s.grantee[2] +func TestNewExecGrantAuthorized(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + + val := f.network.Validators[0] + grantee := f.grantee[0] + grantee1 := f.grantee[2] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() _, err := authzclitestutil.CreateGrant( @@ -844,11 +868,11 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) tokens := sdk.NewCoins( sdk.NewCoin(fmt.Sprintf("%stoken", val.Moniker), sdk.NewInt(12)), @@ -860,11 +884,11 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() { tokens, 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagGenerateOnly), ) - s.Require().NoError(err) - execMsg := testutil.WriteToNewTempFile(s.T(), normalGeneratedTx.String()) + assert.NilError(t, err) + execMsg := testutil.WriteToNewTempFile(t, normalGeneratedTx.String()) defer execMsg.Close() testCases := []struct { name string @@ -879,7 +903,7 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -892,7 +916,7 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee1.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -905,7 +929,7 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, authz.ErrNoAuthorizationFound.ABCICode(), @@ -916,7 +940,7 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.NewCmdExecAuthorization() clientCtx := val.ClientCtx @@ -924,26 +948,29 @@ func (s *E2ETestSuite) TestNewExecGrantAuthorized() { out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) switch { case tc.expectErrMsg != "": - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().Contains(response.RawLog, tc.expectErrMsg) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.Equal(t, strings.Contains(response.RawLog, tc.expectErrMsg), true) case tc.expectErr: - s.Require().Error(err) + assert.ErrorContains(t, err, tc.expectErrMsg) default: - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, response.TxHash, tc.expectedCode)) + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, response.TxHash, tc.expectedCode)) } }) } } -func (s *E2ETestSuite) TestExecSendAuthzWithAllowList() { - val := s.network.Validators[0] - grantee := s.grantee[3] - allowedAddr := s.grantee[4] - notAllowedAddr := s.grantee[5] +func TestExecSendAuthzWithAllowList(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] + grantee := f.grantee[3] + allowedAddr := f.grantee[4] + notAllowedAddr := f.grantee[5] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() _, err := authzclitestutil.CreateGrant( @@ -956,12 +983,12 @@ func (s *E2ETestSuite) TestExecSendAuthzWithAllowList() { fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=%s", cli.FlagAllowList, allowedAddr), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) tokens := sdk.NewCoins( sdk.NewCoin("stake", sdk.NewInt(12)), @@ -974,11 +1001,11 @@ func (s *E2ETestSuite) TestExecSendAuthzWithAllowList() { tokens, 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagGenerateOnly), ) - s.Require().NoError(err) - execMsg := testutil.WriteToNewTempFile(s.T(), validGeneratedTx.String()) + assert.NilError(t, err) + execMsg := testutil.WriteToNewTempFile(t, validGeneratedTx.String()) defer execMsg.Close() invalidGeneratedTx, err := clitestutil.MsgSendExec( @@ -988,11 +1015,11 @@ func (s *E2ETestSuite) TestExecSendAuthzWithAllowList() { tokens, 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagGenerateOnly), ) - s.Require().NoError(err) - execMsg1 := testutil.WriteToNewTempFile(s.T(), invalidGeneratedTx.String()) + assert.NilError(t, err) + execMsg1 := testutil.WriteToNewTempFile(t, invalidGeneratedTx.String()) defer execMsg1.Close() // test sending to allowed address @@ -1000,38 +1027,41 @@ func (s *E2ETestSuite) TestExecSendAuthzWithAllowList() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), } var response sdk.TxResponse cmd := cli.NewCmdExecAuthorization() out, err := clitestutil.ExecTestCLICmd(val.ClientCtx, cmd, args) - s.Require().NoError(err) - s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, f.network.WaitForNextBlock()) // test sending to not allowed address args = []string{ execMsg1.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), } out, err = clitestutil.ExecTestCLICmd(val.ClientCtx, cmd, args) - s.Require().NoError(err) - s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, f.network.WaitForNextBlock()) // query tx and check result out, err = clitestutil.ExecTestCLICmd(val.ClientCtx, authcli.QueryTxCmd(), []string{response.TxHash, fmt.Sprintf("--%s=json", flags.FlagOutput)}) - s.Require().NoError(err) - s.Contains(out.String(), fmt.Sprintf("cannot send to %s address", notAllowedAddr)) + assert.NilError(t, err) + assert.Equal(t, strings.Contains(out.String(), fmt.Sprintf("cannot send to %s address", notAllowedAddr)), true) } -func (s *E2ETestSuite) TestExecDelegateAuthorization() { - val := s.network.Validators[0] - grantee := s.grantee[0] +func TestExecDelegateAuthorization(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] + grantee := f.grantee[0] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() _, err := authzclitestutil.CreateGrant( @@ -1045,11 +1075,11 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) tokens := sdk.NewCoins( sdk.NewCoin("stake", sdk.NewInt(50)), @@ -1057,7 +1087,7 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { delegateTx := fmt.Sprintf(`{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgDelegate","delegator_address":"%s","validator_address":"%s","amount":{"denom":"%s","amount":"%s"}}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}`, val.Address.String(), val.ValAddress.String(), tokens.GetDenomByIndex(0), tokens[0].Amount) - execMsg := testutil.WriteToNewTempFile(s.T(), delegateTx) + execMsg := testutil.WriteToNewTempFile(t, delegateTx) defer execMsg.Close() testCases := []struct { @@ -1073,7 +1103,7 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1086,7 +1116,7 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1099,7 +1129,7 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, authz.ErrNoAuthorizationFound.ABCICode(), @@ -1110,19 +1140,18 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.NewCmdExecAuthorization() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) - s.Require().Contains(err.Error(), tc.errMsg) + assert.ErrorContains(t, err, tc.errMsg) } else { var response sdk.TxResponse - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, response.TxHash, tc.expectedCode)) + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, response.TxHash, tc.expectedCode)) } }) } @@ -1138,11 +1167,11 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) tokens = sdk.NewCoins( sdk.NewCoin("stake", sdk.NewInt(50)), @@ -1150,7 +1179,7 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { delegateTx = fmt.Sprintf(`{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgDelegate","delegator_address":"%s","validator_address":"%s","amount":{"denom":"%s","amount":"%s"}}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}`, val.Address.String(), val.ValAddress.String(), tokens.GetDenomByIndex(0), tokens[0].Amount) - execMsg = testutil.WriteToNewTempFile(s.T(), delegateTx) + execMsg = testutil.WriteToNewTempFile(t, delegateTx) defer execMsg.Close() testCases = []struct { @@ -1166,7 +1195,7 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1179,7 +1208,7 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1190,19 +1219,18 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.NewCmdExecAuthorization() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) - s.Require().Contains(err.Error(), tc.errMsg) + assert.ErrorContains(t, err, tc.errMsg) } else { var response sdk.TxResponse - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, response.TxHash, tc.expectedCode)) + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, response.TxHash, tc.expectedCode)) } }) } @@ -1219,36 +1247,39 @@ func (s *E2ETestSuite) TestExecDelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagDenyValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) args := []string{ execMsg.Name(), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), } cmd := cli.NewCmdExecAuthorization() out, err := clitestutil.ExecTestCLICmd(val.ClientCtx, cmd, args) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) var response sdk.TxResponse - s.Require().NoError(val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, val.ClientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) // query tx and check result out, err = clitestutil.ExecTestCLICmd(val.ClientCtx, authcli.QueryTxCmd(), []string{response.TxHash, fmt.Sprintf("--%s=json", flags.FlagOutput)}) - s.Require().NoError(err) - s.Contains(out.String(), fmt.Sprintf("cannot delegate/undelegate to %s validator", val.ValAddress.String())) + assert.NilError(t, err) + assert.Equal(t, strings.Contains(out.String(), fmt.Sprintf("cannot delegate/undelegate to %s validator", val.ValAddress.String())), true) } -func (s *E2ETestSuite) TestExecUndelegateAuthorization() { - val := s.network.Validators[0] - grantee := s.grantee[0] +func TestExecUndelegateAuthorization(t *testing.T) { + t.Parallel() + f := initFixture(t) + defer f.TearDownSuite(t) + val := f.network.Validators[0] + grantee := f.grantee[0] twoHours := time.Now().Add(time.Minute * time.Duration(120)).Unix() // granting undelegate msg authorization @@ -1263,11 +1294,11 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) // delegating stakes to validator _, err = execDelegate( @@ -1278,10 +1309,10 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), fmt.Sprintf("--%s=%s", flags.FlagFrom, val.Address.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) + assert.NilError(t, err) tokens := sdk.NewCoins( sdk.NewCoin("stake", sdk.NewInt(50)), @@ -1289,7 +1320,7 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { undelegateTx := fmt.Sprintf(`{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgUndelegate","delegator_address":"%s","validator_address":"%s","amount":{"denom":"%s","amount":"%s"}}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}`, val.Address.String(), val.ValAddress.String(), tokens.GetDenomByIndex(0), tokens[0].Amount) - execMsg := testutil.WriteToNewTempFile(s.T(), undelegateTx) + execMsg := testutil.WriteToNewTempFile(t, undelegateTx) defer execMsg.Close() testCases := []struct { @@ -1306,7 +1337,7 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagGas, "250000"), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1320,7 +1351,7 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagGas, "250000"), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1334,7 +1365,7 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagGas, "250000"), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, authz.ErrNoAuthorizationFound.ABCICode(), @@ -1345,19 +1376,18 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.NewCmdExecAuthorization() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) - s.Require().Contains(err.Error(), tc.errMsg) + assert.ErrorContains(t, err, tc.errMsg) } else { var response sdk.TxResponse - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, response.TxHash, tc.expectedCode)) + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, response.TxHash, tc.expectedCode)) } }) } @@ -1373,11 +1403,11 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagBroadcastMode, flags.BroadcastSync), fmt.Sprintf("--%s=%d", cli.FlagExpiration, twoHours), fmt.Sprintf("--%s=%s", cli.FlagAllowedValidators, val.ValAddress.String()), - fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(s.cfg.BondDenom, sdk.NewInt(10))).String()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), }, ) - s.Require().NoError(err) - s.Require().NoError(s.network.WaitForNextBlock()) + assert.NilError(t, err) + assert.NilError(t, f.network.WaitForNextBlock()) tokens = sdk.NewCoins( sdk.NewCoin("stake", sdk.NewInt(50)), @@ -1385,7 +1415,7 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { undelegateTx = fmt.Sprintf(`{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgUndelegate","delegator_address":"%s","validator_address":"%s","amount":{"denom":"%s","amount":"%s"}}],"memo":"","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":[]}`, val.Address.String(), val.ValAddress.String(), tokens.GetDenomByIndex(0), tokens[0].Amount) - execMsg = testutil.WriteToNewTempFile(s.T(), undelegateTx) + execMsg = testutil.WriteToNewTempFile(t, undelegateTx) defer execMsg.Close() testCases = []struct { @@ -1402,7 +1432,7 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagGas, "250000"), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1416,7 +1446,7 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { fmt.Sprintf("--%s=%s", flags.FlagGas, "250000"), fmt.Sprintf("--%s=%s", flags.FlagFrom, grantee.String()), 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()), + fmt.Sprintf("--%s=%s", flags.FlagFees, sdk.NewCoins(sdk.NewCoin(f.cfg.BondDenom, sdk.NewInt(10))).String()), fmt.Sprintf("--%s=true", flags.FlagSkipConfirmation), }, 0, @@ -1427,19 +1457,18 @@ func (s *E2ETestSuite) TestExecUndelegateAuthorization() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { + t.Run(tc.name, func(t *testing.T) { cmd := cli.NewCmdExecAuthorization() clientCtx := val.ClientCtx out, err := clitestutil.ExecTestCLICmd(clientCtx, cmd, tc.args) if tc.expectErr { - s.Require().Error(err) - s.Require().Contains(err.Error(), tc.errMsg) + assert.ErrorContains(t, err, tc.errMsg) } else { var response sdk.TxResponse - s.Require().NoError(err) - s.Require().NoError(clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) - s.Require().NoError(clitestutil.CheckTxCode(s.network, val.ClientCtx, response.TxHash, tc.expectedCode)) + assert.NilError(t, err) + assert.NilError(t, clientCtx.Codec.UnmarshalJSON(out.Bytes(), &response), out.String()) + assert.NilError(t, clitestutil.CheckTxCode(f.network, val.ClientCtx, response.TxHash, tc.expectedCode)) } }) }