Ejemplo n.º 1
0
    def test_create_error(self):
        # If: I create an error message
        message = JSONRPCMessage.create_error(10, 20, 'msg', {})

        # Then:
        # ... The message should have all the properties I defined
        self.assertIsNotNone(message)
        self.assertEqual(message.message_id, 10)
        self.assertIsNone(message.message_method)
        self.assertIsNone(message.message_params)
        self.assertIsNone(message.message_result)
        self.assertIsNotNone(message.message_error)
        self.assertEqual(message.message_error['code'], 20)
        self.assertEqual(message.message_error['message'], 'msg')
        self.assertDictEqual(message.message_error['data'], {})
        self.assertEqual(message.message_type,
                         JSONRPCMessageType.ResponseError)

        # ... The dictionary should have the same values stored
        dictionary = message.dictionary
        self.assertIsNotNone(dictionary)
        self.assertDictEqual(
            dictionary, {
                'jsonrpc': '2.0',
                'error': {
                    'code': 20,
                    'message': 'msg',
                    'data': {}
                },
                'id': 10
            })
Ejemplo n.º 2
0
    def send_error(self, message, data=None, code=0):
        """
        Sends a failure response to this request
        :param message: Concise 1-sentence message explanation of the error
        :param data: Optional data to send back with the error
        :param code: Optional error code to identify the error
        """

        message = JSONRPCMessage.create_error(self._message.message_id, code,
                                              message, data)
        self._queue.put(message)
 def _received_error_callback(self, message: str, data: any = None, code: int = 0):
     error = ReceivedError(code, message, data)
     rpc_message = JSONRPCMessage.create_error(0, code, message, data)
     received_message = ReceivedMessage(JSONRPCMessageType.ResponseError, None, error, type(data), rpc_message)
     self._received_messages.append(received_message)
Ejemplo n.º 4
0
 def test_dispatch_response_error():
     # TODO: Replace with robust logic once error routing is implemented
     # If: I dispatch an error message
     message = JSONRPCMessage.create_error('123', 0, message='', data={})
     server = JSONRPCServer(None, None, logger=utils.get_mock_logger())
     server._dispatch_message(message)