54 lines
1.2 KiB
Go
54 lines
1.2 KiB
Go
package runtime
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/mock"
|
|
|
|
appmodulev2 "cosmossdk.io/core/appmodule/v2"
|
|
"cosmossdk.io/core/transaction"
|
|
"cosmossdk.io/server/v2/stf"
|
|
)
|
|
|
|
// MockModule implements both HasMsgHandlers and HasQueryHandlers
|
|
type MockModule struct {
|
|
mock.Mock
|
|
appmodulev2.AppModule
|
|
}
|
|
|
|
func (m *MockModule) RegisterMsgHandlers(router appmodulev2.MsgRouter) {
|
|
m.Called(router)
|
|
}
|
|
|
|
func (m *MockModule) RegisterQueryHandlers(router appmodulev2.QueryRouter) {
|
|
m.Called(router)
|
|
}
|
|
|
|
func TestRegisterServices(t *testing.T) {
|
|
mockModule := new(MockModule)
|
|
|
|
app := &App[transaction.Tx]{
|
|
msgRouterBuilder: stf.NewMsgRouterBuilder(),
|
|
queryRouterBuilder: stf.NewMsgRouterBuilder(),
|
|
}
|
|
|
|
mm := &MM[transaction.Tx]{
|
|
modules: map[string]appmodulev2.AppModule{
|
|
"mock": mockModule,
|
|
},
|
|
}
|
|
|
|
msgWrapper := newStfRouterWrapper(app.msgRouterBuilder)
|
|
queryWrapper := newStfRouterWrapper(app.queryRouterBuilder)
|
|
|
|
mockModule.On("RegisterMsgHandlers", &msgWrapper).Once()
|
|
mockModule.On("RegisterQueryHandlers", &queryWrapper).Once()
|
|
|
|
err := mm.RegisterServices(app)
|
|
|
|
assert.NoError(t, err)
|
|
|
|
mockModule.AssertExpectations(t)
|
|
}
|