cosmos-sdk/x/params/subspace/table_test.go
Alexander Bezobchuk c1991e31bd Merge PR #5527: Bump Tendermint Version to v0.33.0
* Bump Tendermint version to v0.33.0

* Deprecate old cmn package with new packages

* Update update DB APIs

* More DB updates

* Bump IAVL to v0.13.0

* Handle error returned by iavl.NewMutableTree

* Fix some IAVL stuffs

* Update IAVL

* More updates

* Passing tests

* Fix unit tests

Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
2020-01-16 13:46:51 -08:00

47 lines
1.6 KiB
Go

package subspace_test
import (
"testing"
"time"
"github.com/stretchr/testify/require"
"github.com/cosmos/cosmos-sdk/x/params/subspace"
)
func TestKeyTable(t *testing.T) {
table := subspace.NewKeyTable()
require.Panics(t, func() { table.RegisterType(subspace.ParamSetPair{[]byte(""), nil, nil}) })
require.Panics(t, func() { table.RegisterType(subspace.ParamSetPair{[]byte("!@#$%"), nil, nil}) })
require.Panics(t, func() { table.RegisterType(subspace.ParamSetPair{[]byte("hello,"), nil, nil}) })
require.Panics(t, func() { table.RegisterType(subspace.ParamSetPair{[]byte("hello"), nil, nil}) })
require.NotPanics(t, func() {
table.RegisterType(subspace.ParamSetPair{keyBondDenom, string("stake"), validateBondDenom})
})
require.NotPanics(t, func() {
table.RegisterType(subspace.ParamSetPair{keyMaxValidators, uint16(100), validateMaxValidators})
})
require.Panics(t, func() {
table.RegisterType(subspace.ParamSetPair{keyUnbondingTime, time.Duration(1), nil})
})
require.NotPanics(t, func() {
table.RegisterType(subspace.ParamSetPair{keyUnbondingTime, time.Duration(1), validateMaxValidators})
})
require.NotPanics(t, func() {
newTable := subspace.NewKeyTable()
newTable.RegisterParamSet(&params{})
})
require.Panics(t, func() { table.RegisterParamSet(&params{}) })
require.Panics(t, func() { subspace.NewKeyTable(subspace.ParamSetPair{[]byte(""), nil, nil}) })
require.NotPanics(t, func() {
subspace.NewKeyTable(
subspace.ParamSetPair{[]byte("test"), string("stake"), validateBondDenom},
subspace.ParamSetPair{[]byte("test2"), uint16(100), validateMaxValidators},
)
})
}