Skip to content

Commit

Permalink
Merge pull request #116 from DIMO-Network/ex-3408-telemetry-internal-…
Browse files Browse the repository at this point in the history
…error-on-not-found-vc

check for grpc not found erros
  • Loading branch information
KevinJoiner authored Feb 24, 2025
2 parents ac4027a + 7dd4dd6 commit 62bf111
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
11 changes: 6 additions & 5 deletions internal/repositories/vc/vc.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package vc

import (
"context"
"database/sql"
"encoding/json"
"errors"
"time"
Expand All @@ -13,6 +12,8 @@ import (
"github.com/DIMO-Network/telemetry-api/internal/graph/model"
"github.com/ethereum/go-ethereum/common"
"github.com/rs/zerolog"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"google.golang.org/protobuf/types/known/wrapperspb"
)

Expand Down Expand Up @@ -56,8 +57,8 @@ func (r *Repository) GetLatestVINVC(ctx context.Context, vehicleTokenID uint32)
}
dataObj, err := r.indexService.GetLatestCloudEvent(ctx, opts)
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
return nil, nil
if status.Code(err) == codes.NotFound {
return nil, nil //nolint // we nil is a valid response
}
r.logger.Error().Err(err).Msg("failed to get latest VIN VC data")
return nil, errors.New("internal error")
Expand Down Expand Up @@ -134,8 +135,8 @@ func (r *Repository) GetLatestPOMVC(ctx context.Context, vehicleTokenID uint32)
}
dataObj, err := r.indexService.GetLatestCloudEvent(ctx, opts)
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
return nil, nil
if status.Code(err) == codes.NotFound {
return nil, nil //nolint // we nil is a valid response
}
r.logger.Error().Err(err).Msg("failed to get latest POM VC data")
return nil, errors.New("internal error")
Expand Down
5 changes: 3 additions & 2 deletions internal/repositories/vc/vc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package vc_test

import (
"context"
"database/sql"
"encoding/json"
"errors"
"testing"
Expand All @@ -17,6 +16,8 @@ import (
"github.com/rs/zerolog"
"github.com/stretchr/testify/require"
"go.uber.org/mock/gomock"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)

// MockRow implements sql.Row and returns a string when scanned.
Expand Down Expand Up @@ -111,7 +112,7 @@ func TestGetLatestVC(t *testing.T) {
{
name: "No data found",
mockSetup: func() {
mockService.EXPECT().GetLatestCloudEvent(gomock.Any(), gomock.Any()).Return(emptyEvent, sql.ErrNoRows)
mockService.EXPECT().GetLatestCloudEvent(gomock.Any(), gomock.Any()).Return(emptyEvent, status.Error(codes.NotFound, "no data found"))
},
expectedVC: nil,
},
Expand Down

0 comments on commit 62bf111

Please sign in to comment.