diff --git a/x/mint/internal/keeper/common_test.go b/x/mint/internal/keeper/common_test.go deleted file mode 100644 index 57862d6bf..000000000 --- a/x/mint/internal/keeper/common_test.go +++ /dev/null @@ -1,95 +0,0 @@ -// nolint:deadcode unused -package keeper - -import ( - "os" - "testing" - "time" - - abci "github.com/tendermint/tendermint/abci/types" - "github.com/tendermint/tendermint/libs/log" - - "github.com/stretchr/testify/require" - - dbm "github.com/tendermint/tm-db" - - "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/store" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/x/auth" - "github.com/cosmos/cosmos-sdk/x/bank" - "github.com/cosmos/cosmos-sdk/x/mint/internal/types" - "github.com/cosmos/cosmos-sdk/x/params" - "github.com/cosmos/cosmos-sdk/x/staking" - "github.com/cosmos/cosmos-sdk/x/supply" -) - -type testInput struct { - ctx sdk.Context - cdc *codec.Codec - mintKeeper Keeper -} - -func newTestInput(t *testing.T) testInput { - db := dbm.NewMemDB() - - keyAcc := sdk.NewKVStoreKey(auth.StoreKey) - keySupply := sdk.NewKVStoreKey(supply.StoreKey) - keyStaking := sdk.NewKVStoreKey(staking.StoreKey) - tkeyStaking := sdk.NewTransientStoreKey(staking.TStoreKey) - keyParams := sdk.NewKVStoreKey(params.StoreKey) - tkeyParams := sdk.NewTransientStoreKey(params.TStoreKey) - keyMint := sdk.NewKVStoreKey(types.StoreKey) - - ms := store.NewCommitMultiStore(db) - ms.MountStoreWithDB(keyAcc, sdk.StoreTypeIAVL, db) - ms.MountStoreWithDB(tkeyStaking, sdk.StoreTypeTransient, nil) - ms.MountStoreWithDB(keyStaking, sdk.StoreTypeIAVL, db) - ms.MountStoreWithDB(keySupply, sdk.StoreTypeIAVL, db) - ms.MountStoreWithDB(keyParams, sdk.StoreTypeIAVL, db) - ms.MountStoreWithDB(keyMint, sdk.StoreTypeIAVL, db) - ms.MountStoreWithDB(tkeyParams, sdk.StoreTypeTransient, db) - err := ms.LoadLatestVersion() - require.Nil(t, err) - - ctx := sdk.NewContext(ms, abci.Header{Time: time.Unix(0, 0)}, false, log.NewTMLogger(os.Stdout)) - - feeCollectorAcc := supply.NewEmptyModuleAccount(auth.FeeCollectorName) - notBondedPool := supply.NewEmptyModuleAccount(staking.NotBondedPoolName, supply.Burner, supply.Staking) - bondPool := supply.NewEmptyModuleAccount(staking.BondedPoolName, supply.Burner, supply.Staking) - minterAcc := supply.NewEmptyModuleAccount(types.ModuleName, supply.Minter) - - blacklistedAddrs := make(map[string]bool) - blacklistedAddrs[feeCollectorAcc.GetAddress().String()] = true - blacklistedAddrs[notBondedPool.GetAddress().String()] = true - blacklistedAddrs[bondPool.GetAddress().String()] = true - blacklistedAddrs[minterAcc.GetAddress().String()] = true - - paramsKeeper := params.NewKeeper(types.ModuleCdc, keyParams, tkeyParams, params.DefaultCodespace) - accountKeeper := auth.NewAccountKeeper(types.ModuleCdc, keyAcc, paramsKeeper.Subspace(auth.DefaultParamspace), auth.ProtoBaseAccount) - bankKeeper := bank.NewBaseKeeper(accountKeeper, paramsKeeper.Subspace(bank.DefaultParamspace), bank.DefaultCodespace, blacklistedAddrs) - maccPerms := map[string][]string{ - auth.FeeCollectorName: nil, - types.ModuleName: {supply.Minter}, - staking.NotBondedPoolName: {supply.Burner, supply.Staking}, - staking.BondedPoolName: {supply.Burner, supply.Staking}, - } - supplyKeeper := supply.NewKeeper(types.ModuleCdc, keySupply, accountKeeper, bankKeeper, maccPerms) - supplyKeeper.SetSupply(ctx, supply.NewSupply(sdk.Coins{})) - - stakingKeeper := staking.NewKeeper( - types.ModuleCdc, keyStaking, tkeyStaking, supplyKeeper, paramsKeeper.Subspace(staking.DefaultParamspace), staking.DefaultCodespace, - ) - mintKeeper := NewKeeper(types.ModuleCdc, keyMint, paramsKeeper.Subspace(types.DefaultParamspace), &stakingKeeper, supplyKeeper, auth.FeeCollectorName) - - // set module accounts - supplyKeeper.SetModuleAccount(ctx, feeCollectorAcc) - supplyKeeper.SetModuleAccount(ctx, minterAcc) - supplyKeeper.SetModuleAccount(ctx, notBondedPool) - supplyKeeper.SetModuleAccount(ctx, bondPool) - - mintKeeper.SetParams(ctx, types.DefaultParams()) - mintKeeper.SetMinter(ctx, types.DefaultInitialMinter()) - - return testInput{ctx, types.ModuleCdc, mintKeeper} -} diff --git a/x/mint/internal/keeper/integration_test.go b/x/mint/internal/keeper/integration_test.go new file mode 100644 index 000000000..ba02e0444 --- /dev/null +++ b/x/mint/internal/keeper/integration_test.go @@ -0,0 +1,20 @@ +package keeper_test + +import ( + abci "github.com/tendermint/tendermint/abci/types" + + "github.com/cosmos/cosmos-sdk/simapp" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/mint/internal/types" +) + +// returns context and an app with updated mint keeper +func createTestApp(isCheckTx bool) (*simapp.SimApp, sdk.Context) { + app := simapp.Setup(isCheckTx) + + ctx := app.BaseApp.NewContext(isCheckTx, abci.Header{}) + app.MintKeeper.SetParams(ctx, types.DefaultParams()) + app.MintKeeper.SetMinter(ctx, types.DefaultInitialMinter()) + + return app, ctx +} diff --git a/x/mint/internal/keeper/querier_test.go b/x/mint/internal/keeper/querier_test.go index f6a1779ed..287afea9f 100644 --- a/x/mint/internal/keeper/querier_test.go +++ b/x/mint/internal/keeper/querier_test.go @@ -1,4 +1,4 @@ -package keeper +package keeper_test import ( "testing" @@ -6,71 +6,75 @@ import ( "github.com/stretchr/testify/require" sdk "github.com/cosmos/cosmos-sdk/types" + keep "github.com/cosmos/cosmos-sdk/x/mint/internal/keeper" "github.com/cosmos/cosmos-sdk/x/mint/internal/types" abci "github.com/tendermint/tendermint/abci/types" ) func TestNewQuerier(t *testing.T) { - input := newTestInput(t) - querier := NewQuerier(input.mintKeeper) + app, ctx := createTestApp(true) + querier := keep.NewQuerier(app.MintKeeper) query := abci.RequestQuery{ Path: "", Data: []byte{}, } - _, err := querier(input.ctx, []string{types.QueryParameters}, query) + _, err := querier(ctx, []string{types.QueryParameters}, query) require.NoError(t, err) - _, err = querier(input.ctx, []string{types.QueryInflation}, query) + _, err = querier(ctx, []string{types.QueryInflation}, query) require.NoError(t, err) - _, err = querier(input.ctx, []string{types.QueryAnnualProvisions}, query) + _, err = querier(ctx, []string{types.QueryAnnualProvisions}, query) require.NoError(t, err) - _, err = querier(input.ctx, []string{"foo"}, query) + _, err = querier(ctx, []string{"foo"}, query) require.Error(t, err) } func TestQueryParams(t *testing.T) { - input := newTestInput(t) + app, ctx := createTestApp(true) + querier := keep.NewQuerier(app.MintKeeper) var params types.Params - res, sdkErr := queryParams(input.ctx, input.mintKeeper) + res, sdkErr := querier(ctx, []string{types.QueryParameters}, abci.RequestQuery{}) require.NoError(t, sdkErr) - err := input.cdc.UnmarshalJSON(res, ¶ms) + err := app.Codec().UnmarshalJSON(res, ¶ms) require.NoError(t, err) - require.Equal(t, input.mintKeeper.GetParams(input.ctx), params) + require.Equal(t, app.MintKeeper.GetParams(ctx), params) } func TestQueryInflation(t *testing.T) { - input := newTestInput(t) + app, ctx := createTestApp(true) + querier := keep.NewQuerier(app.MintKeeper) var inflation sdk.Dec - res, sdkErr := queryInflation(input.ctx, input.mintKeeper) + res, sdkErr := querier(ctx, []string{types.QueryInflation}, abci.RequestQuery{}) require.NoError(t, sdkErr) - err := input.cdc.UnmarshalJSON(res, &inflation) + err := app.Codec().UnmarshalJSON(res, &inflation) require.NoError(t, err) - require.Equal(t, input.mintKeeper.GetMinter(input.ctx).Inflation, inflation) + require.Equal(t, app.MintKeeper.GetMinter(ctx).Inflation, inflation) } func TestQueryAnnualProvisions(t *testing.T) { - input := newTestInput(t) + app, ctx := createTestApp(true) + querier := keep.NewQuerier(app.MintKeeper) var annualProvisions sdk.Dec - res, sdkErr := queryAnnualProvisions(input.ctx, input.mintKeeper) + res, sdkErr := querier(ctx, []string{types.QueryAnnualProvisions}, abci.RequestQuery{}) require.NoError(t, sdkErr) - err := input.cdc.UnmarshalJSON(res, &annualProvisions) + err := app.Codec().UnmarshalJSON(res, &annualProvisions) require.NoError(t, err) - require.Equal(t, input.mintKeeper.GetMinter(input.ctx).AnnualProvisions, annualProvisions) + require.Equal(t, app.MintKeeper.GetMinter(ctx).AnnualProvisions, annualProvisions) }