@@ -160,6 +160,55 @@ func TestQueryJsonObjKeys(t *testing.T) {
160160func TestQueryJsonGet (t * testing.T ) {
161161t .Parallel ()
162162
163+ t .Run ("Should return four strings in frame" , func (t * testing.T ) {
164+ t .Parallel ()
165+
166+ client := testClient {rcv : "[[],\" gin\" ,\" rum\" ,\" whiskey\" ]" }
167+
168+ resp := queryJsonGet (queryModel {Command : models .JsonGet , Key : "test:json" , Path : "$.num" }, & client )
169+
170+ require .Len (t , resp .Frames , 1 )
171+ require .Len (t , resp .Frames [0 ].Fields , 1 )
172+ require .Equal (t , resp .Frames [0 ].Fields [0 ].Len (), 4 )
173+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (0 ), "" )
174+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (1 ), "gin" )
175+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (2 ), "rum" )
176+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (3 ), "whiskey" )
177+ })
178+
179+ t .Run ("Should return four booleans in frame" , func (t * testing.T ) {
180+ t .Parallel ()
181+
182+ client := testClient {rcv : "[[],true,false,true]" }
183+
184+ resp := queryJsonGet (queryModel {Command : models .JsonGet , Key : "test:json" , Path : "$.num" }, & client )
185+
186+ require .Len (t , resp .Frames , 1 )
187+ require .Len (t , resp .Frames [0 ].Fields , 1 )
188+ require .Equal (t , resp .Frames [0 ].Fields [0 ].Len (), 4 )
189+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (0 ), false )
190+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (1 ), true )
191+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (2 ), false )
192+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (3 ), true )
193+ })
194+
195+ t .Run ("Should return four float64 in frame" , func (t * testing.T ) {
196+ t .Parallel ()
197+
198+ client := testClient {rcv : "[[],42,43,44]" }
199+
200+ resp := queryJsonGet (queryModel {Command : models .JsonGet , Key : "test:json" , Path : "$.num" }, & client )
201+
202+ require .Len (t , resp .Frames , 1 )
203+ require .Len (t , resp .Frames [0 ].Fields , 1 )
204+ require .Equal (t , resp .Frames [0 ].Fields [0 ].Len (), 4 )
205+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (0 ), float64 (0 ))
206+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (1 ), float64 (42 ))
207+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (2 ), float64 (43 ))
208+ require .Equal (t , resp .Frames [0 ].Fields [0 ].At (3 ), float64 (44 ))
209+
210+ })
211+
163212t .Run ("Should return a single float64 in frame" , func (t * testing.T ) {
164213t .Parallel ()
165214
0 commit comments