aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java/com/yahoo/jdisc/http
diff options
context:
space:
mode:
authorjonmv <venstad@gmail.com>2023-10-05 16:56:47 +0200
committerjonmv <venstad@gmail.com>2023-10-05 16:56:47 +0200
commit1031323b5f08f02e25c79a8653987ed7d70e12a6 (patch)
tree3db700aa4a8be893136dd8f87ed6f0d794561fdf /container-core/src/test/java/com/yahoo/jdisc/http
parent4442e0ebf35867a85128088471be38afc61e0ef0 (diff)
Isolate inner jetty server component from wrapper with filters
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/FilterTestCase.java20
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java20
2 files changed, 22 insertions, 18 deletions
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/FilterTestCase.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/FilterTestCase.java
index cc839768ad5..26e88bccf41 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/FilterTestCase.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/FilterTestCase.java
@@ -498,7 +498,7 @@ public class FilterTestCase {
.build();
MetricConsumerMock metricConsumerMock = new MetricConsumerMock();
MyRequestHandler requestHandler = new MyRequestHandler();
- JettyTestDriver testDriver = newDriver(requestHandler, filterBindings, metricConsumerMock, false);
+ JettyTestDriver testDriver = newDriver(requestHandler, filterBindings, metricConsumerMock);
testDriver.client().get("/status.html");
assertThat(requestHandler.awaitInvocation(), is(true));
@@ -519,9 +519,10 @@ public class FilterTestCase {
FilterBindings filterBindings = new FilterBindings.Builder()
.addRequestFilter("my-request-filter", filter)
.addRequestFilterBinding("my-request-filter", "http://*/filtered/*")
+ .setStrictFiltering(true)
.build();
MyRequestHandler requestHandler = new MyRequestHandler();
- JettyTestDriver testDriver = newDriver(requestHandler, filterBindings, new MetricConsumerMock(), true);
+ JettyTestDriver testDriver = newDriver(requestHandler, filterBindings, new MetricConsumerMock());
testDriver.client().get("/unfiltered/")
.expectStatusCode(is(Response.Status.FORBIDDEN))
@@ -551,7 +552,7 @@ public class FilterTestCase {
.addRequestFilterBinding("my-request-filter", "http://*/filtered/*")
.build();
- JettyTestDriver testDriver = newDriver(requestHandler, filterBindings, new MetricConsumerMock(), true);
+ JettyTestDriver testDriver = newDriver(requestHandler, filterBindings, new MetricConsumerMock());
testDriver.client().get("/filtered/")
.expectStatusCode(is(Response.Status.OK));
@@ -561,28 +562,27 @@ public class FilterTestCase {
}
private static JettyTestDriver newDriver(MyRequestHandler requestHandler, FilterBindings filterBindings) {
- return newDriver(requestHandler, filterBindings, new MetricConsumerMock(), false);
+ return newDriver(requestHandler, filterBindings, new MetricConsumerMock());
}
private static JettyTestDriver newDriver(
MyRequestHandler requestHandler,
FilterBindings filterBindings,
- MetricConsumerMock metricConsumer,
- boolean strictFiltering) {
+ MetricConsumerMock metricConsumer) {
return JettyTestDriver.newInstance(
requestHandler,
- newFilterModule(filterBindings, metricConsumer, strictFiltering));
+ newFilterModule(filterBindings, metricConsumer));
}
private static com.google.inject.Module newFilterModule(
- FilterBindings filterBindings, MetricConsumerMock metricConsumer, boolean strictFiltering) {
+ FilterBindings filterBindings, MetricConsumerMock metricConsumer) {
return Modules.combine(
new AbstractModule() {
@Override
protected void configure() {
bind(FilterBindings.class).toInstance(filterBindings);
- bind(ServerConfig.class).toInstance(new ServerConfig(new ServerConfig.Builder().strictFiltering(strictFiltering)));
+ bind(ServerConfig.class).toInstance(new ServerConfig(new ServerConfig.Builder()));
bind(ConnectorConfig.class).toInstance(new ConnectorConfig(new ConnectorConfig.Builder()));
bind(ConnectionLog.class).toInstance(new VoidConnectionLog());
bind(RequestLog.class).toInstance(new VoidRequestLog());
@@ -602,7 +602,7 @@ public class FilterTestCase {
@Override
public ContentChannel handleRequest(final Request request, final ResponseHandler handler) {
try {
- headerCopy.set(new HashMap<String, List<String>>(request.headers()));
+ headerCopy.set(new HashMap<>(request.headers()));
ResponseDispatch.newInstance(Response.Status.OK).dispatch(handler);
return null;
} finally {
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java
index cbe21d5581b..fffb4de2d8f 100644
--- a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java
+++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerConformanceTest.java
@@ -3,9 +3,11 @@ package com.yahoo.jdisc.http.server.jetty;
import com.google.inject.AbstractModule;
import com.google.inject.Module;
+import com.google.inject.Singleton;
import com.google.inject.util.Modules;
import com.yahoo.container.logging.ConnectionLog;
import com.yahoo.container.logging.RequestLog;
+import com.yahoo.jdisc.application.GuiceRepository;
import com.yahoo.jdisc.http.ServerConfig;
import com.yahoo.jdisc.http.server.jetty.testutils.ConnectorFactoryRegistryModule;
import com.yahoo.jdisc.test.ServerProviderConformanceTest;
@@ -767,14 +769,11 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
new AbstractModule() {
@Override
protected void configure() {
- bind(FilterBindings.class)
- .toInstance(new FilterBindings.Builder().build());
- bind(ServerConfig.class)
- .toInstance(new ServerConfig(new ServerConfig.Builder()));
- bind(ConnectionLog.class)
- .toInstance(new VoidConnectionLog());
- bind(RequestLog.class)
- .toInstance(new VoidRequestLog());
+ bind(JettyHttpServer.class).in(Singleton.class);
+ bind(FilterBindings.class).toInstance(new FilterBindings.Builder().build());
+ bind(ServerConfig.class).toInstance(new ServerConfig(new ServerConfig.Builder()));
+ bind(ConnectionLog.class).toInstance(new VoidConnectionLog());
+ bind(RequestLog.class).toInstance(new VoidRequestLog());
}
},
new ConnectorFactoryRegistryModule());
@@ -786,6 +785,11 @@ public class HttpServerConformanceTest extends ServerProviderConformanceTest {
}
@Override
+ public AutoCloseable configureServerProvider(GuiceRepository guice) {
+ return guice.getInstance(JettyHttpServerContext.class)::deconstruct;
+ }
+
+ @Override
public Integer newClient(final JettyHttpServer server) throws Throwable {
return server.getListenPort();
}