github.com/cosmos/cosmos-sdk@v0.50.10/x/slashing/simulation/proposals_test.go (about) 1 package simulation_test 2 3 import ( 4 "math/rand" 5 "testing" 6 "time" 7 8 cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" 9 "gotest.tools/v3/assert" 10 11 sdkmath "cosmossdk.io/math" 12 13 sdk "github.com/cosmos/cosmos-sdk/types" 14 "github.com/cosmos/cosmos-sdk/types/address" 15 simtypes "github.com/cosmos/cosmos-sdk/types/simulation" 16 "github.com/cosmos/cosmos-sdk/x/slashing/simulation" 17 "github.com/cosmos/cosmos-sdk/x/slashing/types" 18 ) 19 20 func TestProposalMsgs(t *testing.T) { 21 // initialize parameters 22 s := rand.NewSource(1) 23 r := rand.New(s) 24 25 ctx := sdk.NewContext(nil, cmtproto.Header{}, true, nil) 26 accounts := simtypes.RandomAccounts(r, 3) 27 28 // execute ProposalMsgs function 29 weightedProposalMsgs := simulation.ProposalMsgs() 30 assert.Assert(t, len(weightedProposalMsgs) == 1) 31 32 w0 := weightedProposalMsgs[0] 33 34 // tests w0 interface: 35 assert.Equal(t, simulation.OpWeightMsgUpdateParams, w0.AppParamsKey()) 36 assert.Equal(t, simulation.DefaultWeightMsgUpdateParams, w0.DefaultWeight()) 37 38 msg := w0.MsgSimulatorFn()(r, ctx, accounts) 39 msgUpdateParams, ok := msg.(*types.MsgUpdateParams) 40 assert.Assert(t, ok) 41 42 assert.Equal(t, sdk.AccAddress(address.Module("gov")).String(), msgUpdateParams.Authority) 43 assert.Equal(t, int64(905), msgUpdateParams.Params.SignedBlocksWindow) 44 assert.DeepEqual(t, sdkmath.LegacyNewDecWithPrec(7, 2), msgUpdateParams.Params.MinSignedPerWindow) 45 assert.DeepEqual(t, sdkmath.LegacyNewDecWithPrec(60, 2), msgUpdateParams.Params.SlashFractionDoubleSign) 46 assert.DeepEqual(t, sdkmath.LegacyNewDecWithPrec(89, 2), msgUpdateParams.Params.SlashFractionDowntime) 47 assert.Equal(t, 3313479009*time.Second, msgUpdateParams.Params.DowntimeJailDuration) 48 }