Skip to content

Commit 6f689b4

Browse files
committed
Fix lint issues
1 parent 454c2ef commit 6f689b4

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

pkg/googlesheets/googlesheets.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import (
99
"time"
1010

1111
"github.com/grafana/google-sheets-datasource/pkg/models"
12-
"golang.org/x/oauth2"
1312

1413
"github.com/araddon/dateparse"
1514
"github.com/davecgh/go-spew/spew"
@@ -18,6 +17,7 @@ import (
1817
"github.com/grafana/grafana-plugin-sdk-go/data"
1918
"github.com/grafana/grafana-plugin-sdk-go/experimental/errorsource"
2019
"github.com/patrickmn/go-cache"
20+
"golang.org/x/oauth2"
2121
"google.golang.org/api/googleapi"
2222
"google.golang.org/api/sheets/v4"
2323
)
@@ -94,10 +94,13 @@ func (gs *GoogleSheets) GetSpreadsheets(ctx context.Context, config models.Datas
9494
func (gs *GoogleSheets) getSheetData(client client, qm *models.QueryModel) (*sheets.GridData, map[string]any, error) {
9595
cacheKey := qm.Spreadsheet + qm.Range
9696
if item, expires, found := gs.Cache.GetWithExpiration(cacheKey); found && qm.CacheDurationSeconds > 0 {
97-
return item.(*sheets.GridData), map[string]any{
98-
"hit": true,
99-
"expires": expires.Unix(),
100-
}, nil
97+
if gridData, ok := item.(*sheets.GridData); ok {
98+
return gridData, map[string]any{
99+
"hit": true,
100+
"expires": expires.Unix(),
101+
}, nil
102+
}
103+
return nil, nil, errors.New("invalid cache item not type of *sheets.GridData")
101104
}
102105

103106
result, err := client.GetSpreadsheet(qm.Spreadsheet, qm.Range, true)

pkg/googlesheets/googlesheets_test.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ type fakeClient struct {
2929

3030
func (f *fakeClient) GetSpreadsheet(spreadSheetID string, sheetRange string, includeGridData bool) (*sheets.Spreadsheet, error) {
3131
args := f.Called(spreadSheetID, sheetRange, includeGridData)
32-
return args.Get(0).(*sheets.Spreadsheet), args.Error(1)
32+
if spreadsheet, ok := args.Get(0).(*sheets.Spreadsheet); ok {
33+
return spreadsheet, args.Error(1)
34+
}
35+
return nil, args.Error(1)
3336
}
3437

3538
func loadTestSheet(path string) (*sheets.Spreadsheet, error) {
@@ -281,7 +284,8 @@ func TestGooglesheets(t *testing.T) {
281284
})
282285

283286
t.Run("meta warnings field is populated correctly", func(t *testing.T) {
284-
warnings := meta["warnings"].([]string)
287+
warnings, ok := meta["warnings"].([]string)
288+
require.True(t, ok)
285289
assert.Equal(t, 3, len(warnings))
286290
assert.Equal(t, "Multiple data types found in column \"MixedDataTypes\". Using string data type", warnings[0])
287291
assert.Equal(t, "Multiple units found in column \"MixedUnits\". Formatted value will be used", warnings[1])

0 commit comments

Comments
 (0)