Beispiel #1
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
 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
Beispiel #5
0
 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
Beispiel #6
0
 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)
Beispiel #8
0
    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)