private RestMockResponse createrestMockResponse(String name) { RestMockResponse dto = new RestMockResponse(); dto.setName(name); return dto; } }
String body = bodyEntry.getValue(); RestMockResponse restMockResponse = generateResponse(httpStatusCode, response); restMockResponse.setName(restMockResponse.getName() + " (" + contentType + ")"); restMockResponse.setBody(body);
/** * The method generates a default response. * @return The newly generated {@link RestMockResponse}. */ protected RestMockResponse generateResponse(){ RestMockResponse restMockResponse = new RestMockResponse(); restMockResponse.setName(AUTO_GENERATED_MOCK_RESPONSE_DEFAULT_NAME); restMockResponse.setHttpStatusCode(DEFAULT_RESPONSE_CODE); restMockResponse.setStatus(RestMockResponseStatus.ENABLED); restMockResponse.setUsingExpressions(true); return restMockResponse; }
/** * The method generates a mocked response based on the provided {@link Response} and the * <code>httpStatusCode</code>. * @param httpStatusCode The HTTP status code that the mocked response will have. Please note that * any mock response with status code different from OK (200), will be * marked as disabled. * @param response The Swagger response that the mocked response will be based on. * @return A new {@link RestMockResponse} based on the provided {@link Response}. */ private RestMockResponse generateResponse(final int httpStatusCode, final Response response){ RestMockResponse restMockResponse = new RestMockResponse(); restMockResponse.setName(response.getDescription()); restMockResponse.setHttpStatusCode(httpStatusCode); restMockResponse.setUsingExpressions(true); if(httpStatusCode == DEFAULT_RESPONSE_CODE){ restMockResponse.setStatus(RestMockResponseStatus.ENABLED); } else { restMockResponse.setStatus(RestMockResponseStatus.DISABLED); } if(response.getHeaders() != null){ for(Map.Entry<String, Property> headerEntry : response.getHeaders().entrySet()){ String headerName = headerEntry.getKey(); HttpHeader httpHeader = new HttpHeader(); httpHeader.setName(headerName); // Swagger does not include an example value for the response. restMockResponse.getHttpHeaders().add(httpHeader); } } return restMockResponse; }
int httpStatusCode = super.extractHttpStatusCode(responseCode); RestMockResponse restMockResponse = new RestMockResponse(); restMockResponse.setName(RESPONSE_NAME_PREFIX + (index + 1)); restMockResponse.setHttpStatusCode(httpStatusCode);
int httpStatusCode = super.extractHttpStatusCode(responseCode); RestMockResponse restMockResponse = new RestMockResponse(); restMockResponse.setName(RESPONSE_NAME_PREFIX + (index + 1)); restMockResponse.setHttpStatusCode(httpStatusCode);
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; } }
restMockResponse.setName(String.format("%s %s", copyOfLabel, restMockResponse.getName())); serviceProcessor.process(CreateRestMockResponseInput.builder() .projectId(restProjectId)
/** * 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; }
@Test public void projectFunctionalityUpdate() throws Exception { final String projectId = "projectId"; final String applicationId = "applicationId"; final String resourceId = "resourceId"; final String methodId = "methjodId"; final String[] mockResponses = {"restMethod1", "restMethod2"}; final RestMockResponse restMockResponse1 = new RestMockResponse(); restMockResponse1.setName("restMockResponse1"); final RestMockResponse restMockResponse2 = new RestMockResponse(); restMockResponse2.setName("restMockResponse2"); Mockito.when(serviceProcessor.process(Mockito.any(ReadRestMockResponseInput.class))) .thenReturn(ReadRestMockResponseOutput.builder().restMockResponse(restMockResponse1).build()) .thenReturn(ReadRestMockResponseOutput.builder().restMockResponse(restMockResponse2).build()); final RestMockResponseModifierCommand command = new RestMockResponseModifierCommand(); command.setRestMockResponseIds(mockResponses); command.setRestMockResponseStatus("ENABLED"); final MockHttpServletRequestBuilder message = MockMvcRequestBuilders.post(SERVICE_URL + PROJECT + SLASH + projectId + SLASH + APPLICATION + SLASH + applicationId + SLASH + RESOURCE + SLASH + resourceId + SLASH + METHOD + SLASH + methodId) .param("action", "update").flashAttr("command", command); mockMvc.perform(message) .andExpect(MockMvcResultMatchers.status().is3xxRedirection()) .andExpect(MockMvcResultMatchers.model().size(1)) .andExpect(MockMvcResultMatchers.redirectedUrl("/web/rest/project/" + projectId + "/application/" + applicationId + "/resource/" + resourceId + "/method/" + methodId)); Mockito.verify(serviceProcessor, Mockito.times(2)).process(Mockito.isA(ReadRestMockResponseInput.class)); Mockito.verify(serviceProcessor, Mockito.times(2)).process(Mockito.isA(UpdateRestMockResponseInput.class)); }
restMockResponse1.setHttpStatusCode(200); restMockResponse1.setId("MockResponseId1"); restMockResponse1.setName("Mocked response 1"); restMockResponse1.setStatus(RestMockResponseStatus.ENABLED); restMockResponse1.setUsingExpressions(false); restMockResponse2.setHttpStatusCode(200); restMockResponse2.setId("MockResponseId2"); restMockResponse2.setName("Mocked response 2"); restMockResponse2.setStatus(RestMockResponseStatus.ENABLED); restMockResponse2.setUsingExpressions(false);
restMockResponse.setHttpStatusCode(200); restMockResponse.setId("MockResponseId"); restMockResponse.setName("Mocked response"); restMockResponse.setStatus(RestMockResponseStatus.ENABLED); restMockResponse.setUsingExpressions(false);
RestMockResponse mockResponse = new RestMockResponse(); mockResponse.setId(mockResponseV1.getId()); mockResponse.setName(mockResponseV1.getName()); mockResponse.setBody(mockResponseV1.getBody()); mockResponse.setStatus(mockResponseV1.getStatus());
/** * 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()); } }