Skip to content

Commit a00a612

Browse files
govsriniMark Sheppard
authored andcommitted
8352706: httpclient HeadTest does not run on HTTP2
Backport-of: e32a0c90feb231d791e6c17e6360f629189cab8b
1 parent 0cecb57 commit a00a612

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

test/jdk/java/net/httpclient/HeadTest.java

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -86,22 +86,21 @@ public class HeadTest implements HttpServerAdapters {
8686
@DataProvider(name = "positive")
8787
public Object[][] positive() {
8888
return new Object[][] {
89+
// HTTP/1.1
8990
{ httpURI, "GET", HTTP_NOT_MODIFIED, HTTP_1_1 },
9091
{ httpsURI, "GET", HTTP_NOT_MODIFIED, HTTP_1_1 },
91-
{ httpURI, "GET", HTTP_NOT_MODIFIED, HttpClient.Version.HTTP_2 },
92-
{ httpsURI, "GET", HTTP_NOT_MODIFIED, HttpClient.Version.HTTP_2 },
9392
{ httpURI, "HEAD", HTTP_OK, HTTP_1_1 },
9493
{ httpsURI, "HEAD", HTTP_OK, HTTP_1_1 },
95-
{ httpURI, "HEAD", HTTP_OK, HttpClient.Version.HTTP_2 },
96-
{ httpsURI, "HEAD", HTTP_OK, HttpClient.Version.HTTP_2 },
9794
{ httpURI + "transfer/", "GET", HTTP_NOT_MODIFIED, HTTP_1_1 },
9895
{ httpsURI + "transfer/", "GET", HTTP_NOT_MODIFIED, HTTP_1_1 },
99-
{ httpURI + "transfer/", "GET", HTTP_NOT_MODIFIED, HttpClient.Version.HTTP_2 },
100-
{ httpsURI + "transfer/", "GET", HTTP_NOT_MODIFIED, HttpClient.Version.HTTP_2 },
10196
{ httpURI + "transfer/", "HEAD", HTTP_OK, HTTP_1_1 },
10297
{ httpsURI + "transfer/", "HEAD", HTTP_OK, HTTP_1_1 },
103-
{ httpURI + "transfer/", "HEAD", HTTP_OK, HttpClient.Version.HTTP_2 },
104-
{ httpsURI + "transfer/", "HEAD", HTTP_OK, HttpClient.Version.HTTP_2 }
98+
// HTTP/2
99+
{ http2URI, "GET", HTTP_NOT_MODIFIED, HttpClient.Version.HTTP_2 },
100+
{ https2URI, "GET", HTTP_NOT_MODIFIED, HttpClient.Version.HTTP_2 },
101+
{ http2URI, "HEAD", HTTP_OK, HttpClient.Version.HTTP_2 },
102+
{ https2URI, "HEAD", HTTP_OK, HttpClient.Version.HTTP_2 },
103+
// HTTP2 forbids transfer-encoding
105104
};
106105
}
107106

@@ -112,17 +111,13 @@ void test(String uriString, String method,
112111
URI uri = URI.create(uriString);
113112
HttpRequest.Builder requestBuilder = HttpRequest
114113
.newBuilder(uri)
114+
.version(version)
115115
.method(method, HttpRequest.BodyPublishers.noBody());
116-
if (version != null) {
117-
requestBuilder.version(version);
118-
}
119116
doTest(requestBuilder.build(), expResp);
120117
// repeat the test this time by building the request using convenience
121118
// GET and HEAD methods
122-
requestBuilder = HttpRequest.newBuilder(uri);
123-
if (version != null) {
124-
requestBuilder.version(version);
125-
}
119+
requestBuilder = HttpRequest.newBuilder(uri)
120+
.version(version);
126121
switch (method) {
127122
case "GET" -> requestBuilder.GET();
128123
case "HEAD" -> requestBuilder.HEAD();
@@ -146,6 +141,7 @@ private void doTest(HttpRequest request, int expResp) throws Exception {
146141
assertEquals(response.statusCode(), expResp);
147142
assertEquals(response.body(), "");
148143
assertEquals(response.headers().firstValue("Content-length").get(), CONTENT_LEN);
144+
assertEquals(response.version(), request.version().get());
149145
}
150146

151147
// -- Infrastructure
@@ -168,7 +164,7 @@ public void setup() throws Exception {
168164
http2TestServer = HttpTestServer.create(HTTP_2);
169165
http2TestServer.addHandler(new HeadHandler(), "/");
170166
http2URI = "http://" + http2TestServer.serverAuthority() + "/";
171-
https2TestServer = HttpTestServer.create(HTTP_2, SSLContext.getDefault());
167+
https2TestServer = HttpTestServer.create(HTTP_2, sslContext);
172168
https2TestServer.addHandler(new HeadHandler(), "/");
173169
https2URI = "https://" + https2TestServer.serverAuthority() + "/";
174170

0 commit comments

Comments
 (0)