From fcd544f4f248ee31339fac05f9ea5e180c771024 Mon Sep 17 00:00:00 2001 From: Likhita Polavarapu <78951027+likhita-809@users.noreply.github.com> Date: Thu, 5 Jan 2023 16:36:07 +0530 Subject: [PATCH] chore: Replace testify with gotest.tools in distribution integration tests (#14495) --- .../distribution/keeper/allocation_test.go | 70 ++--- .../distribution/keeper/delegation_test.go | 120 +++---- .../distribution/keeper/grpc_query_test.go | 296 ++++++++++-------- .../distribution/keeper/keeper_test.go | 45 ++- .../distribution/keeper/msg_server_test.go | 95 +++--- tests/integration/distribution/module_test.go | 6 +- 6 files changed, 336 insertions(+), 296 deletions(-) diff --git a/tests/integration/distribution/keeper/allocation_test.go b/tests/integration/distribution/keeper/allocation_test.go index 82bd0a3ada..9dc82ffd94 100644 --- a/tests/integration/distribution/keeper/allocation_test.go +++ b/tests/integration/distribution/keeper/allocation_test.go @@ -4,9 +4,9 @@ import ( "testing" "cosmossdk.io/math" - "github.com/stretchr/testify/require" abci "github.com/tendermint/tendermint/abci/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "gotest.tools/v3/assert" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" @@ -34,7 +34,7 @@ func TestAllocateTokensToValidatorWithCommission(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -57,10 +57,10 @@ func TestAllocateTokensToValidatorWithCommission(t *testing.T) { expected := sdk.DecCoins{ {Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(5)}, } - require.Equal(t, expected, distrKeeper.GetValidatorAccumulatedCommission(ctx, val.GetOperator()).Commission) + assert.DeepEqual(t, expected, distrKeeper.GetValidatorAccumulatedCommission(ctx, val.GetOperator()).Commission) // check current rewards - require.Equal(t, expected, distrKeeper.GetValidatorCurrentRewards(ctx, val.GetOperator()).Rewards) + assert.DeepEqual(t, expected, distrKeeper.GetValidatorCurrentRewards(ctx, val.GetOperator()).Rewards) } func TestAllocateTokensToManyValidators(t *testing.T) { @@ -77,7 +77,7 @@ func TestAllocateTokensToManyValidators(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -106,21 +106,21 @@ func TestAllocateTokensToManyValidators(t *testing.T) { } // assert initial state: zero outstanding rewards, zero community pool, zero commission, zero current rewards - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards.IsZero()) - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsZero()) - require.True(t, distrKeeper.GetFeePool(ctx).CommunityPool.IsZero()) - require.True(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) - require.True(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[1]).Commission.IsZero()) - require.True(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[0]).Rewards.IsZero()) - require.True(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[1]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetFeePool(ctx).CommunityPool.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[1]).Commission.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[0]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[1]).Rewards.IsZero()) // allocate tokens as if both had voted and second was proposer fees := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(100))) feeCollector := accountKeeper.GetModuleAccount(ctx, types.FeeCollectorName) - require.NotNil(t, feeCollector) + assert.Assert(t, feeCollector != nil) // fund fee collector - require.NoError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, feeCollector.GetName(), fees)) + assert.NilError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, feeCollector.GetName(), fees)) accountKeeper.SetAccount(ctx, feeCollector) @@ -137,23 +137,23 @@ func TestAllocateTokensToManyValidators(t *testing.T) { distrKeeper.AllocateTokens(ctx, 200, votes) // 98 outstanding rewards (100 less 2 to community pool) - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(490, 1)}}, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards) - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(490, 1)}}, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(490, 1)}}, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(490, 1)}}, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards) // 2 community pool coins - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(2)}}, distrKeeper.GetFeePool(ctx).CommunityPool) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(2)}}, distrKeeper.GetFeePool(ctx).CommunityPool) // 50% commission for first proposer, (0.5 * 98%) * 100 / 2 = 23.25 - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(2450, 2)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(2450, 2)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) // zero commission for second proposer - require.True(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[1]).Commission.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[1]).Commission.IsZero()) // just staking.proportional for first proposer less commission = (0.5 * 98%) * 100 / 2 = 24.50 - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(2450, 2)}}, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[0]).Rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(2450, 2)}}, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[0]).Rewards) // proposer reward + staking.proportional for second proposer = (0.5 * (98%)) * 100 = 49 - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(490, 1)}}, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[1]).Rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecWithPrec(490, 1)}}, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[1]).Rewards) } func TestAllocateTokensTruncation(t *testing.T) { @@ -170,7 +170,7 @@ func TestAllocateTokensTruncation(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -207,22 +207,22 @@ func TestAllocateTokensTruncation(t *testing.T) { } // assert initial state: zero outstanding rewards, zero community pool, zero commission, zero current rewards - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards.IsZero()) - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsZero()) - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsZero()) - require.True(t, distrKeeper.GetFeePool(ctx).CommunityPool.IsZero()) - require.True(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) - require.True(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[1]).Commission.IsZero()) - require.True(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[0]).Rewards.IsZero()) - require.True(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[1]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetFeePool(ctx).CommunityPool.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[1]).Commission.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[0]).Rewards.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorCurrentRewards(ctx, valAddrs[1]).Rewards.IsZero()) // allocate tokens as if both had voted and second was proposer fees := sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(634195840))) feeCollector := accountKeeper.GetModuleAccount(ctx, types.FeeCollectorName) - require.NotNil(t, feeCollector) + assert.Assert(t, feeCollector != nil) - require.NoError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, feeCollector.GetName(), fees)) + assert.NilError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, feeCollector.GetName(), fees)) accountKeeper.SetAccount(ctx, feeCollector) @@ -242,7 +242,7 @@ func TestAllocateTokensTruncation(t *testing.T) { } distrKeeper.AllocateTokens(ctx, 31, votes) - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards.IsValid()) - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsValid()) - require.True(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[2]).Rewards.IsValid()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]).Rewards.IsValid()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[1]).Rewards.IsValid()) + assert.Assert(t, distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[2]).Rewards.IsValid()) } diff --git a/tests/integration/distribution/keeper/delegation_test.go b/tests/integration/distribution/keeper/delegation_test.go index eab6e933cc..49ad3341da 100644 --- a/tests/integration/distribution/keeper/delegation_test.go +++ b/tests/integration/distribution/keeper/delegation_test.go @@ -4,8 +4,8 @@ import ( "testing" "cosmossdk.io/math" - "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "gotest.tools/v3/assert" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" @@ -32,7 +32,7 @@ func TestCalculateRewardsBasic(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -57,19 +57,19 @@ func TestCalculateRewardsBasic(t *testing.T) { del := stakingKeeper.Delegation(ctx, sdk.AccAddress(valAddrs[0]), valAddrs[0]) // historical count should be 2 (once for validator init, once for delegation init) - require.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) + assert.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) // end period endingPeriod := distrKeeper.IncrementValidatorPeriod(ctx, val) // historical count should be 2 still - require.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) + assert.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) // calculate delegation rewards rewards := distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be zero - require.True(t, rewards.IsZero()) + assert.Assert(t, rewards.IsZero()) // allocate some rewards initial := int64(10) @@ -83,10 +83,10 @@ func TestCalculateRewardsBasic(t *testing.T) { rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be half the tokens - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, rewards) // commission should be the other half - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) } func TestCalculateRewardsAfterSlash(t *testing.T) { @@ -101,7 +101,7 @@ func TestCalculateRewardsAfterSlash(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -131,7 +131,7 @@ func TestCalculateRewardsAfterSlash(t *testing.T) { rewards := distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be zero - require.True(t, rewards.IsZero()) + assert.Assert(t, rewards.IsZero()) // start out block height ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 3) @@ -157,10 +157,10 @@ func TestCalculateRewardsAfterSlash(t *testing.T) { rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be half the tokens - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial.QuoRaw(2))}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial.QuoRaw(2))}}, rewards) // commission should be the other half - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial.QuoRaw(2))}}, + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial.QuoRaw(2))}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) } @@ -176,7 +176,7 @@ func TestCalculateRewardsAfterManySlashes(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -206,7 +206,7 @@ func TestCalculateRewardsAfterManySlashes(t *testing.T) { rewards := distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be zero - require.True(t, rewards.IsZero()) + assert.Assert(t, rewards.IsZero()) // start out block height ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 3) @@ -244,10 +244,10 @@ func TestCalculateRewardsAfterManySlashes(t *testing.T) { rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be half the tokens - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial)}}, rewards) // commission should be the other half - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial)}}, + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: sdk.NewDecFromInt(initial)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) } @@ -263,7 +263,7 @@ func TestCalculateRewardsMultiDelegator(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -314,16 +314,16 @@ func TestCalculateRewardsMultiDelegator(t *testing.T) { rewards := distrKeeper.CalculateDelegationRewards(ctx, val, del1, endingPeriod) // rewards for del1 should be 3/4 initial - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial * 3 / 4)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial * 3 / 4)}}, rewards) // calculate delegation rewards for del2 rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del2, endingPeriod) // rewards for del2 should be 1/4 initial - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial * 1 / 4)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial * 1 / 4)}}, rewards) // commission should be equal to initial (50% twice) - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) } func TestWithdrawDelegationRewardsBasic(t *testing.T) { @@ -340,7 +340,7 @@ func TestWithdrawDelegationRewardsBasic(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -354,7 +354,7 @@ func TestWithdrawDelegationRewardsBasic(t *testing.T) { // set module account coins distrAcc := distrKeeper.GetDistributionAccount(ctx) - require.NoError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, balanceTokens)))) + assert.NilError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, balanceTokens)))) accountKeeper.SetModuleAccount(ctx, distrAcc) // create validator with 50% commission @@ -364,7 +364,7 @@ func TestWithdrawDelegationRewardsBasic(t *testing.T) { // assert correct initial balance expTokens := balanceTokens.Sub(valTokens) - require.Equal(t, + assert.DeepEqual(t, sdk.Coins{sdk.NewCoin(sdk.DefaultBondDenom, expTokens)}, bankKeeper.GetAllBalances(ctx, sdk.AccAddress(valAddrs[0])), ) @@ -385,29 +385,29 @@ func TestWithdrawDelegationRewardsBasic(t *testing.T) { distrKeeper.AllocateTokensToValidator(ctx, val, tokens) // historical count should be 2 (initial + latest for delegation) - require.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) + assert.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) // withdraw rewards _, err = distrKeeper.WithdrawDelegationRewards(ctx, sdk.AccAddress(valAddrs[0]), valAddrs[0]) - require.Nil(t, err) + assert.Assert(t, err == nil) // historical count should still be 2 (added one record, cleared one) - require.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) + assert.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) // assert correct balance exp := balanceTokens.Sub(valTokens).Add(initial.QuoRaw(2)) - require.Equal(t, + assert.DeepEqual(t, sdk.Coins{sdk.NewCoin(sdk.DefaultBondDenom, exp)}, bankKeeper.GetAllBalances(ctx, sdk.AccAddress(valAddrs[0])), ) // withdraw commission _, err = distrKeeper.WithdrawValidatorCommission(ctx, valAddrs[0]) - require.Nil(t, err) + assert.Assert(t, err == nil) // assert correct balance exp = balanceTokens.Sub(valTokens).Add(initial) - require.Equal(t, + assert.DeepEqual(t, sdk.Coins{sdk.NewCoin(sdk.DefaultBondDenom, exp)}, bankKeeper.GetAllBalances(ctx, sdk.AccAddress(valAddrs[0])), ) @@ -425,7 +425,7 @@ func TestCalculateRewardsAfterManySlashesInSameBlock(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -455,7 +455,7 @@ func TestCalculateRewardsAfterManySlashesInSameBlock(t *testing.T) { rewards := distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be zero - require.True(t, rewards.IsZero()) + assert.Assert(t, rewards.IsZero()) // start out block height ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 3) @@ -487,10 +487,10 @@ func TestCalculateRewardsAfterManySlashesInSameBlock(t *testing.T) { rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del, endingPeriod) // rewards should be half the tokens - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial}}, rewards) // commission should be the other half - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) } func TestCalculateRewardsMultiDelegatorMultiSlash(t *testing.T) { @@ -505,7 +505,7 @@ func TestCalculateRewardsMultiDelegatorMultiSlash(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -567,16 +567,16 @@ func TestCalculateRewardsMultiDelegatorMultiSlash(t *testing.T) { rewards := distrKeeper.CalculateDelegationRewards(ctx, val, del1, endingPeriod) // rewards for del1 should be 2/3 initial (half initial first period, 1/6 initial second period) - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial.QuoInt64(2).Add(initial.QuoInt64(6))}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial.QuoInt64(2).Add(initial.QuoInt64(6))}}, rewards) // calculate delegation rewards for del2 rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del2, endingPeriod) // rewards for del2 should be initial / 3 - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial.QuoInt64(3)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial.QuoInt64(3)}}, rewards) // commission should be equal to initial (twice 50% commission, unaffected by slashing) - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: initial}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) } func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { @@ -593,7 +593,7 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -606,7 +606,7 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { // set module account coins distrAcc := distrKeeper.GetDistributionAccount(ctx) - require.NoError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000))))) + assert.NilError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000))))) accountKeeper.SetModuleAccount(ctx, distrAcc) tokens := sdk.DecCoins{sdk.NewDecCoinFromDec(sdk.DefaultBondDenom, math.LegacyNewDec(initial))} @@ -629,13 +629,13 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { distrKeeper.AllocateTokensToValidator(ctx, val, tokens) // historical count should be 2 (validator init, delegation init) - require.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) + assert.Equal(t, uint64(2), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) // second delegation tstaking.Delegate(sdk.AccAddress(valAddrs[1]), valAddrs[0], sdk.NewInt(100)) // historical count should be 3 (second delegation init) - require.Equal(t, uint64(3), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) + assert.Equal(t, uint64(3), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) // fetch updated validator val = stakingKeeper.Validator(ctx, valAddrs[0]) @@ -652,18 +652,18 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { // first delegator withdraws _, err = distrKeeper.WithdrawDelegationRewards(ctx, sdk.AccAddress(valAddrs[0]), valAddrs[0]) - require.NoError(t, err) + assert.NilError(t, err) // second delegator withdraws _, err = distrKeeper.WithdrawDelegationRewards(ctx, sdk.AccAddress(valAddrs[1]), valAddrs[0]) - require.NoError(t, err) + assert.NilError(t, err) // historical count should be 3 (validator init + two delegations) - require.Equal(t, uint64(3), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) + assert.Equal(t, uint64(3), distrKeeper.GetValidatorHistoricalReferenceCount(ctx)) // validator withdraws commission _, err = distrKeeper.WithdrawValidatorCommission(ctx, valAddrs[0]) - require.NoError(t, err) + assert.NilError(t, err) // end period endingPeriod := distrKeeper.IncrementValidatorPeriod(ctx, val) @@ -672,16 +672,16 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { rewards := distrKeeper.CalculateDelegationRewards(ctx, val, del1, endingPeriod) // rewards for del1 should be zero - require.True(t, rewards.IsZero()) + assert.Assert(t, rewards.IsZero()) // calculate delegation rewards for del2 rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del2, endingPeriod) // rewards for del2 should be zero - require.True(t, rewards.IsZero()) + assert.Assert(t, rewards.IsZero()) // commission should be zero - require.True(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) // next block ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) @@ -691,7 +691,7 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { // first delegator withdraws again _, err = distrKeeper.WithdrawDelegationRewards(ctx, sdk.AccAddress(valAddrs[0]), valAddrs[0]) - require.NoError(t, err) + assert.NilError(t, err) // end period endingPeriod = distrKeeper.IncrementValidatorPeriod(ctx, val) @@ -700,16 +700,16 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del1, endingPeriod) // rewards for del1 should be zero - require.True(t, rewards.IsZero()) + assert.Assert(t, rewards.IsZero()) // calculate delegation rewards for del2 rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del2, endingPeriod) // rewards for del2 should be 1/4 initial - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 4)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 4)}}, rewards) // commission should be half initial - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission) // next block ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) @@ -719,7 +719,7 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { // withdraw commission _, err = distrKeeper.WithdrawValidatorCommission(ctx, valAddrs[0]) - require.NoError(t, err) + assert.NilError(t, err) // end period endingPeriod = distrKeeper.IncrementValidatorPeriod(ctx, val) @@ -728,16 +728,16 @@ func TestCalculateRewardsMultiDelegatorMultWithdraw(t *testing.T) { rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del1, endingPeriod) // rewards for del1 should be 1/4 initial - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 4)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 4)}}, rewards) // calculate delegation rewards for del2 rewards = distrKeeper.CalculateDelegationRewards(ctx, val, del2, endingPeriod) // rewards for del2 should be 1/2 initial - require.Equal(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, rewards) + assert.DeepEqual(t, sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial / 2)}}, rewards) // commission should be zero - require.True(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) + assert.Assert(t, distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission.IsZero()) } func Test100PercentCommissionReward(t *testing.T) { @@ -754,7 +754,7 @@ func Test100PercentCommissionReward(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -765,7 +765,7 @@ func Test100PercentCommissionReward(t *testing.T) { // set module account coins distrAcc := distrKeeper.GetDistributionAccount(ctx) - require.NoError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000))))) + assert.NilError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), sdk.NewCoins(sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(1000))))) accountKeeper.SetModuleAccount(ctx, distrAcc) tokens := sdk.DecCoins{sdk.NewDecCoinFromDec(sdk.DefaultBondDenom, math.LegacyNewDec(initial))} @@ -802,10 +802,10 @@ func Test100PercentCommissionReward(t *testing.T) { distrKeeper.AllocateTokensToValidator(ctx, val, tokens) rewards, err := distrKeeper.WithdrawDelegationRewards(ctx, sdk.AccAddress(valAddrs[0]), valAddrs[0]) - require.NoError(t, err) + assert.NilError(t, err) zeroRewards := sdk.Coins{sdk.NewCoin(sdk.DefaultBondDenom, math.ZeroInt())} - require.True(t, rewards.IsEqual(zeroRewards)) + assert.Assert(t, rewards.IsEqual(zeroRewards)) events := ctx.EventManager().Events() lastEvent := events[len(events)-1] @@ -816,5 +816,5 @@ func Test100PercentCommissionReward(t *testing.T) { hasValue = true } } - require.True(t, hasValue) + assert.Assert(t, hasValue) } diff --git a/tests/integration/distribution/keeper/grpc_query_test.go b/tests/integration/distribution/keeper/grpc_query_test.go index 6074126b09..7d6aa60759 100644 --- a/tests/integration/distribution/keeper/grpc_query_test.go +++ b/tests/integration/distribution/keeper/grpc_query_test.go @@ -6,8 +6,8 @@ import ( "testing" "cosmossdk.io/math" - "github.com/stretchr/testify/suite" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "gotest.tools/v3/assert" "github.com/cosmos/cosmos-sdk/baseapp" codectypes "github.com/cosmos/cosmos-sdk/codec/types" @@ -25,9 +25,7 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) -type KeeperTestSuite struct { - suite.Suite - +type fixture struct { ctx sdk.Context queryClient types.QueryClient addrs []sdk.AccAddress @@ -40,36 +38,39 @@ type KeeperTestSuite struct { msgServer types.MsgServer } -func TestDistributionTestSuite(t *testing.T) { - suite.Run(t, new(KeeperTestSuite)) -} +func initFixture(t assert.TestingT) *fixture { + f := &fixture{} -func (suite *KeeperTestSuite) SetupTest() { app, err := simtestutil.Setup( testutil.AppConfig, - &suite.interfaceRegistry, - &suite.bankKeeper, - &suite.distrKeeper, - &suite.stakingKeeper, + &f.interfaceRegistry, + &f.bankKeeper, + &f.distrKeeper, + &f.stakingKeeper, ) - suite.NoError(err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) - queryHelper := baseapp.NewQueryServerTestHelper(ctx, suite.interfaceRegistry) - types.RegisterQueryServer(queryHelper, keeper.NewQuerier(suite.distrKeeper)) + queryHelper := baseapp.NewQueryServerTestHelper(ctx, f.interfaceRegistry) + types.RegisterQueryServer(queryHelper, keeper.NewQuerier(f.distrKeeper)) queryClient := types.NewQueryClient(queryHelper) - suite.ctx = ctx - suite.queryClient = queryClient + f.ctx = ctx + f.queryClient = queryClient - suite.addrs = simtestutil.AddTestAddrs(suite.bankKeeper, suite.stakingKeeper, ctx, 2, sdk.NewInt(1000000000)) - suite.valAddrs = simtestutil.ConvertAddrsToValAddrs(suite.addrs) - suite.msgServer = keeper.NewMsgServerImpl(suite.distrKeeper) + f.addrs = simtestutil.AddTestAddrs(f.bankKeeper, f.stakingKeeper, ctx, 2, sdk.NewInt(1000000000)) + f.valAddrs = simtestutil.ConvertAddrsToValAddrs(f.addrs) + f.msgServer = keeper.NewMsgServerImpl(f.distrKeeper) + + return f } -func (suite *KeeperTestSuite) TestGRPCParams() { - ctx, queryClient := suite.ctx, suite.queryClient +func TestGRPCParams(t *testing.T) { + t.Parallel() + f := initFixture(t) + + ctx, queryClient := f.ctx, f.queryClient var ( params types.Params @@ -80,7 +81,6 @@ func (suite *KeeperTestSuite) TestGRPCParams() { testCases := []struct { msg string malleate func() - expPass bool }{ { "empty params request", @@ -88,7 +88,6 @@ func (suite *KeeperTestSuite) TestGRPCParams() { req = &types.QueryParamsRequest{} expParams = types.DefaultParams() }, - true, }, { "valid request", @@ -100,33 +99,31 @@ func (suite *KeeperTestSuite) TestGRPCParams() { WithdrawAddrEnabled: true, } - suite.NoError(suite.distrKeeper.SetParams(ctx, params)) + assert.NilError(t, f.distrKeeper.SetParams(ctx, params)) req = &types.QueryParamsRequest{} expParams = params }, - true, }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() paramsRes, err := queryClient.Params(gocontext.Background(), req) - if testCase.expPass { - suite.Require().NoError(err) - suite.Require().NotNil(paramsRes) - suite.Require().Equal(expParams, paramsRes.Params) - } else { - suite.Require().Error(err) - } + assert.NilError(t, err) + assert.Assert(t, paramsRes != nil) + assert.DeepEqual(t, expParams, paramsRes.Params) }) } } -func (suite *KeeperTestSuite) TestGRPCValidatorOutstandingRewards() { - ctx, queryClient, valAddrs := suite.ctx, suite.queryClient, suite.valAddrs +func TestGRPCValidatorOutstandingRewards(t *testing.T) { + t.Parallel() + f := initFixture(t) + + ctx, queryClient, valAddrs := f.ctx, f.queryClient, f.valAddrs valCommission := sdk.DecCoins{ sdk.NewDecCoinFromDec("mytoken", math.LegacyNewDec(5000)), @@ -134,15 +131,16 @@ func (suite *KeeperTestSuite) TestGRPCValidatorOutstandingRewards() { } // set outstanding rewards - suite.distrKeeper.SetValidatorOutstandingRewards(ctx, valAddrs[0], types.ValidatorOutstandingRewards{Rewards: valCommission}) - rewards := suite.distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]) + f.distrKeeper.SetValidatorOutstandingRewards(ctx, valAddrs[0], types.ValidatorOutstandingRewards{Rewards: valCommission}) + rewards := f.distrKeeper.GetValidatorOutstandingRewards(ctx, valAddrs[0]) var req *types.QueryValidatorOutstandingRewardsRequest testCases := []struct { - msg string - malleate func() - expPass bool + msg string + malleate func() + expPass bool + expErrMsg string }{ { "empty request", @@ -150,45 +148,51 @@ func (suite *KeeperTestSuite) TestGRPCValidatorOutstandingRewards() { req = &types.QueryValidatorOutstandingRewardsRequest{} }, false, + "empty validator address", }, { "valid request", func() { req = &types.QueryValidatorOutstandingRewardsRequest{ValidatorAddress: valAddrs[0].String()} }, true, + "", }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() validatorOutstandingRewards, err := queryClient.ValidatorOutstandingRewards(gocontext.Background(), req) if testCase.expPass { - suite.Require().NoError(err) - suite.Require().Equal(rewards, validatorOutstandingRewards.Rewards) - suite.Require().Equal(valCommission, validatorOutstandingRewards.Rewards.Rewards) + assert.NilError(t, err) + assert.DeepEqual(t, rewards, validatorOutstandingRewards.Rewards) + assert.DeepEqual(t, valCommission, validatorOutstandingRewards.Rewards.Rewards) } else { - suite.Require().Error(err) - suite.Require().Nil(validatorOutstandingRewards) + assert.ErrorContains(t, err, testCase.expErrMsg) + assert.Assert(t, validatorOutstandingRewards == nil) } }) } } -func (suite *KeeperTestSuite) TestGRPCValidatorCommission() { - ctx, queryClient, valAddrs := suite.ctx, suite.queryClient, suite.valAddrs +func TestGRPCValidatorCommission(t *testing.T) { + t.Parallel() + f := initFixture(t) + + ctx, queryClient, valAddrs := f.ctx, f.queryClient, f.valAddrs commission := sdk.DecCoins{{Denom: "token1", Amount: math.LegacyNewDec(4)}, {Denom: "token2", Amount: math.LegacyNewDec(2)}} - suite.distrKeeper.SetValidatorAccumulatedCommission(ctx, valAddrs[0], types.ValidatorAccumulatedCommission{Commission: commission}) + f.distrKeeper.SetValidatorAccumulatedCommission(ctx, valAddrs[0], types.ValidatorAccumulatedCommission{Commission: commission}) var req *types.QueryValidatorCommissionRequest testCases := []struct { - msg string - malleate func() - expPass bool + msg string + malleate func() + expPass bool + expErrMsg string }{ { "empty request", @@ -196,6 +200,7 @@ func (suite *KeeperTestSuite) TestGRPCValidatorCommission() { req = &types.QueryValidatorCommissionRequest{} }, false, + "empty validator address", }, { "valid request", @@ -203,29 +208,33 @@ func (suite *KeeperTestSuite) TestGRPCValidatorCommission() { req = &types.QueryValidatorCommissionRequest{ValidatorAddress: valAddrs[0].String()} }, true, + "", }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() commissionRes, err := queryClient.ValidatorCommission(gocontext.Background(), req) if testCase.expPass { - suite.Require().NoError(err) - suite.Require().NotNil(commissionRes) - suite.Require().Equal(commissionRes.Commission.Commission, commission) + assert.NilError(t, err) + assert.Assert(t, commissionRes != nil) + assert.DeepEqual(t, commissionRes.Commission.Commission, commission) } else { - suite.Require().Error(err) - suite.Require().Nil(commissionRes) + assert.ErrorContains(t, err, testCase.expErrMsg) + assert.Assert(t, commissionRes == nil) } }) } } -func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { - ctx, queryClient, valAddrs := suite.ctx, suite.queryClient, suite.valAddrs +func TestGRPCValidatorSlashes(t *testing.T) { + t.Parallel() + f := initFixture(t) + + ctx, queryClient, valAddrs := f.ctx, f.queryClient, f.valAddrs slashes := []types.ValidatorSlashEvent{ types.NewValidatorSlashEvent(3, sdk.NewDecWithPrec(5, 1)), @@ -235,7 +244,7 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { } for i, slash := range slashes { - suite.distrKeeper.SetValidatorSlashEvent(ctx, valAddrs[0], uint64(i+2), 0, slash) + f.distrKeeper.SetValidatorSlashEvent(ctx, valAddrs[0], uint64(i+2), 0, slash) } var ( @@ -244,9 +253,10 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { ) testCases := []struct { - msg string - malleate func() - expPass bool + msg string + malleate func() + expPass bool + expErrMsg string }{ { "empty request", @@ -255,6 +265,7 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { expRes = &types.QueryValidatorSlashesResponse{} }, false, + "empty validator address", }, { "Ending height lesser than start height request", @@ -267,6 +278,7 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { expRes = &types.QueryValidatorSlashesResponse{Pagination: &query.PageResponse{}} }, false, + "starting height greater than ending height", }, { "no slash event validator request", @@ -279,6 +291,7 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { expRes = &types.QueryValidatorSlashesResponse{Pagination: &query.PageResponse{}} }, true, + "", }, { "request slashes with offset 2 and limit 2", @@ -300,6 +313,7 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { } }, true, + "", }, { "request slashes with page limit 3 and count total", @@ -321,6 +335,7 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { } }, true, + "", }, { "request slashes with page limit 4 and count total", @@ -342,45 +357,49 @@ func (suite *KeeperTestSuite) TestGRPCValidatorSlashes() { } }, true, + "", }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() slashesRes, err := queryClient.ValidatorSlashes(gocontext.Background(), req) if testCase.expPass { - suite.Require().NoError(err) - suite.Require().Equal(expRes.GetSlashes(), slashesRes.GetSlashes()) + assert.NilError(t, err) + assert.DeepEqual(t, expRes.GetSlashes(), slashesRes.GetSlashes()) } else { - suite.Require().Error(err) - suite.Require().Nil(slashesRes) + assert.ErrorContains(t, err, testCase.expErrMsg) + assert.Assert(t, slashesRes == nil) } }) } } -func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { - ctx, addrs, valAddrs := suite.ctx, suite.addrs, suite.valAddrs +func TestGRPCDelegationRewards(t *testing.T) { + t.Parallel() + f := initFixture(t) - tstaking := stakingtestutil.NewHelper(suite.T(), ctx, suite.stakingKeeper) + ctx, addrs, valAddrs := f.ctx, f.addrs, f.valAddrs + + tstaking := stakingtestutil.NewHelper(t, ctx, f.stakingKeeper) tstaking.Commission = stakingtypes.NewCommissionRates(sdk.NewDecWithPrec(5, 1), sdk.NewDecWithPrec(5, 1), math.LegacyNewDec(0)) tstaking.CreateValidator(valAddrs[0], valConsPk0, sdk.NewInt(100), true) - staking.EndBlocker(ctx, suite.stakingKeeper) + staking.EndBlocker(ctx, f.stakingKeeper) ctx = ctx.WithBlockHeight(ctx.BlockHeight() + 1) - queryHelper := baseapp.NewQueryServerTestHelper(ctx, suite.interfaceRegistry) - types.RegisterQueryServer(queryHelper, keeper.NewQuerier(suite.distrKeeper)) + queryHelper := baseapp.NewQueryServerTestHelper(ctx, f.interfaceRegistry) + types.RegisterQueryServer(queryHelper, keeper.NewQuerier(f.distrKeeper)) queryClient := types.NewQueryClient(queryHelper) - val := suite.stakingKeeper.Validator(ctx, valAddrs[0]) + val := f.stakingKeeper.Validator(ctx, valAddrs[0]) initial := int64(10) tokens := sdk.DecCoins{{Denom: sdk.DefaultBondDenom, Amount: math.LegacyNewDec(initial)}} - suite.distrKeeper.AllocateTokensToValidator(ctx, val, tokens) + f.distrKeeper.AllocateTokensToValidator(ctx, val, tokens) // test command delegation rewards grpc var ( @@ -389,9 +408,10 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { ) testCases := []struct { - msg string - malleate func() - expPass bool + msg string + malleate func() + expPass bool + expErrMsg string }{ { "empty request", @@ -399,6 +419,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { req = &types.QueryDelegationRewardsRequest{} }, false, + "empty delegator address", }, { "empty delegator request", @@ -409,6 +430,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { } }, false, + "empty delegator address", }, { "empty validator request", @@ -419,6 +441,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { } }, false, + "empty validator address", }, { "request with wrong delegator and validator", @@ -429,6 +452,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { } }, false, + "validator does not exist", }, { "valid request", @@ -443,21 +467,22 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { } }, true, + "", }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() rewards, err := queryClient.DelegationRewards(gocontext.Background(), req) if testCase.expPass { - suite.Require().NoError(err) - suite.Require().Equal(expRes, rewards) + assert.NilError(t, err) + assert.DeepEqual(t, expRes, rewards) } else { - suite.Require().Error(err) - suite.Require().Nil(rewards) + assert.ErrorContains(t, err, testCase.expErrMsg) + assert.Assert(t, rewards == nil) } }) } @@ -469,9 +494,10 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { ) testCases = []struct { - msg string - malleate func() - expPass bool + msg string + malleate func() + expPass bool + expErrMsg string }{ { "empty request", @@ -479,6 +505,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { totalRewardsReq = &types.QueryDelegationTotalRewardsRequest{} }, false, + "empty delegator address", }, { "valid total delegation rewards", @@ -496,22 +523,22 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { } }, true, + "", }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() totalRewardsRes, err := queryClient.DelegationTotalRewards(gocontext.Background(), totalRewardsReq) if testCase.expPass { - suite.Require().NoError(err) - suite.Require().Equal(totalRewardsRes, expTotalRewardsRes) + assert.NilError(t, err) + assert.DeepEqual(t, totalRewardsRes, expTotalRewardsRes) } else { - - suite.Require().Error(err) - suite.Require().Nil(totalRewardsRes) + assert.ErrorContains(t, err, testCase.expErrMsg) + assert.Assert(t, totalRewardsRes == nil) } }) } @@ -523,9 +550,10 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { ) testCases = []struct { - msg string - malleate func() - expPass bool + msg string + malleate func() + expPass bool + expErrMsg string }{ { "empty request", @@ -533,6 +561,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { delegatorValidatorsReq = &types.QueryDelegatorValidatorsRequest{} }, false, + "empty delegator address", }, { "request no delegations address", @@ -544,6 +573,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { expDelegatorValidatorsRes = &types.QueryDelegatorValidatorsResponse{} }, true, + "", }, { "valid request", @@ -556,38 +586,43 @@ func (suite *KeeperTestSuite) TestGRPCDelegationRewards() { } }, true, + "", }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() validators, err := queryClient.DelegatorValidators(gocontext.Background(), delegatorValidatorsReq) if testCase.expPass { - suite.Require().NoError(err) - suite.Require().Equal(expDelegatorValidatorsRes, validators) + assert.NilError(t, err) + assert.DeepEqual(t, expDelegatorValidatorsRes, validators) } else { - suite.Require().Error(err) - suite.Require().Nil(validators) + assert.ErrorContains(t, err, testCase.expErrMsg) + assert.Assert(t, validators == nil) } }) } } -func (suite *KeeperTestSuite) TestGRPCDelegatorWithdrawAddress() { - ctx, queryClient, addrs := suite.ctx, suite.queryClient, suite.addrs +func TestGRPCDelegatorWithdrawAddress(t *testing.T) { + t.Parallel() + f := initFixture(t) - err := suite.distrKeeper.SetWithdrawAddr(ctx, addrs[0], addrs[1]) - suite.Require().Nil(err) + ctx, queryClient, addrs := f.ctx, f.queryClient, f.addrs + + err := f.distrKeeper.SetWithdrawAddr(ctx, addrs[0], addrs[1]) + assert.Assert(t, err == nil) var req *types.QueryDelegatorWithdrawAddressRequest testCases := []struct { - msg string - malleate func() - expPass bool + msg string + malleate func() + expPass bool + expErrMsg string }{ { "empty request", @@ -595,6 +630,7 @@ func (suite *KeeperTestSuite) TestGRPCDelegatorWithdrawAddress() { req = &types.QueryDelegatorWithdrawAddressRequest{} }, false, + "empty delegator address", }, { "valid request", @@ -602,30 +638,34 @@ func (suite *KeeperTestSuite) TestGRPCDelegatorWithdrawAddress() { req = &types.QueryDelegatorWithdrawAddressRequest{DelegatorAddress: addrs[0].String()} }, true, + "", }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() withdrawAddress, err := queryClient.DelegatorWithdrawAddress(gocontext.Background(), req) if testCase.expPass { - suite.Require().NoError(err) - suite.Require().Equal(withdrawAddress.WithdrawAddress, addrs[1].String()) + assert.NilError(t, err) + assert.Equal(t, withdrawAddress.WithdrawAddress, addrs[1].String()) } else { - suite.Require().Error(err) - suite.Require().Nil(withdrawAddress) + assert.ErrorContains(t, err, testCase.expErrMsg) + assert.Assert(t, withdrawAddress == nil) } }) } } -func (suite *KeeperTestSuite) TestGRPCCommunityPool() { - ctx, queryClient, addrs := suite.ctx, suite.queryClient, suite.addrs +func TestGRPCCommunityPool(t *testing.T) { + t.Parallel() + f := initFixture(t) + + ctx, queryClient, addrs := f.ctx, f.queryClient, f.addrs // reset fee pool - suite.distrKeeper.SetFeePool(ctx, types.InitialFeePool()) + f.distrKeeper.SetFeePool(ctx, types.InitialFeePool()) var ( req *types.QueryCommunityPoolRequest @@ -635,7 +675,6 @@ func (suite *KeeperTestSuite) TestGRPCCommunityPool() { testCases := []struct { msg string malleate func() - expPass bool }{ { "valid request empty community pool", @@ -643,37 +682,30 @@ func (suite *KeeperTestSuite) TestGRPCCommunityPool() { req = &types.QueryCommunityPoolRequest{} expPool = &types.QueryCommunityPoolResponse{} }, - true, }, { "valid request", func() { amount := sdk.NewCoins(sdk.NewInt64Coin("stake", 100)) - suite.Require().NoError(banktestutil.FundAccount(suite.bankKeeper, ctx, addrs[0], amount)) + assert.NilError(t, banktestutil.FundAccount(f.bankKeeper, ctx, addrs[0], amount)) - err := suite.distrKeeper.FundCommunityPool(ctx, amount, addrs[0]) - suite.Require().Nil(err) + err := f.distrKeeper.FundCommunityPool(ctx, amount, addrs[0]) + assert.Assert(t, err == nil) req = &types.QueryCommunityPoolRequest{} expPool = &types.QueryCommunityPoolResponse{Pool: sdk.NewDecCoinsFromCoins(amount...)} }, - true, }, } for _, testCase := range testCases { - suite.Run(fmt.Sprintf("Case %s", testCase.msg), func() { + t.Run(fmt.Sprintf("Case %s", testCase.msg), func(t *testing.T) { testCase.malleate() pool, err := queryClient.CommunityPool(gocontext.Background(), req) - if testCase.expPass { - suite.Require().NoError(err) - suite.Require().Equal(expPool, pool) - } else { - suite.Require().Error(err) - suite.Require().Nil(pool) - } + assert.NilError(t, err) + assert.DeepEqual(t, expPool, pool) }) } } diff --git a/tests/integration/distribution/keeper/keeper_test.go b/tests/integration/distribution/keeper/keeper_test.go index 009bddd4a1..fe6987a62f 100644 --- a/tests/integration/distribution/keeper/keeper_test.go +++ b/tests/integration/distribution/keeper/keeper_test.go @@ -1,11 +1,12 @@ package keeper_test import ( + "fmt" "testing" "cosmossdk.io/math" - "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "gotest.tools/v3/assert" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" @@ -30,7 +31,7 @@ func TestSetWithdrawAddr(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -38,18 +39,18 @@ func TestSetWithdrawAddr(t *testing.T) { params := distrKeeper.GetParams(ctx) params.WithdrawAddrEnabled = false - require.NoError(t, distrKeeper.SetParams(ctx, params)) + assert.NilError(t, distrKeeper.SetParams(ctx, params)) err = distrKeeper.SetWithdrawAddr(ctx, addr[0], addr[1]) - require.NotNil(t, err) + assert.Assert(t, err != nil) params.WithdrawAddrEnabled = true - require.NoError(t, distrKeeper.SetParams(ctx, params)) + assert.NilError(t, distrKeeper.SetParams(ctx, params)) err = distrKeeper.SetWithdrawAddr(ctx, addr[0], addr[1]) - require.Nil(t, err) + assert.NilError(t, err) - require.Error(t, distrKeeper.SetWithdrawAddr(ctx, addr[0], distrAcc.GetAddress())) + assert.ErrorContains(t, distrKeeper.SetWithdrawAddr(ctx, addr[0], distrAcc.GetAddress()), fmt.Sprintf("%s is not allowed to receive external funds: unauthorized", distrAcc.GetAddress())) } func TestWithdrawValidatorCommission(t *testing.T) { @@ -66,7 +67,7 @@ func TestWithdrawValidatorCommission(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -81,7 +82,7 @@ func TestWithdrawValidatorCommission(t *testing.T) { // set module account coins distrAcc := distrKeeper.GetDistributionAccount(ctx) coins := sdk.NewCoins(sdk.NewCoin("mytoken", sdk.NewInt(2)), sdk.NewCoin("stake", sdk.NewInt(2))) - require.NoError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), coins)) + assert.NilError(t, banktestutil.FundModuleAccount(bankKeeper, ctx, distrAcc.GetName(), coins)) accountKeeper.SetModuleAccount(ctx, distrAcc) @@ -89,7 +90,7 @@ func TestWithdrawValidatorCommission(t *testing.T) { balance := bankKeeper.GetAllBalances(ctx, sdk.AccAddress(valAddrs[0])) expTokens := stakingKeeper.TokensFromConsensusPower(ctx, 1000) expCoins := sdk.NewCoins(sdk.NewCoin("stake", expTokens)) - require.Equal(t, expCoins, balance) + assert.DeepEqual(t, expCoins, balance) // set outstanding rewards distrKeeper.SetValidatorOutstandingRewards(ctx, valAddrs[0], types.ValidatorOutstandingRewards{Rewards: valCommission}) @@ -99,23 +100,21 @@ func TestWithdrawValidatorCommission(t *testing.T) { // withdraw commission _, err = distrKeeper.WithdrawValidatorCommission(ctx, valAddrs[0]) - require.NoError(t, err) + assert.NilError(t, err) // check balance increase balance = bankKeeper.GetAllBalances(ctx, sdk.AccAddress(valAddrs[0])) - require.Equal(t, sdk.NewCoins( + assert.DeepEqual(t, sdk.NewCoins( sdk.NewCoin("mytoken", sdk.NewInt(1)), sdk.NewCoin("stake", expTokens.AddRaw(1)), ), balance) // check remainder remainder := distrKeeper.GetValidatorAccumulatedCommission(ctx, valAddrs[0]).Commission - require.Equal(t, sdk.DecCoins{ + assert.DeepEqual(t, sdk.DecCoins{ sdk.NewDecCoinFromDec("mytoken", math.LegacyNewDec(1).Quo(math.LegacyNewDec(4))), sdk.NewDecCoinFromDec("stake", math.LegacyNewDec(1).Quo(math.LegacyNewDec(2))), }, remainder) - - require.True(t, true) } func TestGetTotalRewards(t *testing.T) { @@ -130,7 +129,7 @@ func TestGetTotalRewards(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -148,7 +147,7 @@ func TestGetTotalRewards(t *testing.T) { expectedRewards := valCommission.MulDec(math.LegacyNewDec(2)) totalRewards := distrKeeper.GetTotalRewards(ctx) - require.Equal(t, expectedRewards, totalRewards) + assert.DeepEqual(t, expectedRewards, totalRewards) } func TestFundCommunityPool(t *testing.T) { @@ -163,7 +162,7 @@ func TestFundCommunityPool(t *testing.T) { &distrKeeper, &stakingKeeper, ) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) @@ -173,14 +172,14 @@ func TestFundCommunityPool(t *testing.T) { addr := simtestutil.AddTestAddrs(bankKeeper, stakingKeeper, ctx, 2, math.ZeroInt()) amount := sdk.NewCoins(sdk.NewInt64Coin("stake", 100)) - require.NoError(t, banktestutil.FundAccount(bankKeeper, ctx, addr[0], amount)) + assert.NilError(t, banktestutil.FundAccount(bankKeeper, ctx, addr[0], amount)) initPool := distrKeeper.GetFeePool(ctx) - require.Empty(t, initPool.CommunityPool) + assert.Assert(t, initPool.CommunityPool.Empty()) err = distrKeeper.FundCommunityPool(ctx, amount, addr[0]) - require.Nil(t, err) + assert.NilError(t, err) - require.Equal(t, initPool.CommunityPool.Add(sdk.NewDecCoinsFromCoins(amount...)...), distrKeeper.GetFeePool(ctx).CommunityPool) - require.Empty(t, bankKeeper.GetAllBalances(ctx, addr[0])) + assert.DeepEqual(t, initPool.CommunityPool.Add(sdk.NewDecCoinsFromCoins(amount...)...), distrKeeper.GetFeePool(ctx).CommunityPool) + assert.Assert(t, bankKeeper.GetAllBalances(ctx, addr[0]).Empty()) } diff --git a/tests/integration/distribution/keeper/msg_server_test.go b/tests/integration/distribution/keeper/msg_server_test.go index 7fd0963822..4d0411ed00 100644 --- a/tests/integration/distribution/keeper/msg_server_test.go +++ b/tests/integration/distribution/keeper/msg_server_test.go @@ -1,7 +1,10 @@ package keeper_test import ( + "testing" + "cosmossdk.io/math" + "gotest.tools/v3/assert" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/x/distribution/types" @@ -10,7 +13,10 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ) -func (s *KeeperTestSuite) TestMsgUpdateParams() { +func TestMsgUpdateParams(t *testing.T) { + t.Parallel() + f := initFixture(t) + // default params communityTax := sdk.NewDecWithPrec(2, 2) // 2% withdrawAddrEnabled := true @@ -38,7 +44,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() { { name: "community tax > 1", input: &types.MsgUpdateParams{ - Authority: s.distrKeeper.GetAuthority(), + Authority: f.distrKeeper.GetAuthority(), Params: types.Params{ CommunityTax: sdk.NewDecWithPrec(2, 0), WithdrawAddrEnabled: withdrawAddrEnabled, @@ -52,7 +58,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() { { name: "negative community tax", input: &types.MsgUpdateParams{ - Authority: s.distrKeeper.GetAuthority(), + Authority: f.distrKeeper.GetAuthority(), Params: types.Params{ CommunityTax: sdk.NewDecWithPrec(-2, 1), WithdrawAddrEnabled: withdrawAddrEnabled, @@ -66,7 +72,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() { { name: "base proposer reward set", input: &types.MsgUpdateParams{ - Authority: s.distrKeeper.GetAuthority(), + Authority: f.distrKeeper.GetAuthority(), Params: types.Params{ CommunityTax: communityTax, BaseProposerReward: sdk.NewDecWithPrec(1, 2), @@ -80,7 +86,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() { { name: "bonus proposer reward set", input: &types.MsgUpdateParams{ - Authority: s.distrKeeper.GetAuthority(), + Authority: f.distrKeeper.GetAuthority(), Params: types.Params{ CommunityTax: communityTax, BaseProposerReward: sdk.ZeroDec(), @@ -94,7 +100,7 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() { { name: "all good", input: &types.MsgUpdateParams{ - Authority: s.distrKeeper.GetAuthority(), + Authority: f.distrKeeper.GetAuthority(), Params: types.Params{ CommunityTax: communityTax, BaseProposerReward: sdk.ZeroDec(), @@ -108,20 +114,22 @@ func (s *KeeperTestSuite) TestMsgUpdateParams() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { - _, err := s.msgServer.UpdateParams(s.ctx, tc.input) + t.Run(tc.name, func(t *testing.T) { + _, err := f.msgServer.UpdateParams(f.ctx, tc.input) if tc.expErr { - s.Require().Error(err) - s.Require().Contains(err.Error(), tc.expErrMsg) + assert.ErrorContains(t, err, tc.expErrMsg) } else { - s.Require().NoError(err) + assert.NilError(t, err) } }) } } -func (s *KeeperTestSuite) TestCommunityPoolSpend() { +func TestCommunityPoolSpend(t *testing.T) { + t.Parallel() + f := initFixture(t) + recipient := sdk.AccAddress([]byte("addr1_______________")) testCases := []struct { @@ -143,7 +151,7 @@ func (s *KeeperTestSuite) TestCommunityPoolSpend() { { name: "invalid recipient", input: &types.MsgCommunityPoolSpend{ - Authority: s.distrKeeper.GetAuthority(), + Authority: f.distrKeeper.GetAuthority(), Recipient: "invalid", Amount: sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(100))), }, @@ -153,7 +161,7 @@ func (s *KeeperTestSuite) TestCommunityPoolSpend() { { name: "valid message", input: &types.MsgCommunityPoolSpend{ - Authority: s.distrKeeper.GetAuthority(), + Authority: f.distrKeeper.GetAuthority(), Recipient: recipient.String(), Amount: sdk.NewCoins(sdk.NewCoin("stake", sdk.NewInt(100))), }, @@ -163,34 +171,36 @@ func (s *KeeperTestSuite) TestCommunityPoolSpend() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { - _, err := s.msgServer.CommunityPoolSpend(s.ctx, tc.input) + t.Run(tc.name, func(t *testing.T) { + _, err := f.msgServer.CommunityPoolSpend(f.ctx, tc.input) if tc.expErr { - s.Require().Error(err) - s.Require().Contains(err.Error(), tc.expErrMsg) + assert.ErrorContains(t, err, tc.expErrMsg) } else { - s.Require().NoError(err) - + assert.NilError(t, err) r, err := sdk.AccAddressFromBech32(tc.input.Recipient) - s.Require().NoError(err) + assert.NilError(t, err) - b := s.bankKeeper.GetAllBalances(s.ctx, r) - s.Require().False(b.IsZero()) + b := f.bankKeeper.GetAllBalances(f.ctx, r) + + assert.Assert(t, b.IsZero() == false) } }) } } -func (s *KeeperTestSuite) TestMsgDepositValidatorRewardsPool() { - tstaking := stakingtestutil.NewHelper(s.T(), s.ctx, s.stakingKeeper) +func TestMsgDepositValidatorRewardsPool(t *testing.T) { + t.Parallel() + f := initFixture(t) + + tstaking := stakingtestutil.NewHelper(t, f.ctx, f.stakingKeeper) tstaking.Commission = stakingtypes.NewCommissionRates(sdk.NewDecWithPrec(5, 1), sdk.NewDecWithPrec(5, 1), math.LegacyNewDec(0)) - tstaking.CreateValidator(s.valAddrs[1], valConsPk0, sdk.NewInt(100), true) + tstaking.CreateValidator(f.valAddrs[1], valConsPk0, sdk.NewInt(100), true) // mint a non-staking token and send to an account amt := sdk.NewCoins(sdk.NewInt64Coin("foo", 500)) - s.bankKeeper.MintCoins(s.ctx, minttypes.ModuleName, amt) - s.bankKeeper.SendCoinsFromModuleToAccount(s.ctx, minttypes.ModuleName, s.addrs[0], amt) + f.bankKeeper.MintCoins(f.ctx, minttypes.ModuleName, amt) + f.bankKeeper.SendCoinsFromModuleToAccount(f.ctx, minttypes.ModuleName, f.addrs[0], amt) testCases := []struct { name string @@ -201,25 +211,25 @@ func (s *KeeperTestSuite) TestMsgDepositValidatorRewardsPool() { { name: "happy path (staking token)", input: &types.MsgDepositValidatorRewardsPool{ - Authority: s.addrs[0].String(), - ValidatorAddress: s.valAddrs[1].String(), - Amount: sdk.NewCoins(sdk.NewCoin(s.stakingKeeper.BondDenom(s.ctx), sdk.NewInt(100))), + Authority: f.addrs[0].String(), + ValidatorAddress: f.valAddrs[1].String(), + Amount: sdk.NewCoins(sdk.NewCoin(f.stakingKeeper.BondDenom(f.ctx), sdk.NewInt(100))), }, }, { name: "happy path (non-staking token)", input: &types.MsgDepositValidatorRewardsPool{ - Authority: s.addrs[0].String(), - ValidatorAddress: s.valAddrs[1].String(), + Authority: f.addrs[0].String(), + ValidatorAddress: f.valAddrs[1].String(), Amount: amt, }, }, { name: "invalid validator", input: &types.MsgDepositValidatorRewardsPool{ - Authority: s.addrs[0].String(), + Authority: f.addrs[0].String(), ValidatorAddress: sdk.ValAddress([]byte("addr1_______________")).String(), - Amount: sdk.NewCoins(sdk.NewCoin(s.stakingKeeper.BondDenom(s.ctx), sdk.NewInt(100))), + Amount: sdk.NewCoins(sdk.NewCoin(f.stakingKeeper.BondDenom(f.ctx), sdk.NewInt(100))), }, expErr: true, expErrMsg: "validator does not exist", @@ -228,23 +238,22 @@ func (s *KeeperTestSuite) TestMsgDepositValidatorRewardsPool() { for _, tc := range testCases { tc := tc - s.Run(tc.name, func() { - _, err := s.msgServer.DepositValidatorRewardsPool(s.ctx, tc.input) + t.Run(tc.name, func(t *testing.T) { + _, err := f.msgServer.DepositValidatorRewardsPool(f.ctx, tc.input) if tc.expErr { - s.Require().Error(err) - s.Require().Contains(err.Error(), tc.expErrMsg) + assert.ErrorContains(t, err, tc.expErrMsg) } else { - s.Require().NoError(err) + assert.NilError(t, err) valAddr, err := sdk.ValAddressFromBech32(tc.input.ValidatorAddress) - s.Require().NoError(err) + assert.NilError(t, err) // check validator outstanding rewards - outstandingRewards := s.distrKeeper.GetValidatorOutstandingRewards(s.ctx, valAddr) + outstandingRewards := f.distrKeeper.GetValidatorOutstandingRewards(f.ctx, valAddr) for _, c := range tc.input.Amount { x := outstandingRewards.Rewards.AmountOf(c.Denom) - s.Require().Equal(x, sdk.NewDecFromInt(c.Amount)) + assert.DeepEqual(t, x, sdk.NewDecFromInt(c.Amount)) } } }) diff --git a/tests/integration/distribution/module_test.go b/tests/integration/distribution/module_test.go index 4a2cd8d40c..fc0713cdaa 100644 --- a/tests/integration/distribution/module_test.go +++ b/tests/integration/distribution/module_test.go @@ -3,8 +3,8 @@ package distribution_test import ( "testing" - "github.com/stretchr/testify/require" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + "gotest.tools/v3/assert" simtestutil "github.com/cosmos/cosmos-sdk/testutil/sims" authkeeper "github.com/cosmos/cosmos-sdk/x/auth/keeper" @@ -17,9 +17,9 @@ func TestItCreatesModuleAccountOnInitBlock(t *testing.T) { var accountKeeper authkeeper.AccountKeeper app, err := simtestutil.SetupAtGenesis(testutil.AppConfig, &accountKeeper) - require.NoError(t, err) + assert.NilError(t, err) ctx := app.BaseApp.NewContext(false, tmproto.Header{}) acc := accountKeeper.GetAccount(ctx, authtypes.NewModuleAddress(types.ModuleName)) - require.NotNil(t, acc) + assert.Assert(t, acc != nil) }