aboutsummaryrefslogtreecommitdiffstats
path: root/container-core/src/test/java
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-03-26 09:35:47 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-03-26 09:35:47 +0100
commitd1f0746b362165de93af6108a49ed7dc495f6e8b (patch)
treeb6aa5862b16cbbe99fd89065807b717b51246db4 /container-core/src/test/java
parent140cba216e27a5acbc2b28c93aa995f64d88e1b2 (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.java24
-rw-r--r--container-core/src/test/java/com/yahoo/jdisc/http/server/jetty/HttpServerTest.java7
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