aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java
diff options
context:
space:
mode:
Diffstat (limited to 'container-core/src/test/java')
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java8
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ProxyProtocolTest.java44
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ResponseMetricAggregatorTest.java2
3 files changed, 28 insertions, 26 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 adb35db8ebf..32375be2a68 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
@@ -178,7 +178,7 @@ public class HttpServerTest {
var metricConsumer = new MetricConsumerMock();
JettyTestDriver driver = JettyTestDriver.newConfiguredInstance(
mockRequestHandler(),
- new ServerConfig.Builder(),
+ new ServerConfig.Builder().metric(new ServerConfig.Metric.Builder().reporterEnabled(false)),
new ConnectorConfig.Builder(),
binder -> binder.bind(MetricConsumer.class).toInstance(metricConsumer.mockitoMock()));
driver.client()
@@ -614,7 +614,8 @@ public class HttpServerTest {
@Test
void requireThatResponseStatsAreCollected() throws Exception {
RequestTypeHandler handler = new RequestTypeHandler();
- JettyTestDriver driver = JettyTestDriver.newInstance(handler);
+ var cfg = new ServerConfig.Builder().metric(new ServerConfig.Metric.Builder().reporterEnabled(false));
+ JettyTestDriver driver = JettyTestDriver.newConfiguredInstance(handler, cfg, new ConnectorConfig.Builder());
var statisticsCollector = ResponseMetricAggregator.getBean(driver.server());;
{
List<ResponseMetricAggregator.StatisticsEntry> stats = statisticsCollector.takeStatistics();
@@ -655,7 +656,8 @@ public class HttpServerTest {
statisticsCollector) {
List<ResponseMetricAggregator.StatisticsEntry> entries = Collections.emptyList();
int tries = 0;
- while (entries.isEmpty() && tries < 10000) {
+ // Wait up to 30 seconds before giving up
+ while (entries.isEmpty() && tries < 300) {
entries = statisticsCollector.takeStatistics();
if (entries.isEmpty())
try {Thread.sleep(100); } catch (InterruptedException e) {}
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ProxyProtocolTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ProxyProtocolTest.java
index eac7b7c5df7..8df20239875 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ProxyProtocolTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ProxyProtocolTest.java
@@ -17,6 +17,7 @@ import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.Timeout;
import org.junit.jupiter.api.io.TempDir;
import java.io.IOException;
@@ -40,6 +41,7 @@ import static org.junit.jupiter.api.Assertions.fail;
/**
* @author bjorncs
*/
+@Timeout(value = 60)
class ProxyProtocolTest {
private static final Logger log = Logger.getLogger(ProxyProtocolTest.class.getName());
@@ -155,30 +157,28 @@ class ProxyProtocolTest {
private ContentResponse sendJettyClientRequest(JettyTestDriver testDriver, Path certificateFile, Object tag)
throws Exception {
- HttpClient client = createJettyHttpClient(certificateFile);
ExecutionException cause = null;
- try {
- int maxAttempts = 10;
- for (int attempt = 0; attempt < maxAttempts; attempt++) {
- try {
- ContentResponse response = client.newRequest(URI.create("https://localhost:" + testDriver.server().getListenPort() + "/"))
- .tag(tag)
- .send();
- assertEquals(200, response.getStatus());
- return response;
- } catch (ExecutionException e) {
- // Retry when the server closes the connection before the TLS handshake is completed. This has been observed in CI.
- // We have been unable to reproduce this locally. The cause is therefor currently unknown.
- log.log(Level.WARNING, String.format("Attempt %d failed: %s", attempt, e.getMessage()), e);
- Thread.sleep(10);
- cause = e;
- }
+ int maxAttempts = 10;
+ for (int attempt = 0; attempt < maxAttempts; attempt++) {
+ HttpClient client = createJettyHttpClient(certificateFile);
+ try {
+ ContentResponse response = client.newRequest(URI.create("https://localhost:" + testDriver.server().getListenPort() + "/"))
+ .tag(tag)
+ .send();
+ assertEquals(200, response.getStatus());
+ return response;
+ } catch (ExecutionException e) {
+ // Retry when the server closes the connection before the TLS handshake is completed. This has been observed in CI.
+ // We have been unable to reproduce this locally. The cause is therefor currently unknown.
+ log.log(Level.WARNING, String.format("Attempt %d failed: %s", attempt, e.getMessage()), e);
+ Thread.sleep(10);
+ cause = e;
+ } finally {
+ client.stop();
+ client.destroy();
}
- throw cause;
- } finally {
- client.stop();
- client.destroy();
}
+ throw cause;
}
// Using Jetty's http client as Apache httpclient does not support the proxy-protocol v1/v2.
@@ -189,7 +189,7 @@ class ProxyProtocolTest {
var connector = new ClientConnector();
connector.setSslContextFactory(ssl);
HttpClient client = new HttpClient(new HttpClientTransportOverHTTP(connector));
- int timeout = 60 * 1000;
+ int timeout = 20 * 1000;
client.setConnectTimeout(timeout);
client.setIdleTimeout(timeout);
client.start();
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ResponseMetricAggregatorTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ResponseMetricAggregatorTest.java
index 25a93849acb..7f355922b35 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ResponseMetricAggregatorTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/ResponseMetricAggregatorTest.java
@@ -26,7 +26,7 @@ public class ResponseMetricAggregatorTest {
private final List<String> monitoringPaths = List.of("/status.html");
private final List<String> searchPaths = List.of("/search");
- private final ResponseMetricAggregator collector = new ResponseMetricAggregator(monitoringPaths, searchPaths, Set.of());
+ private final ResponseMetricAggregator collector = new ResponseMetricAggregator(monitoringPaths, searchPaths, Set.of(), false);
@BeforeEach
public void initializeCollector() {