2018-05-28 14:39:57 -07:00
|
|
|
package slashing
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
2018-08-12 00:33:48 -07:00
|
|
|
"time"
|
2018-05-28 14:39:57 -07:00
|
|
|
|
|
|
|
"github.com/stretchr/testify/require"
|
2018-07-06 00:06:53 -07:00
|
|
|
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
2018-05-28 14:39:57 -07:00
|
|
|
)
|
|
|
|
|
|
|
|
func TestGetSetValidatorSigningInfo(t *testing.T) {
|
2018-09-10 04:59:05 -07:00
|
|
|
ctx, _, _, _, keeper := createTestInput(t, DefaultParams())
|
2018-08-31 17:01:23 -07:00
|
|
|
info, found := keeper.getValidatorSigningInfo(ctx, sdk.ConsAddress(addrs[0]))
|
2018-05-28 14:39:57 -07:00
|
|
|
require.False(t, found)
|
2018-05-31 18:02:10 -07:00
|
|
|
newInfo := ValidatorSigningInfo{
|
2018-05-28 14:39:57 -07:00
|
|
|
StartHeight: int64(4),
|
|
|
|
IndexOffset: int64(3),
|
2018-08-12 00:33:48 -07:00
|
|
|
JailedUntil: time.Unix(2, 0),
|
2018-10-11 15:04:44 -07:00
|
|
|
MissedBlocksCounter: int64(10),
|
2018-05-28 14:39:57 -07:00
|
|
|
}
|
2018-11-26 04:21:23 -08:00
|
|
|
keeper.SetValidatorSigningInfo(ctx, sdk.ConsAddress(addrs[0]), newInfo)
|
2018-08-31 17:01:23 -07:00
|
|
|
info, found = keeper.getValidatorSigningInfo(ctx, sdk.ConsAddress(addrs[0]))
|
2018-05-28 14:39:57 -07:00
|
|
|
require.True(t, found)
|
|
|
|
require.Equal(t, info.StartHeight, int64(4))
|
|
|
|
require.Equal(t, info.IndexOffset, int64(3))
|
2018-08-12 00:33:48 -07:00
|
|
|
require.Equal(t, info.JailedUntil, time.Unix(2, 0).UTC())
|
2018-10-11 15:04:44 -07:00
|
|
|
require.Equal(t, info.MissedBlocksCounter, int64(10))
|
2018-05-28 14:39:57 -07:00
|
|
|
}
|
|
|
|
|
2018-10-15 12:20:37 -07:00
|
|
|
func TestGetSetValidatorMissedBlockBitArray(t *testing.T) {
|
2018-09-10 04:59:05 -07:00
|
|
|
ctx, _, _, _, keeper := createTestInput(t, DefaultParams())
|
2018-10-15 12:11:32 -07:00
|
|
|
missed := keeper.getValidatorMissedBlockBitArray(ctx, sdk.ConsAddress(addrs[0]), 0)
|
2018-10-11 15:04:44 -07:00
|
|
|
require.False(t, missed) // treat empty key as not missed
|
2018-10-15 12:11:32 -07:00
|
|
|
keeper.setValidatorMissedBlockBitArray(ctx, sdk.ConsAddress(addrs[0]), 0, true)
|
|
|
|
missed = keeper.getValidatorMissedBlockBitArray(ctx, sdk.ConsAddress(addrs[0]), 0)
|
2018-10-11 15:04:44 -07:00
|
|
|
require.True(t, missed) // now should be missed
|
2018-05-28 14:39:57 -07:00
|
|
|
}
|