github.com/cosmos/cosmos-sdk@v0.50.10/x/crisis/keeper/keeper_test.go (about) 1 package keeper_test 2 3 import ( 4 "testing" 5 6 "github.com/golang/mock/gomock" 7 "github.com/stretchr/testify/require" 8 9 storetypes "cosmossdk.io/store/types" 10 11 addresscodec "github.com/cosmos/cosmos-sdk/codec/address" 12 "github.com/cosmos/cosmos-sdk/runtime" 13 "github.com/cosmos/cosmos-sdk/testutil" 14 sdk "github.com/cosmos/cosmos-sdk/types" 15 moduletestutil "github.com/cosmos/cosmos-sdk/types/module/testutil" 16 "github.com/cosmos/cosmos-sdk/x/crisis" 17 "github.com/cosmos/cosmos-sdk/x/crisis/keeper" 18 crisistestutil "github.com/cosmos/cosmos-sdk/x/crisis/testutil" 19 "github.com/cosmos/cosmos-sdk/x/crisis/types" 20 ) 21 22 func TestLogger(t *testing.T) { 23 ctrl := gomock.NewController(t) 24 supplyKeeper := crisistestutil.NewMockSupplyKeeper(ctrl) 25 26 key := storetypes.NewKVStoreKey(types.StoreKey) 27 storeService := runtime.NewKVStoreService(key) 28 testCtx := testutil.DefaultContextWithDB(t, key, storetypes.NewTransientStoreKey("transient_test")) 29 encCfg := moduletestutil.MakeTestEncodingConfig(crisis.AppModuleBasic{}) 30 keeper := keeper.NewKeeper(encCfg.Codec, storeService, 5, supplyKeeper, "", "", addresscodec.NewBech32Codec("cosmos")) 31 32 require.Equal(t, 33 testCtx.Ctx.Logger().With("module", "x/"+types.ModuleName), 34 keeper.Logger(testCtx.Ctx)) 35 } 36 37 func TestInvariants(t *testing.T) { 38 ctrl := gomock.NewController(t) 39 supplyKeeper := crisistestutil.NewMockSupplyKeeper(ctrl) 40 41 key := storetypes.NewKVStoreKey(types.StoreKey) 42 storeService := runtime.NewKVStoreService(key) 43 encCfg := moduletestutil.MakeTestEncodingConfig(crisis.AppModuleBasic{}) 44 keeper := keeper.NewKeeper(encCfg.Codec, storeService, 5, supplyKeeper, "", "", addresscodec.NewBech32Codec("cosmos")) 45 require.Equal(t, keeper.InvCheckPeriod(), uint(5)) 46 47 orgInvRoutes := keeper.Routes() 48 keeper.RegisterRoute("testModule", "testRoute", func(sdk.Context) (string, bool) { return "", false }) 49 invar := keeper.Invariants() 50 require.Equal(t, len(invar), len(orgInvRoutes)+1) 51 } 52 53 func TestAssertInvariants(t *testing.T) { 54 ctrl := gomock.NewController(t) 55 supplyKeeper := crisistestutil.NewMockSupplyKeeper(ctrl) 56 57 key := storetypes.NewKVStoreKey(types.StoreKey) 58 storeService := runtime.NewKVStoreService(key) 59 testCtx := testutil.DefaultContextWithDB(t, key, storetypes.NewTransientStoreKey("transient_test")) 60 encCfg := moduletestutil.MakeTestEncodingConfig(crisis.AppModuleBasic{}) 61 keeper := keeper.NewKeeper(encCfg.Codec, storeService, 5, supplyKeeper, "", "", addresscodec.NewBech32Codec("cosmos")) 62 63 keeper.RegisterRoute("testModule", "testRoute1", func(sdk.Context) (string, bool) { return "", false }) 64 require.NotPanics(t, func() { keeper.AssertInvariants(testCtx.Ctx) }) 65 66 keeper.RegisterRoute("testModule", "testRoute2", func(sdk.Context) (string, bool) { return "", true }) 67 require.Panics(t, func() { keeper.AssertInvariants(testCtx.Ctx) }) 68 }