Skip to content

Commit 5a684e3

Browse files
fandreuzdjelinski
authored andcommitted
8368029: Several tests in httpserver/simpleserver should throw SkipException
Reviewed-by: djelinski, dfuchs
1 parent 4b544f9 commit 5a684e3

2 files changed

Lines changed: 120 additions & 112 deletions

File tree

test/jdk/com/sun/net/httpserver/simpleserver/CustomFileSystemTest.java

Lines changed: 54 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -256,63 +256,65 @@ public void testDirectoryWithIndexGET(String id,
256256

257257
@Test
258258
public void testNotReadableFileGET() throws Exception {
259-
if (!Platform.isWindows()) { // not applicable on Windows
260-
var expectedBody = openHTML + """
261-
<h1>File not found</h1>
262-
<p>&#x2F;aFile.txt</p>
263-
""" + closeHTML;
264-
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
265-
var root = createDirectoryInCustomFs("testNotReadableFileGET");
266-
var file = Files.writeString(root.resolve("aFile.txt"), "some text", CREATE);
267-
268-
file.toFile().setReadable(false, false);
269-
assert !Files.isReadable(file);
270-
271-
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
272-
server.start();
273-
try {
274-
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
275-
var request = HttpRequest.newBuilder(uri(server, "aFile.txt")).build();
276-
var response = client.send(request, BodyHandlers.ofString());
277-
assertEquals(response.statusCode(), 404);
278-
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
279-
assertEquals(response.body(), expectedBody);
280-
} finally {
281-
server.stop(0);
282-
file.toFile().setReadable(true, false);
283-
}
259+
if (Platform.isWindows()) {
260+
throw new SkipException("Not applicable on Windows");
261+
}
262+
var expectedBody = openHTML + """
263+
<h1>File not found</h1>
264+
<p>&#x2F;aFile.txt</p>
265+
""" + closeHTML;
266+
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
267+
var root = createDirectoryInCustomFs("testNotReadableFileGET");
268+
var file = Files.writeString(root.resolve("aFile.txt"), "some text", CREATE);
269+
270+
file.toFile().setReadable(false, false);
271+
assert !Files.isReadable(file);
272+
273+
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
274+
server.start();
275+
try {
276+
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
277+
var request = HttpRequest.newBuilder(uri(server, "aFile.txt")).build();
278+
var response = client.send(request, BodyHandlers.ofString());
279+
assertEquals(response.statusCode(), 404);
280+
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
281+
assertEquals(response.body(), expectedBody);
282+
} finally {
283+
server.stop(0);
284+
file.toFile().setReadable(true, false);
284285
}
285286
}
286287

287288
@Test
288289
public void testNotReadableSegmentGET() throws Exception {
289-
if (!Platform.isWindows()) { // not applicable on Windows
290-
var expectedBody = openHTML + """
291-
<h1>File not found</h1>
292-
<p>&#x2F;dir&#x2F;aFile.txt</p>
293-
""" + closeHTML;
294-
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
295-
var root = createDirectoryInCustomFs("testNotReadableSegmentGET");
296-
var dir = Files.createDirectory(root.resolve("dir"));
297-
var file = Files.writeString(dir.resolve("aFile.txt"), "some text", CREATE);
298-
299-
dir.toFile().setReadable(false, false);
300-
assert !Files.isReadable(dir);
301-
assert Files.isReadable(file);
302-
303-
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
304-
server.start();
305-
try {
306-
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
307-
var request = HttpRequest.newBuilder(uri(server, "dir/aFile.txt")).build();
308-
var response = client.send(request, BodyHandlers.ofString());
309-
assertEquals(response.statusCode(), 404);
310-
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
311-
assertEquals(response.body(), expectedBody);
312-
} finally {
313-
server.stop(0);
314-
dir.toFile().setReadable(true, false);
315-
}
290+
if (Platform.isWindows()) {
291+
throw new SkipException("Not applicable on Windows");
292+
}
293+
var expectedBody = openHTML + """
294+
<h1>File not found</h1>
295+
<p>&#x2F;dir&#x2F;aFile.txt</p>
296+
""" + closeHTML;
297+
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
298+
var root = createDirectoryInCustomFs("testNotReadableSegmentGET");
299+
var dir = Files.createDirectory(root.resolve("dir"));
300+
var file = Files.writeString(dir.resolve("aFile.txt"), "some text", CREATE);
301+
302+
dir.toFile().setReadable(false, false);
303+
assert !Files.isReadable(dir);
304+
assert Files.isReadable(file);
305+
306+
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
307+
server.start();
308+
try {
309+
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
310+
var request = HttpRequest.newBuilder(uri(server, "dir/aFile.txt")).build();
311+
var response = client.send(request, BodyHandlers.ofString());
312+
assertEquals(response.statusCode(), 404);
313+
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
314+
assertEquals(response.body(), expectedBody);
315+
} finally {
316+
server.stop(0);
317+
dir.toFile().setReadable(true, false);
316318
}
317319
}
318320

test/jdk/com/sun/net/httpserver/simpleserver/SimpleFileServerTest.java

Lines changed: 66 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -309,63 +309,65 @@ public void testDirectoryWithIndexGET(String id,
309309

310310
@Test
311311
public void testNotReadableFileGET() throws Exception {
312-
if (!Platform.isWindows()) { // not applicable on Windows
313-
var expectedBody = openHTML + """
314-
<h1>File not found</h1>
315-
<p>&#x2F;aFile.txt</p>
316-
""" + closeHTML;
317-
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
318-
var root = Files.createDirectory(TEST_DIR.resolve("testNotReadableFileGET"));
319-
var file = Files.writeString(root.resolve("aFile.txt"), "some text", CREATE);
312+
if (Platform.isWindows()) {
313+
throw new SkipException("Not applicable on Windows");
314+
}
315+
var expectedBody = openHTML + """
316+
<h1>File not found</h1>
317+
<p>&#x2F;aFile.txt</p>
318+
""" + closeHTML;
319+
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
320+
var root = Files.createDirectory(TEST_DIR.resolve("testNotReadableFileGET"));
321+
var file = Files.writeString(root.resolve("aFile.txt"), "some text", CREATE);
320322

321-
file.toFile().setReadable(false, false);
322-
assert !Files.isReadable(file);
323+
file.toFile().setReadable(false, false);
324+
assert !Files.isReadable(file);
323325

324-
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
325-
server.start();
326-
try {
327-
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
328-
var request = HttpRequest.newBuilder(uri(server, "aFile.txt")).build();
329-
var response = client.send(request, BodyHandlers.ofString());
330-
assertEquals(response.statusCode(), 404);
331-
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
332-
assertEquals(response.body(), expectedBody);
333-
} finally {
334-
server.stop(0);
335-
file.toFile().setReadable(true, false);
336-
}
326+
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
327+
server.start();
328+
try {
329+
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
330+
var request = HttpRequest.newBuilder(uri(server, "aFile.txt")).build();
331+
var response = client.send(request, BodyHandlers.ofString());
332+
assertEquals(response.statusCode(), 404);
333+
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
334+
assertEquals(response.body(), expectedBody);
335+
} finally {
336+
server.stop(0);
337+
file.toFile().setReadable(true, false);
337338
}
338339
}
339340

340341
@Test
341342
public void testNotReadableSegmentGET() throws Exception {
342-
if (!Platform.isWindows()) { // not applicable on Windows
343-
var expectedBody = openHTML + """
344-
<h1>File not found</h1>
345-
<p>&#x2F;dir&#x2F;aFile.txt</p>
346-
""" + closeHTML;
347-
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
348-
var root = Files.createDirectory(TEST_DIR.resolve("testNotReadableSegmentGET"));
349-
var dir = Files.createDirectory(root.resolve("dir"));
350-
var file = Files.writeString(dir.resolve("aFile.txt"), "some text", CREATE);
343+
if (Platform.isWindows()) {
344+
throw new SkipException("Not applicable on Windows");
345+
}
346+
var expectedBody = openHTML + """
347+
<h1>File not found</h1>
348+
<p>&#x2F;dir&#x2F;aFile.txt</p>
349+
""" + closeHTML;
350+
var expectedLength = Integer.toString(expectedBody.getBytes(UTF_8).length);
351+
var root = Files.createDirectory(TEST_DIR.resolve("testNotReadableSegmentGET"));
352+
var dir = Files.createDirectory(root.resolve("dir"));
353+
var file = Files.writeString(dir.resolve("aFile.txt"), "some text", CREATE);
351354

352-
dir.toFile().setReadable(false, false);
353-
assert !Files.isReadable(dir);
354-
assert Files.isReadable(file);
355+
dir.toFile().setReadable(false, false);
356+
assert !Files.isReadable(dir);
357+
assert Files.isReadable(file);
355358

356-
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
357-
server.start();
358-
try {
359-
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
360-
var request = HttpRequest.newBuilder(uri(server, "dir/aFile.txt")).build();
361-
var response = client.send(request, BodyHandlers.ofString());
362-
assertEquals(response.statusCode(), 404);
363-
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
364-
assertEquals(response.body(), expectedBody);
365-
} finally {
366-
server.stop(0);
367-
dir.toFile().setReadable(true, false);
368-
}
359+
var server = SimpleFileServer.createFileServer(LOOPBACK_ADDR, root, OutputLevel.VERBOSE);
360+
server.start();
361+
try {
362+
var client = HttpClient.newBuilder().proxy(NO_PROXY).build();
363+
var request = HttpRequest.newBuilder(uri(server, "dir/aFile.txt")).build();
364+
var response = client.send(request, BodyHandlers.ofString());
365+
assertEquals(response.statusCode(), 404);
366+
assertEquals(response.headers().firstValue("content-length").get(), expectedLength);
367+
assertEquals(response.body(), expectedBody);
368+
} finally {
369+
server.stop(0);
370+
dir.toFile().setReadable(true, false);
369371
}
370372
}
371373

@@ -680,18 +682,22 @@ public void testIllegalPath() throws Exception {
680682
var iae = expectThrows(IAE, () -> SimpleFileServer.createFileServer(addr, p, OutputLevel.INFO));
681683
assertTrue(iae.getMessage().contains("does not exist"));
682684
}
683-
{ // not readable
684-
if (!Platform.isWindows()) { // not applicable on Windows
685-
Path p = Files.createDirectory(TEST_DIR.resolve("aDir"));
686-
p.toFile().setReadable(false, false);
687-
assert !Files.isReadable(p);
688-
try {
689-
var iae = expectThrows(IAE, () -> SimpleFileServer.createFileServer(addr, p, OutputLevel.INFO));
690-
assertTrue(iae.getMessage().contains("not readable"));
691-
} finally {
692-
p.toFile().setReadable(true, false);
693-
}
694-
}
685+
}
686+
687+
@Test
688+
public void testNonReadablePath() throws Exception {
689+
if (Platform.isWindows()) {
690+
throw new SkipException("Not applicable on Windows");
691+
}
692+
var addr = LOOPBACK_ADDR;
693+
Path p = Files.createDirectory(TEST_DIR.resolve("aDir"));
694+
p.toFile().setReadable(false, false);
695+
assert !Files.isReadable(p);
696+
try {
697+
var iae = expectThrows(IAE, () -> SimpleFileServer.createFileServer(addr, p, OutputLevel.INFO));
698+
assertTrue(iae.getMessage().contains("not readable"));
699+
} finally {
700+
p.toFile().setReadable(true, false);
695701
}
696702
}
697703

0 commit comments

Comments
 (0)