Ejemplo n.º 1
0
 def handle_error(self, data: dict) -> protocol.RpcEntity:
     try:
         return protocol.RpcError(data.get('id'),
                                  protocol.RpcErrorDetails(
                                      data['error']['code'],
                                      data['error']['message'],
                                      data['error'].get('data'),
                                  ),
                                  jsonrpc=self.version)
     except KeyError as e:
         return protocol.RpcMalformed(
             data.get(id),
             exceptions.JsonRpcInvalidRequest(
                 message=f'missing attribute [{e}] in error: {data}'))
Ejemplo n.º 2
0
def test_error_nodata():
    reality = pro.RpcError(0, pro.RpcErrorDetails(1234, 'hello there',
                                                  None)).to_dict()

    expectation = {
        'id': 0,
        'jsonrpc': '2.0',
        'error': {
            'code': 1234,
            'message': 'hello there'
        }
    }

    assert expectation == reality
Ejemplo n.º 3
0
 def to_error(self) -> protocol.RpcErrorDetails:
     return protocol.RpcErrorDetails(code=self.code,
                                     message=self.message,
                                     data=self.data)
def test_bytes_to_error_data(utf8: JsonSerializer):
    r = pro.RpcError(0, pro.RpcErrorDetails(123, 'yeet', 'additional errorz'))
    expectation = r.to_dict()
    reality = utf8.bytes_to_entity(utf8.entity_to_bytes(r)).to_dict()

    assert expectation == reality