@@ -76,6 +76,34 @@ def query_last_setup():
7676 'index' : 0 }}
7777
7878
79+ def query_arrays_setup ():
80+ global key1 , col1 , labels , filtersMap , dps1 , ts1 , ts2 , metricTS , metricTS1 , data , data1 , jreq
81+
82+ key1 = Key ._from_string ('scale-11|CPU|cpu_system' , '' )
83+ col1 = ColumnInfo (name = 'cpu_user' , semType = 1 , keys = (key1 ,), column = 0 )
84+ filtersMap = [{'node' : 'scale-11' }, {'node' : 'scale-12' }, {'node' : 'scale-13' }, {'node' : 'scale-14' }, {'node' : 'scale-15' }, {'node' : 'scale-16' }]
85+ labels = ['node' ]
86+ dps1 = [[1739214990 , 3 ], [1739215050 , 2 ], [1739215110 , 3 ], [1739215170 , 4 ], [1739215230 , 3 ]]
87+ dps2 = []
88+ ts1 = TimeSeries (col1 , dps1 , filtersMap , labels )
89+ ts2 = TimeSeries (col1 , dps2 , filtersMap , labels )
90+ metricTS = MetricTimeSeries ('cpu_system' , '' )
91+ metricTS .timeseries = [ts1 ]
92+ data = {'cpu_user' : metricTS }
93+ metricTS1 = MetricTimeSeries ('cpu_system' , '' )
94+ metricTS1 .timeseries = [ts2 ]
95+ data1 = {'cpu_user' : metricTS1 }
96+ jreq = {'start' : 1739214930519 , 'end' : 1739215230519 , 'arrays' : True ,
97+ 'inputQuery' : {'aggregator' : 'noop' , 'downsample' : '1m-avg' ,
98+ 'filters' : [
99+ {'filter' : 'scale-11' , 'groupBy' : False ,
100+ 'tagk' : 'node' , 'type' : 'pm_filter'
101+ }],
102+ 'metric' : 'cpu_system' , 'index' : 0
103+ }
104+ }
105+
106+
79107@with_setup (my_setup )
80108def test_case01 ():
81109 ts = TimeSeries (col3 , dps2 , filtersMap , labels )
@@ -110,6 +138,7 @@ def test_case03():
110138 assert 'gpfs_fs_name' in resp [0 ].get ('tags' )
111139 assert 'node' in resp [0 ].get ('tags' )
112140 assert 'gpfs_cluster_name' in resp [0 ].get ('tags' )
141+ assert isinstance (resp [0 ].get ('dps' ), dict )
113142
114143
115144@with_setup (my_setup )
@@ -139,3 +168,30 @@ def test_case05():
139168 assert resp [0 ].get ('metric' ) == "cpu_user"
140169 assert 'gpfs_fs_name' not in resp [0 ].get ('tags' )
141170 assert 'node' in resp [0 ].get ('tags' )
171+
172+
173+ @with_setup (query_arrays_setup )
174+ def test_case06 ():
175+ with mock .patch ('source.metadata.MetadataHandler' ) as md :
176+ md_instance = md .return_value
177+ logger = logging .getLogger (__name__ )
178+ opentsdb = OpenTsdbApi (logger , md_instance , '9999' )
179+ resp = opentsdb .format_response (data , jreq )
180+ assert set (resp [0 ].keys ()) == set (['metric' , 'dps' , 'tags' , 'aggregatedTags' ])
181+ assert resp [0 ].get ('metric' ) == "cpu_system"
182+ assert 'node' in resp [0 ].get ('tags' )
183+ assert isinstance (resp [0 ].get ('dps' ), list )
184+
185+
186+ @with_setup (query_arrays_setup )
187+ def test_case07 ():
188+ with mock .patch ('source.metadata.MetadataHandler' ) as md :
189+ md_instance = md .return_value
190+ logger = logging .getLogger (__name__ )
191+ opentsdb = OpenTsdbApi (logger , md_instance , '9999' )
192+ resp = opentsdb .format_response (data1 , jreq )
193+ assert set (resp [0 ].keys ()) == set (['metric' , 'dps' , 'tags' , 'aggregatedTags' ])
194+ assert resp [0 ].get ('metric' ) == "cpu_system"
195+ assert 'node' in resp [0 ].get ('tags' )
196+ assert isinstance (resp [0 ].get ('dps' ), list )
197+ assert len (resp [0 ].get ('dps' )) == 0
0 commit comments