test/jdk/java/net/httpclient/RequestBuilderTest.java
branchhttp-client-branch
changeset 55764 34d7cc00f87a
parent 55763 634d8e14c172
child 55791 4849d9e433be
--- a/test/jdk/java/net/httpclient/RequestBuilderTest.java	Sun Nov 05 17:32:13 2017 +0000
+++ b/test/jdk/java/net/httpclient/RequestBuilderTest.java	Sun Nov 05 21:19:55 2017 +0000
@@ -37,6 +37,7 @@
 import static jdk.incubator.http.HttpClient.Version.HTTP_1_1;
 import static jdk.incubator.http.HttpClient.Version.HTTP_2;
 import static jdk.incubator.http.HttpRequest.BodyPublisher.fromString;
+import static jdk.incubator.http.HttpRequest.noBody;
 import static jdk.incubator.http.HttpRequest.newBuilder;
 import static org.testng.Assert.*;
 import org.testng.annotations.Test;
@@ -166,6 +167,18 @@
         request = newBuilder(uri).GET().DELETE(fromString("")).build();
         assertEquals(request.method(), "DELETE");
         assertTrue(request.bodyPublisher().isPresent());
+
+        // CONNECT is disallowed in the implementation, since it is used for
+        // tunneling, and is handled separately for security checks.
+        assertThrows(IAE, () -> newBuilder(uri).method("CONNECT", noBody()).build());
+
+        request = newBuilder(uri).method("GET", noBody()).build();
+        assertEquals(request.method(), "GET");
+        assertTrue(request.bodyPublisher().isPresent());
+
+        request = newBuilder(uri).method("POST", fromString("")).build();
+        assertEquals(request.method(), "POST");
+        assertTrue(request.bodyPublisher().isPresent());
     }
 
     @Test