You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2018/09/15 12:51:34 UTC
httpcomponents-core git commit: Increased socket and result timeouts
in reactive streams integration tests;
removed fixed timeouts for test duration [Forced Update!]
Repository: httpcomponents-core
Updated Branches:
refs/heads/master 82bcce8dc -> da597c826 (forced update)
Increased socket and result timeouts in reactive streams integration tests; removed fixed timeouts for test duration
Project: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/commit/da597c82
Tree: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/tree/da597c82
Diff: http://git-wip-us.apache.org/repos/asf/httpcomponents-core/diff/da597c82
Branch: refs/heads/master
Commit: da597c8267d3fff958dd28d4e95d0df7eca7375f
Parents: 994458c
Author: Oleg Kalnichevski <ol...@apache.org>
Authored: Sat Sep 15 11:46:04 2018 +0200
Committer: Oleg Kalnichevski <ol...@apache.org>
Committed: Sat Sep 15 14:48:13 2018 +0200
----------------------------------------------------------------------
.../testing/reactive/ReactiveClientTest.java | 43 +++++++++++---------
1 file changed, 24 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/httpcomponents-core/blob/da597c82/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/reactive/ReactiveClientTest.java
----------------------------------------------------------------------
diff --git a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/reactive/ReactiveClientTest.java b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/reactive/ReactiveClientTest.java
index 57e0655..7479c8c 100644
--- a/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/reactive/ReactiveClientTest.java
+++ b/httpcore5-testing/src/test/java/org/apache/hc/core5/testing/reactive/ReactiveClientTest.java
@@ -110,7 +110,9 @@ public class ReactiveClientTest {
{ HttpVersionPolicy.FORCE_HTTP_2 }
});
}
- private static final Timeout TIMEOUT = Timeout.ofSeconds(3000);
+ private static final Timeout SOCKET_TIMEOUT = Timeout.ofSeconds(30);
+ private static final Timeout RESULT_TIMEOUT = Timeout.ofSeconds(60);
+
private static final Random RANDOM = new Random();
private final HttpVersionPolicy versionPolicy;
@@ -153,7 +155,7 @@ public class ReactiveClientTest {
.setVersionPolicy(versionPolicy)
.setIOReactorConfig(
IOReactorConfig.custom()
- .setSoTimeout(TIMEOUT)
+ .setSoTimeout(SOCKET_TIMEOUT)
.build())
.setIOSessionListener(LoggingIOSessionListener.INSTANCE)
.setStreamListener(LoggingHttp1StreamListener.INSTANCE_SERVER)
@@ -202,7 +204,7 @@ public class ReactiveClientTest {
requester = H2RequesterBootstrap.bootstrap()
.setVersionPolicy(versionPolicy)
.setIOReactorConfig(IOReactorConfig.custom()
- .setSoTimeout(TIMEOUT)
+ .setSoTimeout(SOCKET_TIMEOUT)
.build())
.setIOSessionListener(LoggingIOSessionListener.INSTANCE)
.setStreamListener(LoggingHttp1StreamListener.INSTANCE_CLIENT)
@@ -233,7 +235,7 @@ public class ReactiveClientTest {
};
- @Test(timeout = 5_000)
+ @Test
public void testSimpleRequest() throws Exception {
final InetSocketAddress address = startClientAndServer();
final byte[] input = new byte[1024];
@@ -244,9 +246,10 @@ public class ReactiveClientTest {
final BasicRequestProducer request = getRequestProducer(address, producer);
final ReactiveResponseConsumer consumer = new ReactiveResponseConsumer();
- requester.execute(request, consumer, Timeout.ofSeconds(2), null);
+ requester.execute(request, consumer, SOCKET_TIMEOUT, null);
- final Message<HttpResponse, Publisher<ByteBuffer>> response = consumer.getResponseFuture().get();
+ final Message<HttpResponse, Publisher<ByteBuffer>> response = consumer.getResponseFuture()
+ .get(RESULT_TIMEOUT.getDuration(), RESULT_TIMEOUT.getTimeUnit());
final ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
final WritableByteChannel writableByteChannel = Channels.newChannel(byteArrayOutputStream);
@@ -263,7 +266,7 @@ public class ReactiveClientTest {
URI.create("http://localhost:" + address.getPort()), producer);
}
- @Test(timeout = 20_000)
+ @Test
public void testLongRunningRequest() throws Exception {
final InetSocketAddress address = startClientAndServer();
final AtomicLong requestLength = new AtomicLong(0L);
@@ -289,8 +292,9 @@ public class ReactiveClientTest {
final BasicRequestProducer request = getRequestProducer(address, producer);
final ReactiveResponseConsumer consumer = new ReactiveResponseConsumer();
- requester.execute(request, consumer, Timeout.ofSeconds(2), null);
- final Message<HttpResponse, Publisher<ByteBuffer>> response = consumer.getResponseFuture().get();
+ requester.execute(request, consumer, SOCKET_TIMEOUT, null);
+ final Message<HttpResponse, Publisher<ByteBuffer>> response = consumer.getResponseFuture()
+ .get(RESULT_TIMEOUT.getDuration(), RESULT_TIMEOUT.getTimeUnit());
final AtomicLong responseLength = new AtomicLong(0);
final AtomicReference<MessageDigest> responseDigest = new AtomicReference<>(newDigest());
@@ -306,7 +310,7 @@ public class ReactiveClientTest {
Assert.assertArrayEquals(requestDigest.get().digest(), responseDigest.get().digest());
}
- @Test(timeout = 5_000)
+ @Test
public void testRequestError() throws Exception {
final InetSocketAddress address = startClientAndServer();
final RuntimeException exceptionThrown = new RuntimeException("Test");
@@ -317,10 +321,10 @@ public class ReactiveClientTest {
final ReactiveResponseConsumer consumer = new ReactiveResponseConsumer();
- final Future<Void> future = requester.execute(request, consumer, Timeout.ofSeconds(1), null);
+ final Future<Void> future = requester.execute(request, consumer, SOCKET_TIMEOUT, null);
try {
- future.get();
+ future.get(RESULT_TIMEOUT.getDuration(), RESULT_TIMEOUT.getTimeUnit());
Assert.fail("Expected exception");
} catch (final ExecutionException ex) {
Assert.assertTrue(ex.getCause() instanceof HttpStreamResetException);
@@ -328,7 +332,7 @@ public class ReactiveClientTest {
}
}
- @Test(timeout = 5_000)
+ @Test
public void testRequestTimeout() throws Exception {
final InetSocketAddress address = startClientAndServer();
final AtomicBoolean requestPublisherWasCancelled = new AtomicBoolean(false);
@@ -343,10 +347,10 @@ public class ReactiveClientTest {
final BasicRequestProducer request = getRequestProducer(address, producer);
final ReactiveResponseConsumer consumer = new ReactiveResponseConsumer();
- final Future<Void> future = requester.execute(request, consumer, Timeout.ofSeconds(1), null);
+ final Future<Void> future = requester.execute(request, consumer, SOCKET_TIMEOUT, null);
try {
- future.get();
+ future.get(RESULT_TIMEOUT.getDuration(), RESULT_TIMEOUT.getTimeUnit());
} catch (final ExecutionException ex) {
Assert.assertTrue(requestPublisherWasCancelled.get());
final Throwable cause = ex.getCause();
@@ -362,7 +366,7 @@ public class ReactiveClientTest {
}
}
- @Test(timeout = 5_000)
+ @Test
public void testResponseCancellation() throws Exception {
final InetSocketAddress address = startClientAndServer();
final AtomicBoolean requestPublisherWasCancelled = new AtomicBoolean(false);
@@ -393,8 +397,9 @@ public class ReactiveClientTest {
final BasicRequestProducer request = getRequestProducer(address, producer);
final ReactiveResponseConsumer consumer = new ReactiveResponseConsumer();
- final Future<Void> future = requester.execute(request, consumer, Timeout.ofSeconds(1), null);
- final Message<HttpResponse, Publisher<ByteBuffer>> response = consumer.getResponseFuture().get();
+ final Future<Void> future = requester.execute(request, consumer, SOCKET_TIMEOUT, null);
+ final Message<HttpResponse, Publisher<ByteBuffer>> response = consumer.getResponseFuture()
+ .get(RESULT_TIMEOUT.getDuration(), RESULT_TIMEOUT.getTimeUnit());
final AtomicBoolean responsePublisherWasCancelled = new AtomicBoolean(false);
final List<ByteBuffer> outputBuffers = Flowable.fromPublisher(response.getBody())
@@ -410,7 +415,7 @@ public class ReactiveClientTest {
Assert.assertEquals(3, outputBuffers.size());
Assert.assertTrue("The response subscription should have been cancelled", responsePublisherWasCancelled.get());
try {
- future.get();
+ future.get(RESULT_TIMEOUT.getDuration(), RESULT_TIMEOUT.getTimeUnit());
Assert.fail("Expected exception");
} catch (final ExecutionException | CancellationException ex) {
Assert.assertTrue(ex.getCause() instanceof HttpStreamResetException);