def test_retries_on_transport_errors(self, es, sleep): es.cluster.health.side_effect = [ elasticsearch.TransportError(503, "Service Unavailable"), elasticsearch.TransportError(401, "Unauthorized"), elasticsearch.TransportError(408, "Timed Out"), elasticsearch.TransportError(408, "Timed Out"), {"version": {"number": "5.0.0", "build_hash": "abc123"}}, ] assert client.wait_for_rest_layer(es, max_attempts=5)
def test_retries_on_transport_errors(self, es, sleep): import elasticsearch es.info.side_effect = [ elasticsearch.TransportError(503, "Service Unavailable"), elasticsearch.TransportError(401, "Unauthorized"), { "version": { "number": "5.0.0", "build_hash": "abc123" } } ] self.assertTrue(launcher.wait_for_rest_layer(es, max_attempts=3))
def test_get_repository_transporterror_negative(self): client = Mock() client.snapshot.get_repository.side_effect = elasticsearch.TransportError(503,'foo','bar') self.assertRaises( curator.CuratorException, curator.get_repository, client, repository=testvars.repo_name )
def test_raises_exception(self): client = Mock() client.snapshot.get_repository.return_value = { 'not_your_repo': { 'foo': 'bar' } } client.snapshot.create_repository.side_effect = elasticsearch.TransportError( 500, "Error message", {"message": "Error"}) self.assertRaises(curator.FailedExecution, curator.create_repository, client, repository="repo", repo_type="fs")
def test_put_template_transport_error(self): my_handler = TestHandler() logging.getLogger('lumberjack.schemas').addHandler(my_handler) self.getLumberjackObject() test_exception = elasticsearch.TransportError(400, 'Test exception') called = {'called': False} def mock_put_template_f(name, body): called['called'] = True raise test_exception self.elasticsearch.indices.put_template = mock_put_template_f self.lj.register_schema('type_a', SCHEMA_A) self.assertTrue(called['called']) my_handler.assertLoggedWithException( 'lumberjack.schemas', 'WARNING', 'Error putting new template in Elasticsearch: type_a.', test_exception)
def test_put_mapping_transport_error(self): my_handler = TestHandler() logging.getLogger('lumberjack.schemas').addHandler(my_handler) self.getLumberjackObject() test_exception = elasticsearch.TransportError(400, 'Test exception') called = {'called': False} def mock_put_mapping_f(index, body, doc_type): called['called'] = True raise test_exception self.elasticsearch.indices.put_mapping = mock_put_mapping_f self.lj.register_schema('type_a', SCHEMA_A) self.assertTrue(called['called']) my_handler.assertLoggedWithException( 'lumberjack.schemas', 'WARNING', 'There was an error putting the new mapping on some indices. ' + 'If you try to log new data to these, you will see errors.', test_exception)
def test_transport_error(self): my_handler = TestHandler() logging.getLogger('lumberjack.actions').addHandler(my_handler) self.getLumberjackObject() test_exception = elasticsearch.TransportError(400, 'Test exception') def mock_bulk_f(es, actions): raise test_exception self.lj.action_queue._bulk = mock_bulk_f with self.lj.action_queue.queue_lock: self.lj.action_queue.queue.append(None) self.lj.trigger_flush() self.lj.action_queue.running = False self.lj.action_queue.join(timeout=10) self.assertFalse(self.lj.action_queue.is_alive()) my_handler.assertLoggedWithException( 'lumberjack.actions', 'ERROR', 'Error in flushing queue. Falling back to file.', test_exception)
def execute(self): raise elasticsearch.TransportError()
import elasticsearch from voluptuous import * fake_fail = Exception('Simulated Failure') four_oh_one = elasticsearch.TransportError(401, "simulated error") four_oh_four = elasticsearch.TransportError(404, "simulated error") get_alias_fail = elasticsearch.NotFoundError(404, "simulated error") named_index = 'index_name' named_indices = [ "index-2015.01.01", "index-2015.02.01" ] open_index = {'metadata': {'indices' : { named_index : {'state' : 'open'}}}} closed_index = {'metadata': {'indices' : { named_index : {'state' : 'close'}}}} cat_open_index = [{'status': 'open'}] cat_closed_index = [{'status': 'close'}] open_indices = { 'metadata': { 'indices' : { 'index1' : { 'state' : 'open' }, 'index2' : { 'state' : 'open' }}}} closed_indices = { 'metadata': { 'indices' : { 'index1' : { 'state' : 'close' }, 'index2' : { 'state' : 'close' }}}} named_alias = 'alias_name' alias_retval = { "pre_aliased_index": { "aliases" : { named_alias : { }}}} aliases_retval = { "index1": { "aliases" : { named_alias : { } } }, "index2": { "aliases" : { named_alias : { } } }, } alias_one_add = [{'add': {'alias': 'alias', 'index': 'index_name'}}] alias_one_add_with_extras = [ { 'add': { 'alias': 'alias', 'index': 'index_name', 'filter' : { 'term' : { 'user' : 'kimchy' }} } }] alias_one_rm = [{'remove': {'alias': 'my_alias', 'index': named_index}}]
def info(self): if self.client_options.get("raise-error-on-info", False): import elasticsearch raise elasticsearch.TransportError(401, "Unauthorized") return self._info
def test_dont_retry_eternally_on_transport_errors(self, es, sleep): es.cluster.health.side_effect = elasticsearch.TransportError( 401, "Unauthorized") self.assertFalse(client.wait_for_rest_layer(es, max_attempts=3))
def test_delete_snapshot_negative(self): client = Mock() client.snapshot.delete.side_effect = elasticsearch.TransportError(400, 'This is an error message') self.assertFalse(curator.delete_snapshot(client, repository=repo_name, snapshot=snap_name))
def test_dont_retries_eternally_on_transport_errors(self, es, sleep): import elasticsearch es.info.side_effect = elasticsearch.TransportError(401, "Unauthorized") self.assertFalse(launcher.wait_for_rest_layer(es, max_attempts=3))
def mock_bulk_f(es, actions): raise elasticsearch.TransportError(400, 'Test exception.')
def mock_bulk_f(es, actions): completed_actions.extend(actions) raise elasticsearch.TransportError(400, 'Test exception.')
def mock_bulk_f(es, actions): if len(completed_actions) > MAX_QUEUE_LENGTH: called['called'] = True raise elasticsearch.TransportError(400, 'Test exception.') else: completed_actions.extend(actions)