@@ -186,32 +186,65 @@ def test_create_envelope(self):
186186 self .assertTrue ('properties' in envelope .data .baseData )
187187 self .assertEqual (envelope .data .baseData .properties , properties )
188188
189+ def test_shutdown (self ):
190+ mock_thread = mock .Mock ()
191+ mock_storage = mock .Mock ()
192+ exporter = metrics_exporter .MetricsExporter (
193+ instrumentation_key = '12345678-1234-5678-abcd-12345678abcd'
194+ )
195+ exporter .exporter_thread = mock_thread
196+ exporter .storage = mock_storage
197+ exporter .shutdown ()
198+ mock_thread .close .assert_called_once ()
199+ mock_storage .close .assert_called_once ()
200+
189201 @mock .patch ('opencensus.ext.azure.metrics_exporter'
190202 '.transport.get_exporter_thread' )
191203 def test_new_metrics_exporter (self , exporter_mock ):
192- iKey = '12345678-1234-5678-abcd-12345678abcd'
193- exporter = metrics_exporter .new_metrics_exporter (
194- instrumentation_key = iKey )
195-
196- self .assertEqual (exporter .options .instrumentation_key , iKey )
197- self .assertEqual (len (exporter_mock .call_args_list ), 1 )
198- self .assertEqual (len (exporter_mock .call_args [0 ][0 ]), 2 )
199- producer_class = standard_metrics .AzureStandardMetricsProducer
200- self .assertFalse (isinstance (exporter_mock .call_args [0 ][0 ][0 ],
201- producer_class ))
202- self .assertTrue (isinstance (exporter_mock .call_args [0 ][0 ][1 ],
203- producer_class ))
204+ with mock .patch ('opencensus.ext.azure.metrics_exporter'
205+ '.heartbeat_metrics.enable_heartbeat_metrics' ) as hb :
206+ hb .return_value = None
207+ iKey = '12345678-1234-5678-abcd-12345678abcd'
208+ exporter = metrics_exporter .new_metrics_exporter (
209+ instrumentation_key = iKey )
210+
211+ self .assertEqual (exporter .options .instrumentation_key , iKey )
212+ self .assertEqual (len (exporter_mock .call_args_list ), 1 )
213+ self .assertEqual (len (exporter_mock .call_args [0 ][0 ]), 2 )
214+ producer_class = standard_metrics .AzureStandardMetricsProducer
215+ self .assertFalse (isinstance (exporter_mock .call_args [0 ][0 ][0 ],
216+ producer_class ))
217+ self .assertTrue (isinstance (exporter_mock .call_args [0 ][0 ][1 ],
218+ producer_class ))
204219
205220 @mock .patch ('opencensus.ext.azure.metrics_exporter'
206221 '.transport.get_exporter_thread' )
207222 def test_new_metrics_exporter_no_standard_metrics (self , exporter_mock ):
208- iKey = '12345678-1234-5678-abcd-12345678abcd'
209- exporter = metrics_exporter .new_metrics_exporter (
210- instrumentation_key = iKey , enable_standard_metrics = False )
211-
212- self .assertEqual (exporter .options .instrumentation_key , iKey )
213- self .assertEqual (len (exporter_mock .call_args_list ), 1 )
214- self .assertEqual (len (exporter_mock .call_args [0 ][0 ]), 1 )
215- producer_class = standard_metrics .AzureStandardMetricsProducer
216- self .assertFalse (isinstance (exporter_mock .call_args [0 ][0 ][0 ],
217- producer_class ))
223+ with mock .patch ('opencensus.ext.azure.metrics_exporter'
224+ '.heartbeat_metrics.enable_heartbeat_metrics' ) as hb :
225+ hb .return_value = None
226+ iKey = '12345678-1234-5678-abcd-12345678abcd'
227+ exporter = metrics_exporter .new_metrics_exporter (
228+ instrumentation_key = iKey , enable_standard_metrics = False )
229+
230+ self .assertEqual (exporter .options .instrumentation_key , iKey )
231+ self .assertEqual (len (exporter_mock .call_args_list ), 1 )
232+ self .assertEqual (len (exporter_mock .call_args [0 ][0 ]), 1 )
233+ producer_class = standard_metrics .AzureStandardMetricsProducer
234+ self .assertFalse (isinstance (exporter_mock .call_args [0 ][0 ][0 ],
235+ producer_class ))
236+
237+ @mock .patch ('opencensus.ext.azure.metrics_exporter'
238+ '.transport.get_exporter_thread' )
239+ def test_new_metrics_exporter_heartbeat (self , exporter_mock ):
240+ with mock .patch ('opencensus.ext.azure.metrics_exporter'
241+ '.heartbeat_metrics.enable_heartbeat_metrics' ) as hb :
242+ iKey = '12345678-1234-5678-abcd-12345678abcd'
243+ exporter = metrics_exporter .new_metrics_exporter (
244+ instrumentation_key = iKey )
245+
246+ self .assertEqual (exporter .options .instrumentation_key , iKey )
247+ self .assertEqual (len (hb .call_args_list ), 1 )
248+ self .assertEqual (len (hb .call_args [0 ]), 2 )
249+ self .assertEqual (hb .call_args [0 ][0 ], None )
250+ self .assertEqual (hb .call_args [0 ][1 ], iKey )
0 commit comments