Fix test warnings
This commit is contained in:
parent
258cc7b27f
commit
bc671f05d6
|
|
@ -20,7 +20,6 @@ import java.io.IOException;
|
|||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.EnumSet;
|
||||
import java.util.Set;
|
||||
|
|
@ -29,6 +28,7 @@ import java.util.concurrent.ExecutionException;
|
|||
import java.util.concurrent.Future;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.springframework.core.io.ClassPathResource;
|
||||
|
|
@ -65,14 +65,14 @@ import static org.junit.Assert.fail;
|
|||
*/
|
||||
public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCase {
|
||||
|
||||
private final AsyncRestTemplate template = new AsyncRestTemplate(new HttpComponentsAsyncClientHttpRequestFactory());
|
||||
private final AsyncRestTemplate template = new AsyncRestTemplate(
|
||||
new HttpComponentsAsyncClientHttpRequestFactory());
|
||||
|
||||
|
||||
@Test
|
||||
public void getEntity() throws Exception {
|
||||
Future<ResponseEntity<String>> futureEntity =
|
||||
template.getForEntity(baseUrl + "/{method}", String.class, "get");
|
||||
ResponseEntity<String> entity = futureEntity.get();
|
||||
Future<ResponseEntity<String>> future = template.getForEntity(baseUrl + "/{method}", String.class, "get");
|
||||
ResponseEntity<String> entity = future.get();
|
||||
assertEquals("Invalid content", helloWorld, entity.getBody());
|
||||
assertFalse("No headers", entity.getHeaders().isEmpty());
|
||||
assertEquals("Invalid content-type", textContentType, entity.getHeaders().getContentType());
|
||||
|
|
@ -81,10 +81,9 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
|
||||
@Test
|
||||
public void multipleFutureGets() throws Exception {
|
||||
Future<ResponseEntity<String>> futureEntity =
|
||||
template.getForEntity(baseUrl + "/{method}", String.class, "get");
|
||||
futureEntity.get();
|
||||
futureEntity.get();
|
||||
Future<ResponseEntity<String>> future = template.getForEntity(baseUrl + "/{method}", String.class, "get");
|
||||
future.get();
|
||||
future.get();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -104,9 +103,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
// wait till done
|
||||
while (!futureEntity.isDone()) {
|
||||
}
|
||||
waitTillDone(futureEntity);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -119,9 +116,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
assertEquals("Invalid content-type", textContentType, entity.getHeaders().getContentType());
|
||||
assertEquals("Invalid status code", HttpStatus.OK, entity.getStatusCode());
|
||||
}, ex -> fail(ex.getMessage()));
|
||||
// wait till done
|
||||
while (!futureEntity.isDone()) {
|
||||
}
|
||||
waitTillDone(futureEntity);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -176,8 +171,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!headersFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(headersFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -185,15 +179,14 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
ListenableFuture<HttpHeaders> headersFuture = template.headForHeaders(baseUrl + "/get");
|
||||
headersFuture.addCallback(result -> assertTrue("No Content-Type header",
|
||||
result.containsKey("Content-Type")), ex -> fail(ex.getMessage()));
|
||||
while (!headersFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(headersFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void postForLocation() throws Exception {
|
||||
HttpHeaders entityHeaders = new HttpHeaders();
|
||||
entityHeaders.setContentType(new MediaType("text", "plain", Charset.forName("ISO-8859-15")));
|
||||
HttpEntity<String> entity = new HttpEntity<String>(helloWorld, entityHeaders);
|
||||
HttpEntity<String> entity = new HttpEntity<>(helloWorld, entityHeaders);
|
||||
Future<URI> locationFuture = template.postForLocation(baseUrl + "/{method}", entity, "post");
|
||||
URI location = locationFuture.get();
|
||||
assertEquals("Invalid location", new URI(baseUrl + "/post/1"), location);
|
||||
|
|
@ -203,7 +196,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
public void postForLocationCallback() throws Exception {
|
||||
HttpHeaders entityHeaders = new HttpHeaders();
|
||||
entityHeaders.setContentType(new MediaType("text", "plain", Charset.forName("ISO-8859-15")));
|
||||
HttpEntity<String> entity = new HttpEntity<String>(helloWorld, entityHeaders);
|
||||
HttpEntity<String> entity = new HttpEntity<>(helloWorld, entityHeaders);
|
||||
final URI expected = new URI(baseUrl + "/post/1");
|
||||
ListenableFuture<URI> locationFuture = template.postForLocation(baseUrl + "/{method}", entity, "post");
|
||||
locationFuture.addCallback(new ListenableFutureCallback<URI>() {
|
||||
|
|
@ -216,21 +209,19 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!locationFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(locationFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void postForLocationCallbackWithLambdas() throws Exception {
|
||||
HttpHeaders entityHeaders = new HttpHeaders();
|
||||
entityHeaders.setContentType(new MediaType("text", "plain", Charset.forName("ISO-8859-15")));
|
||||
HttpEntity<String> entity = new HttpEntity<String>(helloWorld, entityHeaders);
|
||||
HttpEntity<String> entity = new HttpEntity<>(helloWorld, entityHeaders);
|
||||
final URI expected = new URI(baseUrl + "/post/1");
|
||||
ListenableFuture<URI> locationFuture = template.postForLocation(baseUrl + "/{method}", entity, "post");
|
||||
locationFuture.addCallback(result -> assertEquals("Invalid location", expected, result),
|
||||
ex -> fail(ex.getMessage()));
|
||||
while (!locationFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(locationFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -257,8 +248,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!responseEntityFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(responseEntityFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -266,10 +256,10 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
HttpEntity<String> requestEntity = new HttpEntity<>(helloWorld);
|
||||
ListenableFuture<ResponseEntity<String>> responseEntityFuture =
|
||||
template.postForEntity(baseUrl + "/{method}", requestEntity, String.class, "post");
|
||||
responseEntityFuture.addCallback(result -> assertEquals("Invalid content", helloWorld, result.getBody()),
|
||||
responseEntityFuture.addCallback(
|
||||
result -> assertEquals("Invalid content", helloWorld, result.getBody()),
|
||||
ex -> fail(ex.getMessage()));
|
||||
while (!responseEntityFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(responseEntityFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -293,8 +283,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!responseEntityFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(responseEntityFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -316,16 +305,14 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!deletedFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(deletedFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void deleteCallbackWithLambdas() throws Exception {
|
||||
ListenableFuture<?> deletedFuture = template.delete(new URI(baseUrl + "/delete"));
|
||||
deletedFuture.addCallback(result -> assertNull(result), ex -> fail(ex.getMessage()));
|
||||
while (!deletedFuture.isDone()) {
|
||||
}
|
||||
deletedFuture.addCallback(Assert::assertNull, ex -> fail(ex.getMessage()));
|
||||
waitTillDone(deletedFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -393,8 +380,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
assertNotNull(ex.getResponseBodyAsString());
|
||||
}
|
||||
});
|
||||
while (!future.isDone()) {
|
||||
}
|
||||
waitTillDone(future);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -407,8 +393,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
assertNotNull(hcex.getStatusText());
|
||||
assertNotNull(hcex.getResponseBodyAsString());
|
||||
});
|
||||
while (!future.isDone()) {
|
||||
}
|
||||
waitTillDone(future);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -445,8 +430,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
assertNotNull(hsex.getResponseBodyAsString());
|
||||
}
|
||||
});
|
||||
while (!future.isDone()) {
|
||||
}
|
||||
waitTillDone(future);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -459,8 +443,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
assertNotNull(hsex.getStatusText());
|
||||
assertNotNull(hsex.getResponseBodyAsString());
|
||||
});
|
||||
while (!future.isDone()) {
|
||||
}
|
||||
waitTillDone(future);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -485,8 +468,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!allowedFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(allowedFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -495,8 +477,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
allowedFuture.addCallback(result -> assertEquals("Invalid response",
|
||||
EnumSet.of(HttpMethod.GET, HttpMethod.OPTIONS, HttpMethod.HEAD,HttpMethod.TRACE), result),
|
||||
ex -> fail(ex.getMessage()));
|
||||
while (!allowedFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(allowedFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -529,8 +510,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!responseFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(responseFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -543,8 +523,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
template.exchange(baseUrl + "/{method}", HttpMethod.GET, requestEntity, String.class, "get");
|
||||
responseFuture.addCallback(result -> assertEquals("Invalid content", helloWorld,
|
||||
result.getBody()), ex -> fail(ex.getMessage()));
|
||||
while (!responseFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(responseFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -552,7 +531,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
requestHeaders.set("MyHeader", "MyValue");
|
||||
requestHeaders.setContentType(MediaType.TEXT_PLAIN);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<String>(helloWorld, requestHeaders);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<>(helloWorld, requestHeaders);
|
||||
Future<ResponseEntity<Void>> resultFuture =
|
||||
template.exchange(baseUrl + "/{method}", HttpMethod.POST, requestEntity, Void.class, "post");
|
||||
ResponseEntity<Void> result = resultFuture.get();
|
||||
|
|
@ -566,7 +545,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
requestHeaders.set("MyHeader", "MyValue");
|
||||
requestHeaders.setContentType(MediaType.TEXT_PLAIN);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<String>(helloWorld, requestHeaders);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<>(helloWorld, requestHeaders);
|
||||
ListenableFuture<ResponseEntity<Void>> resultFuture =
|
||||
template.exchange(baseUrl + "/{method}", HttpMethod.POST, requestEntity, Void.class, "post");
|
||||
final URI expected =new URI(baseUrl + "/post/1");
|
||||
|
|
@ -581,8 +560,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
fail(ex.getMessage());
|
||||
}
|
||||
});
|
||||
while (!resultFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(resultFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
@ -590,7 +568,7 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
HttpHeaders requestHeaders = new HttpHeaders();
|
||||
requestHeaders.set("MyHeader", "MyValue");
|
||||
requestHeaders.setContentType(MediaType.TEXT_PLAIN);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<String>(helloWorld, requestHeaders);
|
||||
HttpEntity<String> requestEntity = new HttpEntity<>(helloWorld, requestHeaders);
|
||||
ListenableFuture<ResponseEntity<Void>> resultFuture =
|
||||
template.exchange(baseUrl + "/{method}", HttpMethod.POST, requestEntity, Void.class, "post");
|
||||
final URI expected =new URI(baseUrl + "/post/1");
|
||||
|
|
@ -598,13 +576,12 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
assertEquals("Invalid location", expected, result.getHeaders().getLocation());
|
||||
assertFalse(result.hasBody());
|
||||
}, ex -> fail(ex.getMessage()));
|
||||
while (!resultFuture.isDone()) {
|
||||
}
|
||||
waitTillDone(resultFuture);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void multipart() throws Exception {
|
||||
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<String, Object>();
|
||||
MultiValueMap<String, Object> parts = new LinkedMultiValueMap<>();
|
||||
parts.add("name 1", "value 1");
|
||||
parts.add("name 2", "value 2+1");
|
||||
parts.add("name 2", "value 2+2");
|
||||
|
|
@ -646,6 +623,12 @@ public class AsyncRestTemplateIntegrationTests extends AbstractJettyServerTestCa
|
|||
assertNull(interceptor.exception);
|
||||
}
|
||||
|
||||
@SuppressWarnings("StatementWithEmptyBody")
|
||||
private void waitTillDone(ListenableFuture<?> future) {
|
||||
while (!future.isDone()) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static class RequestInterceptor implements AsyncClientHttpRequestInterceptor {
|
||||
|
||||
|
|
|
|||
|
|
@ -653,6 +653,7 @@ Spring 4.3 also improves the caching abstraction as follows:
|
|||
=== Web Improvements
|
||||
|
||||
* New `@RestControllerAdvice` annotation combines `@ControllerAdvice` with `@ResponseBody`.
|
||||
* `AsyncRestTemplate` supports request interception.
|
||||
|
||||
=== Testing Improvements
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue