@@ -203,6 +203,46 @@ def test_query_into_dataframe(self):
203
203
result = cli .query ('select column_one from foo;' )
204
204
assert_frame_equal (dataframe , result )
205
205
206
+ def test_query_multiple_time_series (self ):
207
+ data = [
208
+ {
209
+ "name" : "series1" ,
210
+ "columns" : ["time" , "mean" , "min" , "max" , "stddev" ],
211
+ "points" : [[0 , 323048 , 323048 , 323048 , 0 ]]
212
+ },
213
+ {
214
+ "name" : "series2" ,
215
+ "columns" : ["time" , "mean" , "min" , "max" , "stddev" ],
216
+ "points" : [[0 , - 2.8233 , - 2.8503 , - 2.7832 , 0.0173 ]]
217
+ },
218
+ {
219
+ "name" : "series3" ,
220
+ "columns" : ["time" , "mean" , "min" , "max" , "stddev" ],
221
+ "points" : [[0 , - 0.01220 , - 0.01220 , - 0.01220 , 0 ]]
222
+ }
223
+ ]
224
+ dataframes = {
225
+ 'series1' : pd .DataFrame (data = [[323048 , 323048 , 323048 , 0 ]],
226
+ index = pd .to_datetime ([0 ], unit = 's' ,
227
+ utc = True ),
228
+ columns = ['mean' , 'min' , 'max' , 'stddev' ]),
229
+ 'series2' : pd .DataFrame (data = [[- 2.8233 , - 2.8503 , - 2.7832 , 0.0173 ]],
230
+ index = pd .to_datetime ([0 ], unit = 's' ,
231
+ utc = True ),
232
+ columns = ['mean' , 'min' , 'max' , 'stddev' ]),
233
+ 'series3' : pd .DataFrame (data = [[- 0.01220 , - 0.01220 , - 0.01220 , 0 ]],
234
+ index = pd .to_datetime ([0 ], unit = 's' ,
235
+ utc = True ),
236
+ columns = ['mean' , 'min' , 'max' , 'stddev' ])
237
+ }
238
+ with _mocked_session ('get' , 200 , data ):
239
+ cli = DataFrameClient ('host' , 8086 , 'username' , 'password' , 'db' )
240
+ result = cli .query ("""select mean(value), min(value), max(value),
241
+ stddev(value) from series1, series2, series3""" )
242
+ assert dataframes .keys () == result .keys ()
243
+ for key in dataframes .keys ():
244
+ assert_frame_equal (dataframes [key ], result [key ])
245
+
206
246
def test_query_with_empty_result (self ):
207
247
with _mocked_session ('get' , 200 , []):
208
248
cli = DataFrameClient ('host' , 8086 , 'username' , 'password' , 'db' )
0 commit comments