def process_error(self, http_status, data): """Processes an error, raising an APIError with the information.""" try: rsp = json_loads(data) assert rsp['stat'] == 'fail' debug("Got API Error %d (HTTP code %d): %s" % (rsp['err']['code'], http_status, rsp['err']['msg'])) debug("Error data: %r" % rsp) raise APIError(http_status, rsp['err']['code'], rsp, rsp['err']['msg']) except ValueError: debug("Got HTTP error: %s: %s" % (http_status, data)) raise APIError(http_status, None, None, data)
def test_get_from_payload_if_user_is_inactivated(self): rb_client_review_request = self._create_mock_rb_client_review_request() rb_client_review_request.get_reviews( )[0].get_user.side_effect = APIError(404, 100) review_request = ReviewRequest.create_from_rb_client_review_request( rb_client_review_request) self.assertEqual(review_request.reviewers, ['andy'])
def test_check_api_version_old_api(self): """Testing checking the API version compatibility (RB < 1.5.0)""" self.http_response = { 'api/': APIError(404, 0), } self.server.check_api_version() self.assertTrue(self.server.deprecated_api)
def process_error(self, http_status, data): """Processes an error, raising an APIError with the information.""" try: rsp = json_loads(data) assert rsp['stat'] == 'fail' raise create_api_error(http_status, rsp['err']['code'], rsp, rsp['err']['msg']) except ValueError: raise APIError(http_status, None, None, data)
def process_error(self, http_status, data): """Processes an error, raising an APIError with the information.""" try: rsp = json_loads(data) assert rsp['stat'] == 'fail' logging.debug('Got API Error %d (HTTP code %d): %s', rsp['err']['code'], http_status, rsp['err']['msg']) logging.debug('Error data: %r', rsp) raise create_api_error(http_status, rsp['err']['code'], rsp, rsp['err']['msg']) except ValueError: logging.debug('Got HTTP error: %s: %s', http_status, data) raise APIError(http_status, None, None, data)
def process_error(self, http_status, data): """Processes an error, raising an APIError with the information.""" try: if six.PY3 and isinstance(data, bytes): data = data.decode('utf-8') rsp = json_loads(data) assert rsp['stat'] == 'fail' logging.debug('Got API Error %d (HTTP code %d): %s' % (rsp['err']['code'], http_status, rsp['err']['msg'])) logging.debug('Error data: %r' % rsp) raise create_api_error(http_status, rsp['err']['code'], rsp, rsp['err']['msg']) except ValueError: logging.debug('Got HTTP error: %s: %s' % (http_status, data)) raise APIError(http_status, None, None, data)
def process_error(self, http_status, data): """Processes an error, raising an APIError with the information.""" # In Python 3, the data can be bytes, not str, and json.loads # explicitly requires decoded strings. data = force_unicode(data) try: rsp = json_loads(data) assert rsp['stat'] == 'fail' logging.debug('Got API Error %d (HTTP code %d): %s', rsp['err']['code'], http_status, rsp['err']['msg']) logging.debug('Error data: %r', rsp) raise create_api_error(http_status, rsp['err']['code'], rsp, rsp['err']['msg']) except ValueError: logging.debug('Got HTTP error: %s: %s', http_status, data) raise APIError(http_status, None, None, data)