RestMockResponse restMockResponse = generateResponse(httpStatusCode, response); restMockResponse.setName(restMockResponse.getName() + " (" + contentType + ")"); restMockResponse.setBody(body);
@PreAuthorize("hasAuthority('READER') or hasAuthority('MODIFIER') or hasAuthority('ADMIN')") @RequestMapping(value = "/{restProjectId}/application/{restApplicationId}/resource/{restResourceId}/method/{restMethodId}/create/response", method = RequestMethod.GET) public ModelAndView displayCreatePage(@PathVariable final String restProjectId, @PathVariable final String restApplicationId, @PathVariable final String restResourceId, @PathVariable final String restMethodId) { final ReadRestMethodOutput output = serviceProcessor.process(ReadRestMethodInput.builder() .restProjectId(restProjectId) .restApplicationId(restApplicationId) .restResourceId(restResourceId) .restMethodId(restMethodId).build()); final ReadRestResourceQueryParametersOutput resourceQueryParameters = serviceProcessor.process(ReadRestResourceQueryParametersInput.builder() .projectId(restProjectId) .applicationId(restApplicationId) .resourceId(restResourceId) .build()); final RestMockResponse mockResponse = new RestMockResponse(); mockResponse.setBody(output.getRestMethod().getDefaultBody()); mockResponse.setHttpStatusCode(DEFAULT_HTTP_STATUS_CODE); final ModelAndView model = createPartialModelAndView(PAGE); model.addObject(REST_PROJECT_ID, restProjectId); model.addObject(REST_APPLICATION_ID, restApplicationId); model.addObject(REST_RESOURCE_ID, restResourceId); model.addObject(REST_METHOD_ID, restMethodId); model.addObject(REST_MOCK_RESPONSE, mockResponse); model.addObject(REST_MOCK_RESPONSE_STATUSES, RestMockResponseStatus.values()); model.addObject(REST_QUERY_PARAMETERS, resourceQueryParameters.getQueries()); return model; }
restMockResponse.setBody(body);
restMockResponse.setBody(body);
public static RestMockResponse generateRestMockResponse(){ final RestParameterQuery parameterQuery = new RestParameterQuery(); parameterQuery.setParameter("Parameter"); parameterQuery.setQuery("Query"); parameterQuery.setMatchAny(false); parameterQuery.setMatchCase(false); parameterQuery.setMatchRegex(false); final RestMockResponse restMockResponse = new RestMockResponse(); restMockResponse.setName("Rest mock response name"); restMockResponse.setBody("Rest mock response body"); restMockResponse.setId("REST MOCK RESPONSE"); restMockResponse.setStatus(RestMockResponseStatus.ENABLED); restMockResponse.setHttpStatusCode(200); restMockResponse.setParameterQueries(ImmutableList.of(parameterQuery)); return restMockResponse; } }
/** * The method provides the functionality to forward a request to another endpoint. The response * will be recorded and can later be used as a mocked response * @param restRequest The incoming request * @param restMethod The REST method which the incoming request belongs to * @return The response received from the external endpoint */ protected RestResponse forwardRequestAndRecordResponse(final RestRequest restRequest, final String projectId, final String applicationId, final String resourceId, final RestMethod restMethod, final Map<String, String> pathParameters){ final RestResponse response = forwardRequest(restRequest, projectId, applicationId, resourceId, restMethod, pathParameters); final RestMockResponse mockResponse = new RestMockResponse(); final Date date = new Date(); mockResponse.setBody(response.getBody()); mockResponse.setStatus(RestMockResponseStatus.ENABLED); mockResponse.setHttpHeaders(response.getHttpHeaders()); mockResponse.setName(RECORDED_RESPONSE_NAME + SPACE + DATE_FORMAT.format(date)); mockResponse.setHttpStatusCode(response.getHttpStatusCode()); serviceProcessor.processAsync(CreateRestMockResponseInput.builder() .projectId(projectId) .applicationId(applicationId) .resourceId(resourceId) .methodId(restMethod.getId()) .mockResponse(mockResponse) .build()); return response; }
restMockResponse1.setBody(XML_RESPONSE_BODY); restMockResponse1.setContentEncodings(new ArrayList<>()); restMockResponse1.setHttpHeaders(Arrays.asList(contentTypeHeader, acceptHeader)); restMockResponse2.setBody(QUERY_DEFAULT_RESPONSE_BODY); restMockResponse2.setContentEncodings(new ArrayList<>()); restMockResponse2.setHttpHeaders(Arrays.asList(contentTypeHeader, acceptHeader));
restMockResponse.setBody(XML_RESPONSE_BODY); restMockResponse.setContentEncodings(new ArrayList<>()); restMockResponse.setHttpHeaders(Arrays.asList(contentTypeHeader, acceptHeader));
mockResponse.setId(mockResponseV1.getId()); mockResponse.setName(mockResponseV1.getName()); mockResponse.setBody(mockResponseV1.getBody()); mockResponse.setStatus(mockResponseV1.getStatus()); mockResponse.setHttpStatusCode(mockResponseV1.getHttpStatusCode());
/** * The process message is responsible for processing an incoming serviceTask and generate * a response based on the incoming serviceTask input * @param serviceTask The serviceTask that will be processed by the service * @return A result based on the processed incoming serviceTask * @see ServiceTask * @see ServiceResult */ @Override public ServiceResult<UpdateRestMockResponseOutput> process(final ServiceTask<UpdateRestMockResponseInput> serviceTask) { final UpdateRestMockResponseInput input = serviceTask.getInput(); final RestMockResponse existing = this.mockResponseRepository.findOne(input.getRestMockResponseId()); final RestMockResponse updatedRestMockResponse = input.getRestMockResponse(); existing.setName(updatedRestMockResponse.getName()); existing.setBody(updatedRestMockResponse.getBody()); existing.setHttpStatusCode(updatedRestMockResponse.getHttpStatusCode()); existing.setHttpHeaders(updatedRestMockResponse.getHttpHeaders()); existing.setStatus(updatedRestMockResponse.getStatus()); existing.setUsingExpressions(updatedRestMockResponse.isUsingExpressions()); existing.setParameterQueries(updatedRestMockResponse.getParameterQueries()); existing.setXpathExpressions(updatedRestMockResponse.getXpathExpressions()); existing.setJsonPathExpressions(updatedRestMockResponse.getJsonPathExpressions()); this.mockResponseRepository.update(input.getRestMockResponseId(), existing); return createServiceResult(UpdateRestMockResponseOutput.builder() .updatedRestMockResponse(updatedRestMockResponse) .build()); } }