Esempio n. 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
Esempio n. 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
Esempio n. 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)
Esempio n. 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)
Esempio n. 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']
Esempio n. 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']
Esempio n. 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
Esempio n. 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