def test_handle_platform_error(self): resp, error = self._create_response(payload=_NOT_FOUND_PAYLOAD) firebase_error = _utils.handle_platform_error_from_requests(error) assert isinstance(firebase_error, exceptions.NotFoundError) assert str(firebase_error) == 'test error' assert firebase_error.cause is error assert firebase_error.http_response is resp
def _body_and_response(self, method, url, json=None): try: return self._client.body_and_response(method=method, url=url, json=json) except requests.exceptions.RequestException as error: raise _utils.handle_platform_error_from_requests(error)
def create_model(self, model): _validate_model(model) try: return self.handle_operation( self._client.body('post', url='models', json=model.as_dict(for_upload=True))) except requests.exceptions.RequestException as error: raise _utils.handle_platform_error_from_requests(error)
def test_handle_platform_error_with_no_error_code(self): resp, error = self._create_response(payload='no error code') firebase_error = _utils.handle_platform_error_from_requests(error) assert isinstance(firebase_error, exceptions.InternalError) message = 'Unexpected HTTP response with status: 500; body: no error code' assert str(firebase_error) == message assert firebase_error.cause is error assert firebase_error.http_response is resp
def test_handle_platform_error_with_no_response(self): error = requests.exceptions.RequestException('Test error') firebase_error = _utils.handle_platform_error_from_requests(error) assert isinstance(firebase_error, exceptions.UnknownError) assert str( firebase_error ) == 'Unknown error while making a remote service call: Test error' assert firebase_error.cause is error assert firebase_error.http_response is None
def update_model(self, model, update_mask=None): _validate_model(model, update_mask) path = 'models/{0}'.format(model.model_id) if update_mask is not None: path = path + '?updateMask={0}'.format(update_mask) try: return self.handle_operation( self._client.body('patch', url=path, json=model.as_dict(for_upload=True))) except requests.exceptions.RequestException as error: raise _utils.handle_platform_error_from_requests(error)
def list_models(self, list_filter, page_size, page_token): """ lists Firebase ML models.""" _validate_list_filter(list_filter) _validate_page_size(page_size) _validate_page_token(page_token) params = {} if list_filter: params['filter'] = list_filter if page_size: params['page_size'] = page_size if page_token: params['page_token'] = page_token path = 'models' if params: param_str = parse.urlencode(sorted(params.items()), True) path = path + '?' + param_str try: return self._client.body('get', url=path) except requests.exceptions.RequestException as error: raise _utils.handle_platform_error_from_requests(error)
def test_handle_platform_error_with_custom_handler_ignore(self): resp, error = self._create_response(payload=_NOT_FOUND_PAYLOAD) invocations = [] def _custom_handler(cause, message, error_dict): invocations.append((cause, message, error_dict)) firebase_error = _utils.handle_platform_error_from_requests( error, _custom_handler) assert isinstance(firebase_error, exceptions.NotFoundError) assert str(firebase_error) == 'test error' assert firebase_error.cause is error assert firebase_error.http_response is resp assert len(invocations) == 1 args = invocations[0] assert len(args) == 3 assert args[0] is error assert args[1] == 'test error' assert args[2] == _NOT_FOUND_ERROR_DICT
def _handle_fcm_error(self, error): """Handles errors received from the FCM API.""" return _utils.handle_platform_error_from_requests( error, _MessagingService._build_fcm_error_requests)
def get_model(self, model_id): _validate_model_id(model_id) try: return self._client.body('get', url='models/{0}'.format(model_id)) except requests.exceptions.RequestException as error: raise _utils.handle_platform_error_from_requests(error)
def get_operation(self, op_name): _validate_operation_name(op_name) try: return self._operation_client.body('get', url=op_name) except requests.exceptions.RequestException as error: raise _utils.handle_platform_error_from_requests(error)