Skip to content
7 changes: 4 additions & 3 deletions x/provider/handler/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@ package handler
import (
"context"

errorsmod "cosmossdk.io/errors"
sdkerrors "cosmossdk.io/errors"
"google.golang.org/grpc/codes"

sdk "github.com/cosmos/cosmos-sdk/types"
types "pkg.akt.dev/go/node/provider/v1beta4"
Expand All @@ -14,7 +15,7 @@ import (

var (
// ErrInternal defines registered error code for internal error
ErrInternal = errorsmod.Register(types.ModuleName, 10, "internal error")
ErrInternal = sdkerrors.RegisterWithGRPCCode(types.ModuleName, 10, codes.Internal, "internal error")
)

type msgServer struct {
Expand Down Expand Up @@ -65,7 +66,7 @@ func (ms msgServer) UpdateProvider(goCtx context.Context, msg *types.MsgUpdatePr
}

if err := ms.provider.Update(ctx, types.Provider(*msg)); err != nil {
return nil, errorsmod.Wrapf(ErrInternal, "err: %v", err)
return nil, sdkerrors.Wrapf(ErrInternal, "err: %v", err)
}

return &types.MsgUpdateProviderResponse{}, nil
Expand Down
34 changes: 34 additions & 0 deletions x/provider/handler/server_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package handler_test

import (
"testing"

"github.com/stretchr/testify/require"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"

"pkg.akt.dev/node/x/provider/handler"
)

func TestErrorGRPCStatusCodes(t *testing.T) {
tests := []struct {
name string
err error
expectedCode codes.Code
}{
{
name: "internal_returns_internal",
err: handler.ErrInternal,
expectedCode: codes.Internal,
},
}

for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
st, ok := status.FromError(tt.err)
require.True(t, ok, "error should be convertible to gRPC status")
require.Equal(t, tt.expectedCode, st.Code(), "gRPC status code mismatch")
})
}
}
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Outdated

Loading