diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2021-12-03 08:11:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-12-03 08:11:22 +0100 |
commit | 258c5987675c7b757c8c574a59e1793d1f68ea72 (patch) | |
tree | 8bd0929c62fbd2cf4ad761101ffb5df6bcce79fa /controller-server | |
parent | 6e2ddaa1b917dadfda06f882a08c69a3c6b56558 (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.java | 80 |
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); |