def test_send_remote_failover_async(self, should_try, http_send): should_try.return_value = True client = Client( servers=['http://example.com'], organization_id='organization_id', app_id='app_id', secret_token='secret', async_mode=True, ) logger = mock.Mock() client.error_logger.error = logger # test error encoded_data = client.encode({'message': 'oh no'}) http_send.side_effect = TransportException('oopsie', encoded_data) client.send_remote('http://example.com/api/store', data=encoded_data) client.close() assert client.state.status == client.state.ERROR assert len(logger.call_args_list) == 2 assert 'oopsie' in logger.call_args_list[0][0][0] assert 'oh no' in logger.call_args_list[1][0][1] # test recovery http_send.side_effect = None client.send_remote('http://example.com/api/store', 'foo') client.close() assert client.state.status == client.state.ONLINE
def test_send_remote_failover_async(self, should_try, http_send): should_try.return_value = True client = Client( servers=["http://example.com"], organization_id="organization_id", app_id="app_id", secret_token="secret", async_mode=True, ) logger = mock.Mock() client.error_logger.error = logger # test error encoded_data = client.encode({"message": "oh no"}) http_send.side_effect = TransportException("oopsie", encoded_data) client.send_remote("http://example.com/api/store", data=encoded_data) client.close() assert client.state.status == client.state.ERROR assert len(logger.call_args_list) == 2 assert "oopsie" in logger.call_args_list[0][0][0] assert "oh no" in logger.call_args_list[1][0][1] # test recovery http_send.side_effect = None client.send_remote("http://example.com/api/store", "foo") client.close() assert client.state.status == client.state.ONLINE
def test_client_shutdown_async(self, mock_traces_collect, mock_send): client = Client( servers=["http://example.com"], organization_id="organization_id", app_id="app_id", secret_token="secret", async_mode=True, ) client.send(auth_header="foo", **{"foo": "bar"}) client.close() self.assertEqual(mock_traces_collect.call_count, 1) self.assertEqual(mock_send.call_count, 1)
def test_client_shutdown_async(self, mock_traces_collect, mock_send): client = Client( servers=['http://example.com'], organization_id='organization_id', app_id='app_id', secret_token='secret', async_mode=True, ) client.send(auth_header='foo', **{ 'foo': 'bar', }) client.close() self.assertEqual(mock_traces_collect.call_count, 1) self.assertEqual(mock_send.call_count, 1)
def test_send_remote_failover_async(self, should_try, send_remote): should_try.return_value = True client = Client( servers=['http://example.com'], organization_id='organization_id', app_id='app_id', secret_token='secret', async=True, ) # test error send_remote.side_effect = Exception() client.send_remote('http://example.com/api/store', 'foo') client.close() self.assertEquals(client.state.status, client.state.ERROR) # test recovery send_remote.side_effect = None client.send_remote('http://example.com/api/store', 'foo') client.close() self.assertEquals(client.state.status, client.state.ONLINE)