56 lines
1.3 KiB
Go
56 lines
1.3 KiB
Go
package middleware_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/cosmos/cosmos-sdk/simapp"
|
|
"github.com/cosmos/cosmos-sdk/testutil/testdata"
|
|
"github.com/cosmos/cosmos-sdk/x/auth/middleware"
|
|
)
|
|
|
|
func TestRegisterMsgService(t *testing.T) {
|
|
// Create an encoding config that doesn't register testdata Msg services.
|
|
encCfg := simapp.MakeTestEncodingConfig()
|
|
msr := middleware.NewMsgServiceRouter(encCfg.InterfaceRegistry)
|
|
require.Panics(t, func() {
|
|
testdata.RegisterMsgServer(
|
|
msr,
|
|
testdata.MsgServerImpl{},
|
|
)
|
|
})
|
|
|
|
// Register testdata Msg services, and rerun `RegisterService`.
|
|
testdata.RegisterInterfaces(encCfg.InterfaceRegistry)
|
|
require.NotPanics(t, func() {
|
|
testdata.RegisterMsgServer(
|
|
msr,
|
|
testdata.MsgServerImpl{},
|
|
)
|
|
})
|
|
}
|
|
|
|
func TestRegisterMsgServiceTwice(t *testing.T) {
|
|
// Setup baseapp.
|
|
encCfg := simapp.MakeTestEncodingConfig()
|
|
msr := middleware.NewMsgServiceRouter(encCfg.InterfaceRegistry)
|
|
testdata.RegisterInterfaces(encCfg.InterfaceRegistry)
|
|
|
|
// First time registering service shouldn't panic.
|
|
require.NotPanics(t, func() {
|
|
testdata.RegisterMsgServer(
|
|
msr,
|
|
testdata.MsgServerImpl{},
|
|
)
|
|
})
|
|
|
|
// Second time should panic.
|
|
require.Panics(t, func() {
|
|
testdata.RegisterMsgServer(
|
|
msr,
|
|
testdata.MsgServerImpl{},
|
|
)
|
|
})
|
|
}
|