cosmos-sdk/x/accounts/internal/implementation/api_builder_test.go
testinginprod 780cad872b
feat(accounts): add Account interface and Implementation (#17495)
Co-authored-by: unknown unknown <unknown@unknown>
2023-08-22 18:17:34 +00:00

36 lines
1.0 KiB
Go

package implementation
import (
"context"
"testing"
"github.com/stretchr/testify/require"
"google.golang.org/protobuf/types/known/wrapperspb"
)
func TestRouterDoubleRegistration(t *testing.T) {
router := NewExecuteBuilder()
RegisterExecuteHandler(router, func(_ context.Context, req *wrapperspb.StringValue) (*wrapperspb.StringValue, error) { return nil, nil })
RegisterExecuteHandler(router, func(_ context.Context, req *wrapperspb.StringValue) (*wrapperspb.StringValue, error) { return nil, nil })
_, err := router.makeHandler()
require.ErrorContains(t, err, "already registered")
}
func TestEmptyQueryExecuteHandler(t *testing.T) {
qr := NewQueryBuilder()
er := NewExecuteBuilder()
qh, err := qr.makeHandler()
require.NoError(t, err)
eh, err := er.makeHandler()
require.NoError(t, err)
ctx := context.Background()
_, err = qh(ctx, &wrapperspb.StringValue{})
require.ErrorIs(t, err, errNoExecuteHandler)
_, err = eh(ctx, &wrapperspb.StringValue{})
require.ErrorIs(t, err, errNoExecuteHandler)
}