|
|
|
|
@ -1,5 +1,5 @@
@@ -1,5 +1,5 @@
|
|
|
|
|
/* |
|
|
|
|
* Copyright 2002-2014 the original author or authors. |
|
|
|
|
* Copyright 2002-2015 the original author or authors. |
|
|
|
|
* |
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
|
@ -49,6 +49,7 @@ import static org.mockito.BDDMockito.*;
@@ -49,6 +49,7 @@ import static org.mockito.BDDMockito.*;
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @author Arjen Poutsma |
|
|
|
|
* @author Rossen Stoyanchev |
|
|
|
|
*/ |
|
|
|
|
@SuppressWarnings("unchecked") |
|
|
|
|
public class RestTemplateTests { |
|
|
|
|
@ -135,7 +136,7 @@ public class RestTemplateTests {
@@ -135,7 +136,7 @@ public class RestTemplateTests {
|
|
|
|
|
given(response.getStatusCode()).willReturn(status); |
|
|
|
|
given(response.getStatusText()).willReturn(status.getReasonPhrase()); |
|
|
|
|
|
|
|
|
|
Map<String, String> vars = new HashMap<String, String>(2); |
|
|
|
|
Map<String, String> vars = new HashMap<>(2); |
|
|
|
|
vars.put("first", null); |
|
|
|
|
vars.put("last", "foo"); |
|
|
|
|
template.execute("http://example.com/{first}-{last}", HttpMethod.GET, null, null, vars); |
|
|
|
|
@ -278,7 +279,7 @@ public class RestTemplateTests {
@@ -278,7 +279,7 @@ public class RestTemplateTests {
|
|
|
|
|
given(response.getHeaders()).willReturn(new HttpHeaders()); |
|
|
|
|
given(response.getBody()).willReturn(null); |
|
|
|
|
|
|
|
|
|
Map<String, String> uriVariables = new HashMap<String, String>(2); |
|
|
|
|
Map<String, String> uriVariables = new HashMap<>(2); |
|
|
|
|
uriVariables.put("hotel", "1"); |
|
|
|
|
uriVariables.put("publicpath", "pics/logo.png"); |
|
|
|
|
uriVariables.put("scale", "150x150"); |
|
|
|
|
@ -351,7 +352,7 @@ public class RestTemplateTests {
@@ -351,7 +352,7 @@ public class RestTemplateTests {
|
|
|
|
|
|
|
|
|
|
HttpHeaders entityHeaders = new HttpHeaders(); |
|
|
|
|
entityHeaders.setContentType(contentType); |
|
|
|
|
HttpEntity<String> entity = new HttpEntity<String>(helloWorld, entityHeaders); |
|
|
|
|
HttpEntity<String> entity = new HttpEntity<>(helloWorld, entityHeaders); |
|
|
|
|
|
|
|
|
|
URI result = template.postForLocation("http://example.com", entity); |
|
|
|
|
assertEquals("Invalid POST result", expected, result); |
|
|
|
|
@ -379,7 +380,7 @@ public class RestTemplateTests {
@@ -379,7 +380,7 @@ public class RestTemplateTests {
|
|
|
|
|
|
|
|
|
|
HttpHeaders entityHeaders = new HttpHeaders(); |
|
|
|
|
entityHeaders.set("MyHeader", "MyValue"); |
|
|
|
|
HttpEntity<String> entity = new HttpEntity<String>(helloWorld, entityHeaders); |
|
|
|
|
HttpEntity<String> entity = new HttpEntity<>(helloWorld, entityHeaders); |
|
|
|
|
|
|
|
|
|
URI result = template.postForLocation("http://example.com", entity); |
|
|
|
|
assertEquals("Invalid POST result", expected, result); |
|
|
|
|
@ -622,21 +623,27 @@ public class RestTemplateTests {
@@ -622,21 +623,27 @@ public class RestTemplateTests {
|
|
|
|
|
verify(response).close(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Issue: SPR-9325, SPR-13860
|
|
|
|
|
|
|
|
|
|
@Test |
|
|
|
|
public void ioException() throws Exception { |
|
|
|
|
String url = "http://example.com/resource?access_token=123"; |
|
|
|
|
|
|
|
|
|
given(converter.canRead(String.class, null)).willReturn(true); |
|
|
|
|
MediaType mediaType = new MediaType("foo", "bar"); |
|
|
|
|
given(converter.getSupportedMediaTypes()).willReturn(Collections.singletonList(mediaType)); |
|
|
|
|
given(requestFactory.createRequest(new URI("http://example.com/resource"), HttpMethod.GET)).willReturn(request); |
|
|
|
|
given(requestFactory.createRequest(new URI(url), HttpMethod.GET)).willReturn(request); |
|
|
|
|
given(request.getHeaders()).willReturn(new HttpHeaders()); |
|
|
|
|
given(request.execute()).willThrow(new IOException()); |
|
|
|
|
given(request.execute()).willThrow(new IOException("Socket failure")); |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
template.getForObject("http://example.com/resource", String.class); |
|
|
|
|
template.getForObject(url, String.class); |
|
|
|
|
fail("RestClientException expected"); |
|
|
|
|
} |
|
|
|
|
catch (ResourceAccessException ex) { |
|
|
|
|
// expected
|
|
|
|
|
assertEquals("I/O error on GET request for \"http://example.com/resource\": " + |
|
|
|
|
"Socket failure; nested exception is java.io.IOException: Socket failure", |
|
|
|
|
ex.getMessage()); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -669,7 +676,7 @@ public class RestTemplateTests {
@@ -669,7 +676,7 @@ public class RestTemplateTests {
|
|
|
|
|
|
|
|
|
|
HttpHeaders entityHeaders = new HttpHeaders(); |
|
|
|
|
entityHeaders.set("MyHeader", "MyValue"); |
|
|
|
|
HttpEntity<String> requestEntity = new HttpEntity<String>(body, entityHeaders); |
|
|
|
|
HttpEntity<String> requestEntity = new HttpEntity<>(body, entityHeaders); |
|
|
|
|
ResponseEntity<Integer> result = template.exchange("http://example.com", HttpMethod.POST, requestEntity, Integer.class); |
|
|
|
|
assertEquals("Invalid POST result", expected, result.getBody()); |
|
|
|
|
assertEquals("Invalid Content-Type", MediaType.TEXT_PLAIN, result.getHeaders().getContentType()); |
|
|
|
|
@ -703,7 +710,7 @@ public class RestTemplateTests {
@@ -703,7 +710,7 @@ public class RestTemplateTests {
|
|
|
|
|
responseHeaders.setContentLength(10); |
|
|
|
|
given(response.getStatusCode()).willReturn(HttpStatus.OK); |
|
|
|
|
given(response.getHeaders()).willReturn(responseHeaders); |
|
|
|
|
given(response.getBody()).willReturn(new ByteArrayInputStream(new Integer(42).toString().getBytes())); |
|
|
|
|
given(response.getBody()).willReturn(new ByteArrayInputStream(Integer.toString(42).getBytes())); |
|
|
|
|
given(converter.canRead(intList.getType(), null, MediaType.TEXT_PLAIN)).willReturn(true); |
|
|
|
|
given(converter.read(eq(intList.getType()), eq(null), any(HttpInputMessage.class))).willReturn(expected); |
|
|
|
|
given(response.getStatusCode()).willReturn(HttpStatus.OK); |
|
|
|
|
@ -713,7 +720,7 @@ public class RestTemplateTests {
@@ -713,7 +720,7 @@ public class RestTemplateTests {
|
|
|
|
|
|
|
|
|
|
HttpHeaders entityHeaders = new HttpHeaders(); |
|
|
|
|
entityHeaders.set("MyHeader", "MyValue"); |
|
|
|
|
HttpEntity<String> requestEntity = new HttpEntity<String>(requestBody, entityHeaders); |
|
|
|
|
HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, entityHeaders); |
|
|
|
|
ResponseEntity<List<Integer>> result = template.exchange("http://example.com", HttpMethod.POST, requestEntity, intList); |
|
|
|
|
assertEquals("Invalid POST result", expected, result.getBody()); |
|
|
|
|
assertEquals("Invalid Content-Type", MediaType.TEXT_PLAIN, result.getHeaders().getContentType()); |
|
|
|
|
|