Skip to content

Commit

Permalink
adding tests for scalar arrys
Browse files Browse the repository at this point in the history
  • Loading branch information
slorello89 committed Jun 13, 2023
1 parent 23a3efd commit 8886c47
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 1 deletion.
2 changes: 1 addition & 1 deletion pkg/redis-json.go
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ func queryJsonGet(qm queryModel, client redisClient) backend.DataResponse {
case float64:
fields[i] = data.NewField(i, nil, []float64{})
for j := 0; j < rowscount-1; j++ {
fields[i].Append(0)
fields[i].Append(float64(0))
}
}
frame.Fields = append(frame.Fields, fields[i])
Expand Down
49 changes: 49 additions & 0 deletions pkg/redis-json_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,55 @@ func TestQueryJsonObjKeys(t *testing.T) {
func TestQueryJsonGet(t *testing.T) {
t.Parallel()

t.Run("Should return four strings in frame", func(t *testing.T) {
t.Parallel()

client := testClient{rcv: "[[],\"gin\",\"rum\",\"whiskey\"]"}

resp := queryJsonGet(queryModel{Command: models.JsonGet, Key: "test:json", Path: "$.num"}, &client)

require.Len(t, resp.Frames, 1)
require.Len(t, resp.Frames[0].Fields, 1)
require.Equal(t, resp.Frames[0].Fields[0].Len(), 4)
require.Equal(t, resp.Frames[0].Fields[0].At(0), "")
require.Equal(t, resp.Frames[0].Fields[0].At(1), "gin")
require.Equal(t, resp.Frames[0].Fields[0].At(2), "rum")
require.Equal(t, resp.Frames[0].Fields[0].At(3), "whiskey")
})

t.Run("Should return four booleans in frame", func(t *testing.T) {
t.Parallel()

client := testClient{rcv: "[[],true,false,true]"}

resp := queryJsonGet(queryModel{Command: models.JsonGet, Key: "test:json", Path: "$.num"}, &client)

require.Len(t, resp.Frames, 1)
require.Len(t, resp.Frames[0].Fields, 1)
require.Equal(t, resp.Frames[0].Fields[0].Len(), 4)
require.Equal(t, resp.Frames[0].Fields[0].At(0), false)
require.Equal(t, resp.Frames[0].Fields[0].At(1), true)
require.Equal(t, resp.Frames[0].Fields[0].At(2), false)
require.Equal(t, resp.Frames[0].Fields[0].At(3), true)
})

t.Run("Should return four float64 in frame", func(t *testing.T) {
t.Parallel()

client := testClient{rcv: "[[],42,43,44]"}

resp := queryJsonGet(queryModel{Command: models.JsonGet, Key: "test:json", Path: "$.num"}, &client)

require.Len(t, resp.Frames, 1)
require.Len(t, resp.Frames[0].Fields, 1)
require.Equal(t, resp.Frames[0].Fields[0].Len(), 4)
require.Equal(t, resp.Frames[0].Fields[0].At(0), float64(0))
require.Equal(t, resp.Frames[0].Fields[0].At(1), float64(42))
require.Equal(t, resp.Frames[0].Fields[0].At(2), float64(43))
require.Equal(t, resp.Frames[0].Fields[0].At(3), float64(44))

})

t.Run("Should return a single float64 in frame", func(t *testing.T) {
t.Parallel()

Expand Down

0 comments on commit 8886c47

Please sign in to comment.