diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-03-26 09:35:47 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-03-26 09:35:47 +0100 |
commit | d1f0746b362165de93af6108a49ed7dc495f6e8b (patch) | |
tree | b6aa5862b16cbbe99fd89065807b717b51246db4 /container-core/src/test/java | |
parent | 140cba216e27a5acbc2b28c93aa995f64d88e1b2 (diff) |
Revert "Remove BlockingQueueRequestLog"
This reverts commit c88ecf61eede4882a9a0ad4172f0e22dbd1acecd.
Diffstat (limited to 'container-core/src/test/java')
-rw-r--r-- | container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/BlockingQueueRequestLog.java | 24 | ||||
-rw-r--r-- | container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java | 7 |
2 files changed, 28 insertions, 3 deletions
diff --git a/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/BlockingQueueRequestLog.java b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/BlockingQueueRequestLog.java new file mode 100644 index 00000000000..c1a2bea8ac4 --- /dev/null +++ b/container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/BlockingQueueRequestLog.java @@ -0,0 +1,24 @@ +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.jdisc.http.server.jetty; + +import com.yahoo.container.logging.RequestLog; +import com.yahoo.container.logging.RequestLogEntry; + +import java.time.Duration; +import java.util.concurrent.BlockingQueue; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.TimeUnit; + +/** + * @author bjorncs + */ +class BlockingQueueRequestLog implements RequestLog { + + private final BlockingQueue<RequestLogEntry> entries = new LinkedBlockingDeque<>(); + + @Override public void log(RequestLogEntry entry) { entries.offer(entry); } + + RequestLogEntry poll(Duration timeout) throws InterruptedException { + return entries.poll(timeout.toMillis(), TimeUnit.MILLISECONDS); + } +} 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 82eb1e21725..b0107a29f2c 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 @@ -65,6 +65,7 @@ import java.nio.file.Path; import java.security.KeyPair; import java.security.PrivateKey; import java.security.cert.X509Certificate; +import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; import java.util.ArrayList; @@ -180,7 +181,7 @@ public class HttpServerTest { @Test public void requireThatAccessLogIsCalledForRequestRejectedByJetty() throws Exception { - InMemoryRequestLog requestLogMock = new InMemoryRequestLog(); + BlockingQueueRequestLog requestLogMock = new BlockingQueueRequestLog(); final TestDriver driver = TestDrivers.newConfiguredInstance( mockRequestHandler(), new ServerConfig.Builder(), @@ -188,9 +189,9 @@ public class HttpServerTest { binder -> binder.bind(RequestLog.class).toInstance(requestLogMock)); driver.client().get("/status.html") .expectStatusCode(is(REQUEST_URI_TOO_LONG)); - assertThat(driver.close(), is(true)); - RequestLogEntry entry = requestLogMock.entries().get(0); + RequestLogEntry entry = requestLogMock.poll(Duration.ofSeconds(30)); assertEquals(414, entry.statusCode().getAsInt()); + assertThat(driver.close(), is(true)); } @Test |