TestMsgBeginUnbonding
This commit is contained in:
parent
53138fb36f
commit
88364c838e
|
@ -191,8 +191,32 @@ func SimulateMsgDelegate(m auth.AccountMapper, k stake.Keeper) mock.TestAndRunMs
|
||||||
// SimulateMsgBeginUnbonding
|
// SimulateMsgBeginUnbonding
|
||||||
func SimulateMsgBeginUnbonding(m auth.AccountMapper, k stake.Keeper) mock.TestAndRunMsg {
|
func SimulateMsgBeginUnbonding(m auth.AccountMapper, k stake.Keeper) mock.TestAndRunMsg {
|
||||||
return func(t *testing.T, r *rand.Rand, ctx sdk.Context, keys []crypto.PrivKey, log string) (action string, err sdk.Error) {
|
return func(t *testing.T, r *rand.Rand, ctx sdk.Context, keys []crypto.PrivKey, log string) (action string, err sdk.Error) {
|
||||||
msg := fmt.Sprintf("TestMsgBeginUnbonding with %s", "ok")
|
denom := k.GetParams(ctx).BondDenom
|
||||||
return msg, nil
|
validatorKey := keys[r.Intn(len(keys))]
|
||||||
|
validatorAddress := sdk.AccAddress(validatorKey.PubKey().Address())
|
||||||
|
delegatorKey := keys[r.Intn(len(keys))]
|
||||||
|
delegatorAddress := sdk.AccAddress(delegatorKey.PubKey().Address())
|
||||||
|
amount := m.GetAccount(ctx, delegatorAddress).GetCoins().AmountOf(denom)
|
||||||
|
if amount.GT(sdk.ZeroInt()) {
|
||||||
|
amount = sdk.NewInt(int64(r.Intn(int(amount.Int64()))))
|
||||||
|
}
|
||||||
|
if amount.Equal(sdk.ZeroInt()) {
|
||||||
|
return "nop", nil
|
||||||
|
}
|
||||||
|
msg := stake.MsgBeginUnbonding{
|
||||||
|
DelegatorAddr: delegatorAddress,
|
||||||
|
ValidatorAddr: validatorAddress,
|
||||||
|
SharesAmount: sdk.NewRatFromInt(amount),
|
||||||
|
}
|
||||||
|
require.Nil(t, msg.ValidateBasic(), "expected msg to pass ValidateBasic: %s", msg.GetSignBytes())
|
||||||
|
ctx, write := ctx.CacheContext()
|
||||||
|
result := stake.NewHandler(k)(ctx, msg)
|
||||||
|
if result.IsOK() {
|
||||||
|
write()
|
||||||
|
}
|
||||||
|
stats[fmt.Sprintf("stake/beginunbonding/%v", result.IsOK())] += 1
|
||||||
|
action = fmt.Sprintf("TestMsgBeginUnbonding: %s", msg.GetSignBytes())
|
||||||
|
return action, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue