def test_send_to_elastic_PUT_method(self, mock_get_obj_info, mock_url): client = self.client.return_value client.put.return_value = self.response(status_code=201) # Mocked result from _get_es_obj_url mock_url.return_value = 'obj-url' # Mocked result from get_obj_info obj_info = { 'project_id': '1234', 'container': 'con', 'object': 'o/b/j', 'headers': {}, 'timestamp': '1997' } mock_get_obj_info.return_value = obj_info es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') self.data['http_method'] = 'PUT' _, status = es.send_to_elastic(self.data) client.put.assert_called_with( 'obj-url', data=json.dumps(obj_info), headers={'Content-Type': 'application/json'}) self.assertTrue(status)
def test_send_to_elastic_PUT_failed_connection(self, mock_get_obj_info, mock_url): client = self.client.return_value client.put.side_effect = Exception # Mocked result from _get_es_obj_url mock_url.return_value = 'obj-url' # Mocked result from get_obj_info obj_info = { 'project_id': '1234', 'container': 'con', 'object': 'o/b/j', 'headers': {}, 'timestamp': '1997' } mock_get_obj_info.return_value = obj_info es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') self.data['http_method'] = 'PUT' msg, status = es.send_to_elastic(self.data) client.put.assert_called_with( 'obj-url', data=json.dumps(obj_info), headers={'Content-Type': 'application/json'}) self.assertFalse(status) self.assertEqual(msg, 'Unable to PUT data to ES')
def test_send_to_elastic_DELETE_failed_connection(self, mock_get_obj_info, mock_url): client = self.client.return_value client.delete.side_effect = Exception # Mocked result from _get_es_obj_url mock_url.return_value = 'obj-url' # Mocked result from get_obj_info obj_info = { 'project_id': '1234', 'container': 'con', 'object': 'o/b/j', 'headers': {}, 'timestamp': '1997' } mock_get_obj_info.return_value = obj_info es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') self.data['http_method'] = 'DELETE' msg, status = es.send_to_elastic(self.data) client.delete.assert_called_with('obj-url') self.assertFalse(status) self.assertEqual(msg, 'Unable to DELETE data on ES')
def test_send_to_elastic_DELETE_method_return_404(self, mock_get_obj_info, mock_url): client = self.client.return_value client.delete.return_value = self.response(status_code=404) # Mocked result from _get_es_obj_url mock_url.return_value = 'obj-url' # Mocked result from get_obj_info obj_info = { 'project_id': '1234', 'container': 'con', 'object': 'o/b/j', 'headers': {}, 'timestamp': '1997' } mock_get_obj_info.return_value = obj_info es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') self.data['http_method'] = 'DELETE' _, status = es.send_to_elastic(self.data) client.delete.assert_called_with('obj-url') self.assertTrue(status)
def test_send_to_elastic_ES_error(self, mock_get_obj_info, mock_url): client = self.client.return_value client.post.return_value = self.response(status_code=403) # Mocked result from _get_es_obj_url mock_url.return_value = 'obj-url' # Mocked result from get_obj_info obj_info = { 'project_id': '1234', 'container': 'con', 'object': 'o/b/j', 'headers': {}, 'timestamp': '1997' } mock_get_obj_info.return_value = obj_info es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') msg, status = es.send_to_elastic(self.data) client.post.assert_called_with( 'obj-url', data=json.dumps(obj_info), headers={'Content-Type': 'application/json'}) self.assertFalse(status) self.assertEquals(msg, "Object not created")
def test_send_to_elastic_invalid_data(self): es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') msg, status = es.send_to_elastic({}) self.assertFalse(status) self.assertEquals(msg, "Invalid object info")
def test_get_es_obj_url(self): es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') obj_info = { 'project_id': '1234', 'container': 'con', 'object': 'o/b/j' } computed = es._get_es_obj_url(obj_info) expected = 'es_url/1234%2Fcon%2Fo%2Fb%2Fj' self.assertEqual(computed, expected)
def test_send_to_elastic_invalid_method(self, mock_get_obj_info): obj_info = { 'project_id': '1234', 'container': 'con', 'object': 'o/b/j', 'headers': {}, 'timestamp': '1997' } mock_get_obj_info.return_value = obj_info es = ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') msg, status = es.send_to_elastic({'http_method': 'GET'}) self.assertFalse(status) self.assertEquals(msg, "Invalid http method")
def test_get_alf_client(self): ElasticSearchUtils('token_url', 'cli_id', 'cli_sec', 'es_url') self.client.assert_called_with(token_endpoint='token_url', client_id='cli_id', client_secret='cli_sec')