def test_should_log_but_not_throw_if_socket_errors(app, mocker): stats_client = NotifyStatsClient('localhost', 8125, '') mocker.patch.object(stats_client, "_sock") stats_client._sock.sendto = Mock(side_effect=Exception('Mock Exception')) mock_logger = mocker.patch('flask.Flask.logger') stats_client._send('data') mock_logger.warning.assert_called_with('Error sending statsd metric: Mock Exception')
def test_should_not_attempt_to_send_if_cache_contains_none(app, mocker): stats_client = NotifyStatsClient('localhost', 8125, '') mock_sock = mocker.patch.object(stats_client, "_sock") mock_cached_host = mocker.patch.object(stats_client, '_cached_host', return_value=None) stats_client._send('data') mock_cached_host.assert_called_once_with() assert mock_sock.called is False
def test_should_cache_none_if_dns_fails(app, mocker): stats_client = NotifyStatsClient('exporter.apps.internal', 8125, '') with patch.object(stats_client, '_resolve', side_effect=Exception('DNS No Worky')) as mock_dns_lookup: assert stats_client._cached_host() is None mock_dns_lookup.assert_called_once_with('exporter.apps.internal') with patch.object(stats_client, '_resolve') as mock_dns_lookup: assert stats_client._cached_host() is None assert mock_dns_lookup.called is False
def test_should_cache_dns(app, mocker): stats_client = NotifyStatsClient('exporter.apps.internal', 8125, '') with patch.object(stats_client, '_resolve', return_value='1.2.3.4') as mock_dns_lookup: assert stats_client._cached_host() == '1.2.3.4' mock_dns_lookup.assert_called_once_with('exporter.apps.internal') with patch.object(stats_client, '_resolve') as mock_dns_lookup: assert stats_client._cached_host() == '1.2.3.4' assert mock_dns_lookup.called is False
def test_should_manage_dns(app, mocker): stats_client = NotifyStatsClient('exporter.apps.internal', 8125, '') with patch.object(stats_client, '_resolve', return_value='1.2.3.4'): assert stats_client._cached_host() == '1.2.3.4'