diff options
author | jonmv <venstad@gmail.com> | 2023-10-05 16:56:47 +0200 |
---|---|---|
committer | jonmv <venstad@gmail.com> | 2023-10-05 16:56:47 +0200 |
commit | 1031323b5f08f02e25c79a8653987ed7d70e12a6 (patch) | |
tree | 3db700aa4a8be893136dd8f87ed6f0d794561fdf /container-core/src/test/java/com/yahoo/jdisc/http | |
parent | 4442e0ebf35867a85128088471be38afc61e0ef0 (diff) |
Isolate inner jetty server component from wrapper with filters
Diffstat (limited to 'container-core/src/test/java/com/yahoo/jdisc/http')
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(); } |