refactor TestTransitiveRedelegation and TestMultipleRedelegationAtSameTime

This commit is contained in:
Jonathan Gimeno 2020-02-26 15:35:29 +01:00
parent c58ec7f7b7
commit 4e16a0861c
1 changed files with 110 additions and 110 deletions

View File

@ -983,116 +983,116 @@ func TestRedelegationPeriod(t *testing.T) {
require.False(t, found, "should have unbonded") require.False(t, found, "should have unbonded")
} }
//func TestTransitiveRedelegation(t *testing.T) { func TestTransitiveRedelegation(t *testing.T) {
// ctx, _, _, keeper, _ := CreateTestInput(t, false, 1000) app, ctx, _, valAddrs := bootstrapHandlerGenesisTest(t, 1000, 3, 1000000000)
// handler := NewHandler(keeper) handler := staking.NewHandler(app.StakingKeeper)
//
// validatorAddr := sdk.ValAddress(Addrs[0]) validatorAddr := valAddrs[0]
// validatorAddr2 := sdk.ValAddress(Addrs[1]) validatorAddr2 := valAddrs[1]
// validatorAddr3 := sdk.ValAddress(Addrs[2]) validatorAddr3 := valAddrs[2]
//
// blockTime := time.Now().UTC() blockTime := time.Now().UTC()
// ctx = ctx.WithBlockTime(blockTime) ctx = ctx.WithBlockTime(blockTime)
//
// // create the validators // create the validators
// msgCreateValidator := NewTestMsgCreateValidator(validatorAddr, PKs[0], sdk.NewInt(10)) msgCreateValidator := NewTestMsgCreateValidator(validatorAddr, PKs[0], sdk.NewInt(10))
// res, err := handler(ctx, msgCreateValidator) res, err := handler(ctx, msgCreateValidator)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// msgCreateValidator = NewTestMsgCreateValidator(validatorAddr2, PKs[1], sdk.NewInt(10)) msgCreateValidator = NewTestMsgCreateValidator(validatorAddr2, PKs[1], sdk.NewInt(10))
// res, err = handler(ctx, msgCreateValidator) res, err = handler(ctx, msgCreateValidator)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// msgCreateValidator = NewTestMsgCreateValidator(validatorAddr3, PKs[2], sdk.NewInt(10)) msgCreateValidator = NewTestMsgCreateValidator(validatorAddr3, PKs[2], sdk.NewInt(10))
// res, err = handler(ctx, msgCreateValidator) res, err = handler(ctx, msgCreateValidator)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// // begin redelegate // begin redelegate
// redAmt := sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(10)) redAmt := sdk.NewCoin(sdk.DefaultBondDenom, sdk.NewInt(10))
// msgBeginRedelegate := NewMsgBeginRedelegate(sdk.AccAddress(validatorAddr), validatorAddr, validatorAddr2, redAmt) msgBeginRedelegate := types.NewMsgBeginRedelegate(sdk.AccAddress(validatorAddr), validatorAddr, validatorAddr2, redAmt)
// res, err = handler(ctx, msgBeginRedelegate) res, err = handler(ctx, msgBeginRedelegate)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// // cannot redelegation to next validator while first delegation exists // cannot redelegation to next validator while first delegation exists
// msgBeginRedelegate = NewMsgBeginRedelegate(sdk.AccAddress(validatorAddr), validatorAddr2, validatorAddr3, redAmt) msgBeginRedelegate = types.NewMsgBeginRedelegate(sdk.AccAddress(validatorAddr), validatorAddr2, validatorAddr3, redAmt)
// res, err = handler(ctx, msgBeginRedelegate) res, err = handler(ctx, msgBeginRedelegate)
// require.Error(t, err) require.Error(t, err)
// require.Nil(t, res) require.Nil(t, res)
//
// params := keeper.GetParams(ctx) params := app.StakingKeeper.GetParams(ctx)
// ctx = ctx.WithBlockTime(blockTime.Add(params.UnbondingTime)) ctx = ctx.WithBlockTime(blockTime.Add(params.UnbondingTime))
//
// // complete first redelegation // complete first redelegation
// EndBlocker(ctx, keeper) staking.EndBlocker(ctx, app.StakingKeeper)
//
// // now should be able to redelegate from the second validator to the third // now should be able to redelegate from the second validator to the third
// res, err = handler(ctx, msgBeginRedelegate) res, err = handler(ctx, msgBeginRedelegate)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//} }
//
//func TestMultipleRedelegationAtSameTime(t *testing.T) { func TestMultipleRedelegationAtSameTime(t *testing.T) {
// ctx, _, _, keeper, _ := CreateTestInput(t, false, 1000) app, ctx, _, valAddrs := bootstrapHandlerGenesisTest(t, 1000, 2, 1000000000)
// handler := NewHandler(keeper) handler := staking.NewHandler(app.StakingKeeper)
//
// valAddr := sdk.ValAddress(Addrs[0]) valAddr := valAddrs[0]
// valAddr2 := sdk.ValAddress(Addrs[1]) valAddr2 := valAddrs[1]
//
// // set the unbonding time // set the unbonding time
// params := keeper.GetParams(ctx) params := app.StakingKeeper.GetParams(ctx)
// params.UnbondingTime = 1 * time.Second params.UnbondingTime = 1 * time.Second
// keeper.SetParams(ctx, params) app.StakingKeeper.SetParams(ctx, params)
//
// // create the validators // create the validators
// valTokens := sdk.TokensFromConsensusPower(10) valTokens := sdk.TokensFromConsensusPower(10)
// msgCreateValidator := NewTestMsgCreateValidator(valAddr, PKs[0], valTokens) msgCreateValidator := NewTestMsgCreateValidator(valAddr, PKs[0], valTokens)
// res, err := handler(ctx, msgCreateValidator) res, err := handler(ctx, msgCreateValidator)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// msgCreateValidator = NewTestMsgCreateValidator(valAddr2, PKs[1], valTokens) msgCreateValidator = NewTestMsgCreateValidator(valAddr2, PKs[1], valTokens)
// res, err = handler(ctx, msgCreateValidator) res, err = handler(ctx, msgCreateValidator)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// // end block to bond them // end block to bond them
// EndBlocker(ctx, keeper) staking.EndBlocker(ctx, app.StakingKeeper)
//
// // begin a redelegate // begin a redelegate
// selfDelAddr := sdk.AccAddress(valAddr) // (the validator is it's own delegator) selfDelAddr := sdk.AccAddress(valAddr) // (the validator is it's own delegator)
// redAmt := sdk.NewCoin(sdk.DefaultBondDenom, valTokens.QuoRaw(2)) redAmt := sdk.NewCoin(sdk.DefaultBondDenom, valTokens.QuoRaw(2))
// msgBeginRedelegate := NewMsgBeginRedelegate(selfDelAddr, valAddr, valAddr2, redAmt) msgBeginRedelegate := types.NewMsgBeginRedelegate(selfDelAddr, valAddr, valAddr2, redAmt)
// res, err = handler(ctx, msgBeginRedelegate) res, err = handler(ctx, msgBeginRedelegate)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// // there should only be one entry in the redelegation object // there should only be one entry in the redelegation object
// rd, found := keeper.GetRedelegation(ctx, selfDelAddr, valAddr, valAddr2) rd, found := app.StakingKeeper.GetRedelegation(ctx, selfDelAddr, valAddr, valAddr2)
// require.True(t, found) require.True(t, found)
// require.Len(t, rd.Entries, 1) require.Len(t, rd.Entries, 1)
//
// // start a second redelegation at this same time as the first // start a second redelegation at this same time as the first
// res, err = handler(ctx, msgBeginRedelegate) res, err = handler(ctx, msgBeginRedelegate)
// require.NoError(t, err) require.NoError(t, err)
// require.NotNil(t, res) require.NotNil(t, res)
//
// // now there should be two entries // now there should be two entries
// rd, found = keeper.GetRedelegation(ctx, selfDelAddr, valAddr, valAddr2) rd, found = app.StakingKeeper.GetRedelegation(ctx, selfDelAddr, valAddr, valAddr2)
// require.True(t, found) require.True(t, found)
// require.Len(t, rd.Entries, 2) require.Len(t, rd.Entries, 2)
//
// // move forward in time, should complete both redelegations // move forward in time, should complete both redelegations
// ctx = ctx.WithBlockTime(ctx.BlockHeader().Time.Add(1 * time.Second)) ctx = ctx.WithBlockTime(ctx.BlockHeader().Time.Add(1 * time.Second))
// EndBlocker(ctx, keeper) staking.EndBlocker(ctx, app.StakingKeeper)
//
// rd, found = keeper.GetRedelegation(ctx, selfDelAddr, valAddr, valAddr2) rd, found = app.StakingKeeper.GetRedelegation(ctx, selfDelAddr, valAddr, valAddr2)
// require.False(t, found) require.False(t, found)
//} }
//
//func TestMultipleRedelegationAtUniqueTimes(t *testing.T) { //func TestMultipleRedelegationAtUniqueTimes(t *testing.T) {
// ctx, _, _, keeper, _ := CreateTestInput(t, false, 1000) // ctx, _, _, keeper, _ := CreateTestInput(t, false, 1000)
// handler := NewHandler(keeper) // handler := NewHandler(keeper)