@Test public void test() throws Exception { RestTemplate template = new RestTemplate(new MockMvcClientHttpRequestFactory(this.mockMvc)); String result = template.getForObject("/foo", String.class); assertEquals("bar", result); }
private ClientHttpResponse getClientHttpResponse( HttpMethod httpMethod, URI uri, HttpHeaders requestHeaders, byte[] requestBody) { try { MockHttpServletResponse servletResponse = this.mockMvc .perform(request(httpMethod, uri).content(requestBody).headers(requestHeaders)) .andReturn() .getResponse(); HttpStatus status = HttpStatus.valueOf(servletResponse.getStatus()); byte[] body = servletResponse.getContentAsByteArray(); MockClientHttpResponse clientResponse = new MockClientHttpResponse(body, status); clientResponse.getHeaders().putAll(getResponseHeaders(servletResponse)); return clientResponse; } catch (Exception ex) { byte[] body = ex.toString().getBytes(StandardCharsets.UTF_8); return new MockClientHttpResponse(body, HttpStatus.INTERNAL_SERVER_ERROR); } }
@Test @SuppressWarnings("deprecation") public void testAsyncTemplate() throws Exception { org.springframework.web.client.AsyncRestTemplate template = new org.springframework.web.client.AsyncRestTemplate( new MockMvcClientHttpRequestFactory(this.mockMvc)); ListenableFuture<ResponseEntity<String>> entity = template.getForEntity("/foo", String.class); assertEquals("bar", entity.get().getBody()); }
private ClientHttpResponse getClientHttpResponse( HttpMethod httpMethod, URI uri, HttpHeaders requestHeaders, byte[] requestBody) { try { MockHttpServletResponse servletResponse = this.mockMvc .perform(request(httpMethod, uri).content(requestBody).headers(requestHeaders)) .andReturn() .getResponse(); HttpStatus status = HttpStatus.valueOf(servletResponse.getStatus()); byte[] body = servletResponse.getContentAsByteArray(); MockClientHttpResponse clientResponse = new MockClientHttpResponse(body, status); clientResponse.getHeaders().putAll(getResponseHeaders(servletResponse)); return clientResponse; } catch (Exception ex) { byte[] body = ex.toString().getBytes(StandardCharsets.UTF_8); return new MockClientHttpResponse(body, HttpStatus.INTERNAL_SERVER_ERROR); } }
@Test public void testHttpProxyFlow() throws Exception { ClientHttpRequestFactory mockRequestFactory = new MockMvcClientHttpRequestFactory(this.mockMvc); this.serviceInternalGatewayHandler.setRequestFactory(mockRequestFactory); this.mockMvc.perform( get("/service") .with(httpBasic("admin", "admin")) .param("name", "foo")) .andExpect( content() .string("FOO")); this.mockMvc.perform( get("/service") .with(httpBasic("user", "user")) .param("name", "name")) .andExpect( status() .isForbidden()) .andExpect( content() .string("Error")); }