summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2021-12-03 08:11:22 +0100
committerGitHub <noreply@github.com>2021-12-03 08:11:22 +0100
commit258c5987675c7b757c8c574a59e1793d1f68ea72 (patch)
tree8bd0929c62fbd2cf4ad761101ffb5df6bcce79fa /controller-server
parent6e2ddaa1b917dadfda06f882a08c69a3c6b56558 (diff)
Revert "Remove Servlet integration from container-core [run-systemtest]"
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ApplicationRequestToDiscFilterRequestWrapper.java80
1 files changed, 66 insertions, 14 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ApplicationRequestToDiscFilterRequestWrapper.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ApplicationRequestToDiscFilterRequestWrapper.java
index 5f580b6f6b3..b25cb913c83 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ApplicationRequestToDiscFilterRequestWrapper.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/ApplicationRequestToDiscFilterRequestWrapper.java
@@ -2,9 +2,13 @@
package com.yahoo.vespa.hosted.controller.restapi;
import com.yahoo.application.container.handler.Request;
+import com.yahoo.jdisc.HeaderFields;
+import com.yahoo.jdisc.http.Cookie;
import com.yahoo.jdisc.http.HttpRequest;
import com.yahoo.jdisc.http.filter.DiscFilterRequest;
+import com.yahoo.jdisc.http.servlet.ServletOrJdiscHttpRequest;
+import java.net.SocketAddress;
import java.net.URI;
import java.security.Principal;
import java.security.cert.X509Certificate;
@@ -12,11 +16,7 @@ import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
+import java.util.concurrent.TimeUnit;
/**
* Wraps an {@link Request} into a {@link DiscFilterRequest}. Only a few methods are supported.
@@ -35,20 +35,72 @@ public class ApplicationRequestToDiscFilterRequestWrapper extends DiscFilterRequ
}
public ApplicationRequestToDiscFilterRequestWrapper(Request request, List<X509Certificate> clientCertificateChain) {
- super(createDummyHttpRequest(request));
+ super(new ServletOrJdiscHttpRequest() {
+ @Override
+ public void copyHeaders(HeaderFields target) {
+ request.getHeaders().forEach(target::add);
+ }
+
+ @Override
+ public Map<String, List<String>> parameters() {
+ return Collections.emptyMap();
+ }
+
+ @Override
+ public URI getUri() {
+ return URI.create(request.getUri()).normalize(); // Consistent with what JDisc does.
+ }
+
+ @Override
+ public HttpRequest.Version getVersion() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getRemoteHostAddress() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public String getRemoteHostName() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public int getRemotePort() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void setRemoteAddress(SocketAddress remoteAddress) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Map<String, Object> context() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public List<Cookie> decodeCookieHeader() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void encodeCookieHeader(List<Cookie> cookies) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public long getConnectedAt(TimeUnit unit) {
+ throw new UnsupportedOperationException();
+ }
+ });
this.request = request;
this.userPrincipal = request.getUserPrincipal().orElse(null);
this.clientCertificateChain = clientCertificateChain;
}
- private static HttpRequest createDummyHttpRequest(Request req) {
- HttpRequest dummy = mock(HttpRequest.class, invocation -> { throw new UnsupportedOperationException(); });
- doReturn(URI.create(req.getUri()).normalize()).when(dummy).getUri();
- doNothing().when(dummy).copyHeaders(any());
- doReturn(Map.of()).when(dummy).parameters();
- return dummy;
- }
-
public Request getUpdatedRequest() {
Request updatedRequest = new Request(this.request.getUri(), this.request.getBody(), this.request.getMethod(), this.userPrincipal);
this.request.getHeaders().forEach(updatedRequest.getHeaders()::put);