def test_metadata(datadog_agent): instance = INSTANCES['main'] check = Envoy(CHECK_NAME, {}, [instance]) check.check_id = 'test:123' with mock.patch('requests.get', side_effect=requests.exceptions.Timeout()): check._collect_metadata(instance['stats_url']) datadog_agent.assert_metadata_count(0) with mock.patch('requests.get', side_effect=requests.exceptions.RequestException): check._collect_metadata(instance['stats_url']) datadog_agent.assert_metadata_count(0) with mock.patch('requests.get', return_value=response('multiple_services')): check._collect_metadata(instance['stats_url']) major, minor, patch = ENVOY_VERSION.split('.') version_metadata = { 'version.scheme': 'semver', 'version.major': major, 'version.minor': minor, 'version.patch': patch, 'version.raw': ENVOY_VERSION, } datadog_agent.assert_metadata('test:123', version_metadata) datadog_agent.assert_metadata_count(len(version_metadata))
def test_metadata_not_collected(datadog_agent): instance = INSTANCES['collect_server_info'] check = Envoy(CHECK_NAME, {}, [instance]) check.check_id = 'test:123' check.log = mock.MagicMock() datadog_agent.assert_metadata('test:123', {}) datadog_agent.assert_metadata_count(0) check.log.assert_not_called()
def test_metadata_integration(aggregator, datadog_agent): instance = INSTANCES['main'] c = Envoy(CHECK_NAME, {}, [instance]) c.check_id = 'test:123' c.check(instance) major, minor, patch = ENVOY_VERSION.split('.') version_metadata = { 'version.scheme': 'semver', 'version.major': major, 'version.minor': minor, 'version.patch': patch, 'version.raw': ENVOY_VERSION, } datadog_agent.assert_metadata('test:123', version_metadata) datadog_agent.assert_metadata_count(len(version_metadata))
def test_metadata(datadog_agent): instance = INSTANCES['main'] check = Envoy(CHECK_NAME, {}, [instance]) check.check_id = 'test:123' check.log = mock.MagicMock() with mock.patch('requests.get', side_effect=requests.exceptions.Timeout()): check._collect_metadata(instance['stats_url']) datadog_agent.assert_metadata_count(0) check.log.warning.assert_called_with( 'Envoy endpoint `%s` timed out after %s seconds', 'http://localhost:8001/server_info', (10.0, 10.0)) with mock.patch( 'requests.get', side_effect=requests.exceptions.RequestException('Req Exception')): check._collect_metadata(instance['stats_url']) datadog_agent.assert_metadata_count(0) check.log.warning.assert_called_with( 'Error collecting Envoy version with url=`%s`. Error: %s', 'http://localhost:8001/server_info', 'Req Exception', ) with mock.patch('requests.get', return_value=response('multiple_services')): check._collect_metadata(instance['stats_url']) major, minor, patch = ENVOY_VERSION.split('.') version_metadata = { 'version.scheme': 'semver', 'version.major': major, 'version.minor': minor, 'version.patch': patch, 'version.raw': ENVOY_VERSION, } datadog_agent.assert_metadata('test:123', version_metadata) datadog_agent.assert_metadata_count(len(version_metadata))
def test_metadata(datadog_agent): instance = INSTANCES['main'] check = Envoy(CHECK_NAME, {}, [instance]) check.check_id = 'test:123' check.log = mock.MagicMock() with mock.patch('requests.get', side_effect=requests.exceptions.Timeout()): check._collect_metadata() datadog_agent.assert_metadata_count(0) check.log.warning.assert_called_with( 'Envoy endpoint `%s` timed out after %s seconds', 'http://localhost:8001/server_info', (10.0, 10.0)) datadog_agent.reset() with mock.patch('requests.get', side_effect=IndexError()): check._collect_metadata() datadog_agent.assert_metadata_count(0) check.log.warning.assert_called_with( 'Error collecting Envoy version with url=`%s`. Error: %s', 'http://localhost:8001/server_info', '') datadog_agent.reset() with mock.patch( 'requests.get', side_effect=requests.exceptions.RequestException('Req Exception')): check._collect_metadata() datadog_agent.assert_metadata_count(0) check.log.warning.assert_called_with( 'Error collecting Envoy version with url=`%s`. Error: %s', 'http://localhost:8001/server_info', 'Req Exception', ) datadog_agent.reset() with mock.patch('requests.get', return_value=response('server_info')): check._collect_metadata() major, minor, patch = ENVOY_VERSION.split('.') version_metadata = { 'version.scheme': 'semver', 'version.major': major, 'version.minor': minor, 'version.patch': patch, 'version.raw': ENVOY_VERSION, } datadog_agent.assert_metadata('test:123', version_metadata) datadog_agent.assert_metadata_count(len(version_metadata)) datadog_agent.reset() with mock.patch('requests.get', return_value=response('server_info_before_1_9')): check._collect_metadata() expected_version = '1.8.0' major, minor, patch = expected_version.split('.') version_metadata = { 'version.scheme': 'semver', 'version.major': major, 'version.minor': minor, 'version.patch': patch, 'version.raw': expected_version, } datadog_agent.assert_metadata('test:123', version_metadata) datadog_agent.assert_metadata_count(len(version_metadata)) datadog_agent.reset() with mock.patch('requests.get', return_value=response('server_info_invalid')): check._collect_metadata() datadog_agent.assert_metadata('test:123', {}) datadog_agent.assert_metadata_count(0) check.log.debug.assert_called_with('Version not matched.')