From 541409897384bb168477fdcfc388c73667a1a709 Mon Sep 17 00:00:00 2001 From: Vladimir Popov Date: Fri, 18 Jun 2021 12:25:57 +0700 Subject: [PATCH] Use grpcutils.UnwrapCode in setid Signed-off-by: Vladimir Popov --- pkg/registry/common/setid/client.go | 8 ++------ pkg/registry/common/setid/client_test.go | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pkg/registry/common/setid/client.go b/pkg/registry/common/setid/client.go index 31c824303..ab15b5855 100644 --- a/pkg/registry/common/setid/client.go +++ b/pkg/registry/common/setid/client.go @@ -30,6 +30,7 @@ import ( "github.com/networkservicemesh/api/pkg/api/registry" "github.com/networkservicemesh/sdk/pkg/registry/core/next" + "github.com/networkservicemesh/sdk/pkg/tools/grpcutils" ) type setIDClient struct { @@ -52,7 +53,7 @@ func (c *setIDClient) Register(ctx context.Context, nse *registry.NetworkService } nameSuffix = "-" + nameSuffix - for err = status.Error(codes.AlreadyExists, ""); err != nil && isAlreadyExistsError(err); { + for err = status.Error(codes.AlreadyExists, ""); grpcutils.UnwrapCode(err) == codes.AlreadyExists; { name := uuid.New().String() + nameSuffix nse.Name = name @@ -64,11 +65,6 @@ func (c *setIDClient) Register(ctx context.Context, nse *registry.NetworkService return reg, err } -func isAlreadyExistsError(e error) bool { - grpcStatus, ok := status.FromError(e) - return ok && grpcStatus.Code() == codes.AlreadyExists -} - func (c *setIDClient) Find(ctx context.Context, query *registry.NetworkServiceEndpointQuery, opts ...grpc.CallOption) (registry.NetworkServiceEndpointRegistry_FindClient, error) { return next.NetworkServiceEndpointRegistryClient(ctx).Find(ctx, query, opts...) } diff --git a/pkg/registry/common/setid/client_test.go b/pkg/registry/common/setid/client_test.go index 1dff87206..d95295fd8 100644 --- a/pkg/registry/common/setid/client_test.go +++ b/pkg/registry/common/setid/client_test.go @@ -92,7 +92,7 @@ func TestSetIDClient_Duplicate(t *testing.T) { setid.NewNetworkServiceEndpointRegistryClient(), &errorClient{ expected: 3, - err: status.Error(codes.AlreadyExists, ""), + err: errors.Wrap(status.Error(codes.AlreadyExists, ""), "Error"), }, )