def test_refresh_tags_cache_should_not_raise_exception(aggregator, dd_run_check, realtime_instance): realtime_instance.update({'collect_tags': True}) check = VSphereCheck('vsphere', {}, [realtime_instance]) check.log = MagicMock() check.api_rest = MagicMock() check.api_rest.get_resource_tags_for_mors.side_effect = APIConnectionError("Some error") check.collect_tags({}) # Error logged, but `refresh_tags_cache` should NOT raise any exception check.log.error.assert_called_once_with("Failed to collect tags: %s", mock.ANY)
def test_continue_if_tag_collection_fail(aggregator, dd_run_check, realtime_instance): realtime_instance.update({'collect_tags': True}) check = VSphereCheck('vsphere', {}, [realtime_instance]) check.log = MagicMock() with mock.patch('requests.post', side_effect=Exception, autospec=True): dd_run_check(check) aggregator.assert_metric('vsphere.cpu.usage.avg', tags=['vcenter_server:FAKE'], hostname='10.0.0.104') check.log.error.assert_called_once_with( "Cannot connect to vCenter REST API. Tags won't be collected. Error: %s", mock.ANY )