@Test public void testMoveToTrash() throws IOException { Path hadoopUtilsTestDir = new Path(Files.createTempDir().getAbsolutePath(), "HadoopUtilsTestDir"); Configuration conf = new Configuration(); // Set the time to keep it in trash to 10 minutes. // 0 means object will be deleted instantly. conf.set("fs.trash.interval", "10"); FileSystem fs = FileSystem.getLocal(conf); Trash trash = new Trash(fs, conf); TrashPolicy trashPolicy = TrashPolicy.getInstance(conf, fs, fs.getHomeDirectory()); Path trashPath = trashPolicy.getCurrentTrashDir(); fs.mkdirs(hadoopUtilsTestDir); Assert.assertTrue(fs.exists(hadoopUtilsTestDir)); trash.moveToTrash(hadoopUtilsTestDir.getParent()); Assert.assertFalse(fs.exists(hadoopUtilsTestDir)); Assert.assertTrue(fs.exists(trashPath)); }
public void testFileDeleteWithTrash() throws IOException { Configuration conf = new Configuration(); conf.set("fs.trash.interval", "10"); // 10 minute // create cluster MiniDFSCluster cluster = new MiniDFSCluster(conf, 1, true, null); FileSystem fs = null; try { cluster.waitActive(); fs = cluster.getFileSystem(); // create file1. Path dir = new Path("/foo"); Path file1 = new Path(dir, "file1"); createFile(fs, file1); System.out.println("testFileCreationDeleteParent: " + "Created file " + file1); fs.delete(file1, true); // create file2. Path file2 = new Path("/tmp", "file2"); createFile(fs, file2); System.out.println("testFileCreationDeleteParent: " + "Created file " + file2); fs.delete(file2, true); TrashPolicy trashPolicy = TrashPolicy.getInstance(conf, fs, fs.getHomeDirectory()); Path trashRoot = trashPolicy.getCurrentTrashDir(); TestTrash.checkTrash(fs, trashRoot, file1); TestTrash.checkNotInTrash(fs, trashRoot, file2.toString()); } finally { fs.close(); cluster.shutdown(); } }