aboutsummaryrefslogtreecommitdiffstats
path: root/http-utils/src/test
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorn.christian@seime.no>2019-07-18 15:05:45 +0200
committerGitHub <noreply@github.com>2019-07-18 15:05:45 +0200
commit32f09b9a5319288092fa28fe758354c7d4126870 (patch)
treec276204960ebf055e8dc05e24b0fdf802e02867b /http-utils/src/test
parent16f23d469aa87166d681e7b1ee4f673ce87b2b12 (diff)
Revert "Simplify mechanism for overriding 'http' -> 'https'"
Diffstat (limited to 'http-utils/src/test')
-rw-r--r--http-utils/src/test/java/ai/vespa/util/http/VespaHttpClientBuilderTest.java39
1 files changed, 39 insertions, 0 deletions
diff --git a/http-utils/src/test/java/ai/vespa/util/http/VespaHttpClientBuilderTest.java b/http-utils/src/test/java/ai/vespa/util/http/VespaHttpClientBuilderTest.java
new file mode 100644
index 00000000000..7ffd0e459b0
--- /dev/null
+++ b/http-utils/src/test/java/ai/vespa/util/http/VespaHttpClientBuilderTest.java
@@ -0,0 +1,39 @@
+// Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package ai.vespa.util.http;
+
+import ai.vespa.util.http.VespaHttpClientBuilder.HttpToHttpsRewritingRequestInterceptor;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.protocol.BasicHttpContext;
+import org.junit.Test;
+
+import java.net.URI;
+
+import static org.assertj.core.api.AssertionsForClassTypes.assertThat;
+
+/**
+ * @author bjorncs
+ */
+public class VespaHttpClientBuilderTest {
+
+ @Test
+ public void request_interceptor_modifies_scheme_of_requests() {
+ verifyProcessedUriMatchesExpectedOutput("http://dummyhostname:8080/a/path/to/resource?query=value",
+ "https://dummyhostname:8080/a/path/to/resource?query=value");
+ }
+
+ @Test
+ public void request_interceptor_add_handles_implicit_http_port() {
+ verifyProcessedUriMatchesExpectedOutput("http://dummyhostname/a/path/to/resource?query=value",
+ "https://dummyhostname:80/a/path/to/resource?query=value");
+ }
+
+ private static void verifyProcessedUriMatchesExpectedOutput(String inputUri, String expectedOutputUri) {
+ var interceptor = new HttpToHttpsRewritingRequestInterceptor();
+ HttpGet request = new HttpGet(inputUri);
+ interceptor.process(request, new BasicHttpContext());
+ URI modifiedUri = request.getURI();
+ URI expectedUri = URI.create(expectedOutputUri);
+ assertThat(modifiedUri).isEqualTo(expectedUri);
+ }
+
+} \ No newline at end of file