2525from opencensus .tags import tag_map as tag_map_module
2626from opencensus .tags import tag_value as tag_value_module
2727
28-
2928MiB = 1 << 20
3029FRONTEND_KEY = tag_key_module .TagKey ("my.org/keys/frontend" )
3130FRONTEND_KEY_FLOAT = tag_key_module .TagKey ("my.org/keys/frontend-FLOAT" )
4746 VIDEO_SIZE_MEASURE ,
4847 VIDEO_SIZE_DISTRIBUTION )
4948
49+
50+ class _Client (object ):
51+ def __init__ (self , project = None ):
52+ if project is None :
53+ project = 'PROJECT'
54+
55+ self .project = project
56+
57+
5058class TestOptions (unittest .TestCase ):
5159
5260 def test_options_blank (self ):
@@ -62,7 +70,7 @@ def test_options_parameters(self):
6270
6371 def test_default_monitoring_labels_blank (self ):
6472 option = stackdriver .Options ()
65- self .assertEqual (option .default_monitoring_labels , None )
73+ self .assertIsNone (option .default_monitoring_labels )
6674
6775 def test_default_monitoring_labels (self ):
6876 default_labels = {'key1' :'value1' }
@@ -75,7 +83,7 @@ class TestStackdriverStatsExporter(unittest.TestCase):
7583 def test_constructor (self ):
7684 exporter = stackdriver .StackdriverStatsExporter ()
7785
78- self .assertEqual (exporter .client , None )
86+ self .assertIsNone (exporter .client )
7987
8088 def test_constructor_param (self ):
8189 project_id = 1
@@ -91,7 +99,11 @@ def test_blank_project(self):
9199 self .assertRaises (Exception , stackdriver .new_stats_exporter , stackdriver .Options (project_id = "" ))
92100
93101 def test_not_blank_project (self ):
94- exporter_created = stackdriver .new_stats_exporter (stackdriver .Options (project_id = 1 ))
102+ patch_client = mock .patch (
103+ 'opencensus.stats.exporters.stackdriver_exporter.monitoring_v3.MetricServiceClient' , _Client )
104+
105+ with patch_client :
106+ exporter_created = stackdriver .new_stats_exporter (stackdriver .Options (project_id = 1 ))
95107
96108 self .assertIsInstance (exporter_created , stackdriver .StackdriverStatsExporter )
97109
@@ -119,7 +131,12 @@ def test_remove_invalid_chars(self):
119131
120132 def test_singleton_with_params (self ):
121133 default_labels = {'key1' :'value1' }
122- exporter_created = stackdriver .new_stats_exporter (stackdriver .Options (project_id = 1 ,default_monitoring_labels = default_labels ))
134+ patch_client = mock .patch (
135+ 'opencensus.stats.exporters.stackdriver_exporter.monitoring_v3.MetricServiceClient' ,
136+ _Client )
137+
138+ with patch_client :
139+ exporter_created = stackdriver .new_stats_exporter (stackdriver .Options (project_id = 1 ,default_monitoring_labels = default_labels ))
123140
124141 self .assertEqual (exporter_created .default_labels , default_labels )
125142
@@ -146,20 +163,14 @@ def test_namespacedviews(self):
146163
147164 self .assertEqual (expected_view_name_namespaced , view_name_namespaced )
148165
149- def test_get_task_value (self ):
150- task_value = stackdriver .get_task_value ()
151-
152- self .assertNotEqual (task_value , "" )
153-
154166 def test_on_register_view (self ):
155167 client = mock .Mock ()
156168 view_none = None
157169 option = stackdriver .Options (project_id = "project-test" )
158170 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
159171 exporter .on_register_view (VIDEO_SIZE_VIEW )
160- self .assertTrue (True )
161172 exporter .on_register_view (view_none )
162- self .assertTrue (True )
173+ self .assertTrue (client . create_metric_descriptor . called )
163174
164175 def test_emit (self ):
165176 client = mock .Mock ()
@@ -172,39 +183,53 @@ def test_emit(self):
172183 option = stackdriver .Options (project_id = "project-test" )
173184 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
174185 exporter .emit (view_data )
175- self .assertTrue (True )
176186 exporter .emit (None )
177- self .assertTrue (True )
187+ self .assertTrue (client . create_time_series . called )
178188
179- def test_export (self ):
189+ def test_export_no_data (self ):
180190 client = mock .Mock ()
191+ transport = mock .Mock ()
192+ option = stackdriver .Options (project_id = "project-test" )
193+ exporter = stackdriver .StackdriverStatsExporter (
194+ options = option , client = client , transport = transport )
195+ exporter .export (None )
196+ self .assertFalse (exporter .transport .export .called )
197+
198+ def test_export_with_data (self ):
199+ client = mock .Mock ()
200+ transport = mock .Mock ()
181201 start_time = datetime .utcnow ()
182202 end_time = datetime .utcnow ()
183203 v_data = view_data_module .ViewData (view = VIDEO_SIZE_VIEW ,
184- start_time = start_time ,
185- end_time = end_time )
204+ start_time = start_time ,
205+ end_time = end_time )
186206 view_data = [v_data ]
187207 option = stackdriver .Options (project_id = "project-test" )
188- exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
208+ exporter = stackdriver .StackdriverStatsExporter (
209+ options = option , client = client , transport = transport )
189210 exporter .export (view_data )
190- self .assertTrue (True )
191- exporter .export (None )
192- self .assertTrue (True )
211+ self .assertTrue (exporter .transport .export .called )
212+
213+ def test_handle_upload_no_data (self ):
214+ client = mock .Mock ()
215+ option = stackdriver .Options (project_id = "project-test" )
216+ exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
217+ exporter .handle_upload (None )
218+ self .assertFalse (client .create_time_series .called )
193219
194- def test_handle_upload (self ):
220+ def test_handle_upload_with_data (self ):
195221 client = mock .Mock ()
196222 start_time = datetime .utcnow ()
197223 end_time = datetime .utcnow ()
198224 v_data = view_data_module .ViewData (view = VIDEO_SIZE_VIEW ,
199- start_time = start_time ,
200- end_time = end_time )
225+ start_time = start_time ,
226+ end_time = end_time )
201227 view_data = [v_data ]
202228 option = stackdriver .Options (project_id = "project-test" )
203- exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
229+ exporter = stackdriver .StackdriverStatsExporter (options = option ,
230+ client = client )
204231 exporter .handle_upload (view_data )
205- self .assertTrue (True )
206- exporter .handle_upload (None )
207- self .assertTrue (True )
232+ self .assertTrue (client .create_time_series .called )
208233
209234 def test_make_request (self ):
210235 client = mock .Mock ()
@@ -220,10 +245,8 @@ def test_make_request(self):
220245 self .assertEqual (len (requests ), 1 )
221246
222247 def test_stackdriver_register_exporter (self ):
223- view = mock .Mock ()
224248 stats = stats_module .Stats ()
225249 view_manager = stats .view_manager
226- stats_recorder = stats .stats_recorder
227250
228251 exporter = mock .Mock ()
229252 if len (view_manager .measure_to_view_map .exporters ) > 0 :
@@ -236,8 +259,6 @@ def test_stackdriver_register_exporter(self):
236259
237260 def test_create_timeseries (self ):
238261 client = mock .Mock ()
239- start_time = datetime .utcnow ()
240- end_time = datetime .utcnow ()
241262
242263 option = stackdriver .Options (project_id = "project-test" , resource = "global" )
243264 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
@@ -270,8 +291,6 @@ def test_create_timeseries(self):
270291
271292 def test_create_timeseries_str_tagvalue (self ):
272293 client = mock .Mock ()
273- start_time = datetime .utcnow ()
274- end_time = datetime .utcnow ()
275294
276295 option = stackdriver .Options (project_id = "project-test" , resource = "global" )
277296 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
@@ -313,8 +332,6 @@ def test_create_timeseries_str_tagvalue(self):
313332
314333 def test_create_timeseries_last_value_float_tagvalue (self ):
315334 client = mock .Mock ()
316- start_time = datetime .utcnow ()
317- end_time = datetime .utcnow ()
318335
319336 option = stackdriver .Options (project_id = "project-test" , resource = "global" )
320337 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
@@ -356,8 +373,6 @@ def test_create_timeseries_last_value_float_tagvalue(self):
356373
357374 def test_create_timeseries_float_tagvalue (self ):
358375 client = mock .Mock ()
359- start_time = datetime .utcnow ()
360- end_time = datetime .utcnow ()
361376
362377 option = stackdriver .Options (project_id = "project-test" , resource = "global" )
363378 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
@@ -399,8 +414,6 @@ def test_create_timeseries_float_tagvalue(self):
399414
400415 def test_create_metric_descriptor_count (self ):
401416 client = mock .Mock ()
402- start_time = datetime .utcnow ()
403- end_time = datetime .utcnow ()
404417 option = stackdriver .Options (project_id = "project-test" , metric_prefix = "teste" )
405418 view_name_count = "view-count"
406419 agg_count = aggregation_module .CountAggregation (count = 2 )
@@ -411,12 +424,10 @@ def test_create_metric_descriptor_count(self):
411424 agg_count )
412425 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
413426 desc = exporter .create_metric_descriptor (view_count )
414- self .assertNotEqual (desc , None )
427+ self .assertIsNotNone (desc )
415428
416429 def test_create_metric_descriptor_sum_int (self ):
417430 client = mock .Mock ()
418- start_time = datetime .utcnow ()
419- end_time = datetime .utcnow ()
420431 option = stackdriver .Options (project_id = "project-test" , metric_prefix = "teste" )
421432
422433 view_name_sum_int = "view-sum-int"
@@ -428,12 +439,10 @@ def test_create_metric_descriptor_sum_int(self):
428439 agg_sum )
429440 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
430441 desc = exporter .create_metric_descriptor (view_sum_int )
431- self .assertNotEqual (desc , None )
442+ self .assertIsNotNone (desc )
432443
433444 def test_create_metric_descriptor_sum_float (self ):
434445 client = mock .Mock ()
435- start_time = datetime .utcnow ()
436- end_time = datetime .utcnow ()
437446 option = stackdriver .Options (project_id = "project-test" , metric_prefix = "teste" )
438447
439448 view_name_sum_float = "view-sum-float"
@@ -445,22 +454,18 @@ def test_create_metric_descriptor_sum_float(self):
445454 agg_sum )
446455 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
447456 desc = exporter .create_metric_descriptor (view_sum_float )
448- self .assertNotEqual (desc , None )
457+ self .assertIsNotNone (desc )
449458
450459 def test_create_metric_descriptor (self ):
451460 client = mock .Mock ()
452- start_time = datetime .utcnow ()
453- end_time = datetime .utcnow ()
454461 option = stackdriver .Options (project_id = "project-test" , metric_prefix = "teste" )
455462 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
456463 desc = exporter .create_metric_descriptor (VIDEO_SIZE_VIEW )
457- self .assertNotEqual (desc , None )
464+ self .assertIsNotNone (desc )
458465
459466
460467 def test_create_metric_descriptor_last_value_int (self ):
461468 client = mock .Mock ()
462- start_time = datetime .utcnow ()
463- end_time = datetime .utcnow ()
464469 option = stackdriver .Options (project_id = "project-test" , metric_prefix = "teste" )
465470
466471 view_name_base = "view-base"
@@ -472,12 +477,10 @@ def test_create_metric_descriptor_last_value_int(self):
472477 agg_base )
473478 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
474479 desc = exporter .create_metric_descriptor (view_base )
475- self .assertNotEqual (desc , None )
480+ self .assertIsNotNone (desc )
476481
477482 def test_create_metric_descriptor_last_value_float (self ):
478483 client = mock .Mock ()
479- start_time = datetime .utcnow ()
480- end_time = datetime .utcnow ()
481484 option = stackdriver .Options (project_id = "project-test" , metric_prefix = "teste" )
482485
483486 view_name_base = "view-base"
@@ -489,12 +492,10 @@ def test_create_metric_descriptor_last_value_float(self):
489492 agg_base )
490493 exporter = stackdriver .StackdriverStatsExporter (options = option , client = client )
491494 desc = exporter .create_metric_descriptor (view_base )
492- self .assertNotEqual (desc , None )
495+ self .assertIsNotNone (desc )
493496
494497 def test_create_metric_descriptor_base (self ):
495498 client = mock .Mock ()
496- start_time = datetime .utcnow ()
497- end_time = datetime .utcnow ()
498499 option = stackdriver .Options (project_id = "project-test" , metric_prefix = "teste" )
499500
500501 view_name_base = "view-base"
0 commit comments