def test_handle_request_string(self): request1 = JSONRPC20Serializer.assemble_request( 'adder', (2, 3) ) request2 = JSONRPC20Serializer.assemble_request( 'adder', (4, 3) ) requests_string = JSONRPC20Serializer.json_dumps([request1, request2]) response_string = self.app.handle_request_string(requests_string) responses_data = JSONRPC20Serializer.json_loads(response_string) assert len(responses_data) == 2 response_json = responses_data[0] assert 'error' not in response_json assert response_json['id'] == request1['id'] assert response_json['result'] == 5 response_json = responses_data[1] assert 'error' not in response_json assert response_json['id'] == request2['id'] assert response_json['result'] == 7
def test_handle_request_string(self): request1 = JSONRPC20Serializer.assemble_request( 'pass_through', (2, 3) ) request_id = request1['id'] requests_string = JSONRPC20Serializer.json_dumps(request1) response_string = self.app.handle_request_string( requests_string, some_context_data='value', more_context_data=['value'] ) response_json = JSONRPC20Serializer.json_loads(response_string) assert 'error' not in response_json assert response_json['id'] == request1['id'] args, kwargs = response_json['result'] assert args == [2, 3] self.assertEqual( dict( request_id=request_id, some_context_data='value', more_context_data=['value'] ), kwargs )
def test_handle_wsgi_request(self): request1 = JSONRPC20Serializer.assemble_request('adder', (2, 3)) request2 = JSONRPC20Serializer.assemble_request('adder', (4, 3)) requests_string = JSONRPC20Serializer.json_dumps([request1, request2]) environ = MockWSGIEnviron(requests_string, [('CONTENT_TYPE', 'application/json'), ('CONTENT_LENGTH', len(requests_string))]) start_response = MockWSGIStartResponse() response_iterable = self.app(environ, start_response) assert response_iterable response_string = ''.join(response_iterable) responses_data = JSONRPC20Serializer.json_loads(response_string) assert len(responses_data) == 2 response_json = responses_data[0] assert 'error' not in response_json assert response_json['id'] == request1['id'] assert response_json['result'] == 5 response_json = responses_data[1] assert 'error' not in response_json assert response_json['id'] == request2['id'] assert response_json['result'] == 7
def test_handle_request_string(self): request1 = JSONRPC20Serializer.assemble_request( 'adder', (2, 3) ) request2 = JSONRPC20Serializer.assemble_request( 'adder', (4, 3) ) requests_string = JSONRPC20Serializer.json_dumps([request1, request2]) response_string = self.app.handle_request_string(requests_string) responses_data = JSONRPC20Serializer.json_loads(response_string) assert len(responses_data) == 2 response_json = responses_data[0] assert 'error' not in response_json assert response_json['id'] == request1['id'] assert response_json['result'] == 5 response_json = responses_data[1] assert 'error' not in response_json assert response_json['id'] == request2['id'] assert response_json['result'] == 7
def test_handle_wsgi_request(self): request1 = JSONRPC20Serializer.assemble_request( 'adder', (2, 3) ) request2 = JSONRPC20Serializer.assemble_request( 'adder', (4, 3) ) requests_string = JSONRPC20Serializer.json_dumps([request1, request2]) environ = MockWSGIEnviron( requests_string, [ ('CONTENT_TYPE', 'application/json'), ('CONTENT_LENGTH', len(requests_string)) ] ) start_response = MockWSGIStartResponse() response_iterable = self.app(environ, start_response) assert response_iterable response_string = ''.join(response_iterable) responses_data = JSONRPC20Serializer.json_loads(response_string) assert len(responses_data) == 2 response_json = responses_data[0] assert 'error' not in response_json assert response_json['id'] == request1['id'] assert response_json['result'] == 5 response_json = responses_data[1] assert 'error' not in response_json assert response_json['id'] == request2['id'] assert response_json['result'] == 7