@@ -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>/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>/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>/dir/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>/dir/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