Пример #1
0
    def test_detect_batch_mode(self):

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(
            json.dumps(self.get_base_response_object()))
        assert not is_batch_mode

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(
            json.dumps([self.get_base_response_object()]))
        assert is_batch_mode
Пример #2
0
    def test_detect_batch_mode(self):

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(json.dumps(
            self.get_base_response_object()
        ))
        assert not is_batch_mode

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(json.dumps(
            [self.get_base_response_object()]
        ))
        assert is_batch_mode
Пример #3
0
    def test_response_parser_complains_about_deformed_json(self):

        response_string = json.dumps("blah") + '}'
        with self.assertRaises(errors.RPCParseError):
            responses, is_batch_mode = JSONRPC20Serializer.parse_response(response_string)

        response_string = json.dumps("blah")
        with self.assertRaises(errors.RPCParseError):
            responses, is_batch_mode = JSONRPC20Serializer.parse_response(response_string)

        response_string = json.dumps([])
        with self.assertRaises(errors.RPCParseError):
            responses, is_batch_mode = JSONRPC20Serializer.parse_response(response_string)
Пример #4
0
    def test_response_parser_complains_about_deformed_json(self):

        response_string = json.dumps("blah") + '}'
        with self.assertRaises(errors.RPCParseError):
            responses, is_batch_mode = JSONRPC20Serializer.parse_response(
                response_string)

        response_string = json.dumps("blah")
        with self.assertRaises(errors.RPCParseError):
            responses, is_batch_mode = JSONRPC20Serializer.parse_response(
                response_string)

        response_string = json.dumps([])
        with self.assertRaises(errors.RPCParseError):
            responses, is_batch_mode = JSONRPC20Serializer.parse_response(
                response_string)
Пример #5
0
    def test_response_parser_success_non_batch(self):

        response_data1 = self.get_base_response_object()

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(
            json.dumps(response_data1))
        assert len(responses)
        assert not is_batch_mode
        result, request_id, error = responses[0]
        assert not error
        assert request_id and request_id == response_data1['id']
        assert result and result == response_data1['result']
Пример #6
0
    def test_response_parser_success_non_batch(self):

        response_data1 = self.get_base_response_object()

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(json.dumps(
            response_data1
        ))
        assert len(responses)
        assert not is_batch_mode
        result, request_id, error = responses[0]
        assert not error
        assert request_id and request_id == response_data1['id']
        assert result and result == response_data1['result']
Пример #7
0
    def test_response_parser_success_batch(self):

        response_data1 = self.get_base_response_object()
        response_data2 = self.get_base_response_object(
            result=None, error=errors.RPCMethodNotFound())

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(
            json.dumps([response_data1, response_data2]))
        assert len(responses)
        assert is_batch_mode

        result, request_id, error = responses[0]
        assert not error
        assert request_id and request_id == response_data1['id']
        assert result and result == response_data1['result']

        result, request_id, error = responses[1]
        assert error
        assert request_id and request_id == response_data2['id']
        assert not result
Пример #8
0
    def test_response_parser_success_batch(self):

        response_data1 = self.get_base_response_object()
        response_data2 = self.get_base_response_object(result=None, error=errors.RPCMethodNotFound())

        responses, is_batch_mode = JSONRPC20Serializer.parse_response(json.dumps([
            response_data1,
            response_data2
        ]))
        assert len(responses)
        assert is_batch_mode

        result, request_id, error = responses[0]
        assert not error
        assert request_id and request_id == response_data1['id']
        assert result and result == response_data1['result']

        result, request_id, error = responses[1]
        assert error
        assert request_id and request_id == response_data2['id']
        assert not result