/** Test file creation and access with file names that need encoding. */ @Test public void testFileNameEncoding() throws IOException, URISyntaxException { for (Path p : TEST_PATHS) { // Create and access the path (data and streamFile servlets) FSDataOutputStream out = hdfs.create(p, true); out.writeBytes("0123456789"); out.close(); FSDataInputStream in = hftpFs.open(p); assertEquals('0', in.read()); // Check the file status matches the path. Hftp returns a FileStatus // with the entire URI, extract the path part. assertEquals(p, new Path(hftpFs.getFileStatus(p).getPath().toUri().getPath())); // Test list status (listPath servlet) assertEquals(1, hftpFs.listStatus(p).length); // Test content summary (contentSummary servlet) assertNotNull("No content summary", hftpFs.getContentSummary(p)); // Test checksums (fileChecksum and getFileChecksum servlets) assertNotNull("No file checksum", hftpFs.getFileChecksum(p)); } }