aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java/com/yahoo/jdisc/http
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-06-13 16:41:19 +0200
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2022-06-13 16:41:19 +0200
commit9a4929c1cbf6268c5e5803c7370f9be796e1ecf4 (patch)
tree50e4e328ffddd38fc5c9e1259ff8b0ee65fe2d83 /container-core/src/test/java/com/yahoo/jdisc/http
parent30459852772ab7475663d2535ee18adced340046 (diff)
Rewrite test as hc5 is finally dealing with GOAWAY correctly
Diffstat (limited to 'container-core/src/test/java/com/yahoo/jdisc/http')
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java24
1 files changed, 9 insertions, 15 deletions
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java
index 6fc4f531bee..3241afefce3 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java
@@ -58,7 +58,6 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.UUID;
-import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
import java.util.regex.Pattern;
@@ -89,12 +88,11 @@ import static org.hamcrest.MatcherAssert.assertThat;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.atLeast;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
-import static org.mockito.ArgumentMatchers.any;
/**
* @author Oyvind Bakksjo
@@ -470,11 +468,10 @@ public class HttpServerTest {
.caCertificateFile(certificateFile.toString()));
ServerConfig.Builder serverConfig = new ServerConfig.Builder()
.connectionLog(new ServerConfig.ConnectionLog.Builder().enabled(true));
+ InMemoryConnectionLog connectionLog = new InMemoryConnectionLog();
+ Module overrideModule = binder -> binder.bind(ConnectionLog.class).toInstance(connectionLog);
JettyTestDriver driver = JettyTestDriver.newConfiguredInstance(
- new EchoRequestHandler(),
- serverConfig,
- connectorConfig,
- binder -> {});
+ new EchoRequestHandler(), serverConfig, connectorConfig, overrideModule);
// HTTP/1.1
for (int i = 0; i < MAX_REQUESTS - 1; i++) {
@@ -489,19 +486,16 @@ public class HttpServerTest {
// HTTP/2
try (CloseableHttpAsyncClient client = createHttp2Client(driver)) {
String uri = "https://localhost:" + driver.server().getListenPort() + "/status.html";
- for (int i = 0; i < MAX_REQUESTS - 1; i++) {
+ for (int i = 0; i <= MAX_REQUESTS; i++) {
SimpleHttpResponse response = client.execute(SimpleRequestBuilder.get(uri).build(), null).get();
assertEquals(OK, response.getCode());
}
- try {
- client.execute(SimpleRequestBuilder.get(uri).build(), null).get();
- fail();
- } catch (ExecutionException e) {
- // Note: this is a weakness with Apache Http Client 5; the failed stream/request will not be retried on a new connection
- assertEquals(e.getMessage(), "org.apache.hc.core5.http2.H2StreamResetException: Stream refused");
- }
}
assertTrue(driver.close());
+ long http2Connections = connectionLog.logEntries().stream()
+ .filter(e -> e.httpProtocol().orElseThrow().equals("HTTP/2.0"))
+ .count();
+ assertEquals(2, http2Connections);
}
@Test