Moved check for dir/emptiness to "handleMountPointFolder"

This commit is contained in:
JaniruTEC
2023-07-24 19:15:22 +02:00
parent 9bb24320bf
commit ea8e850aa9
2 changed files with 8 additions and 9 deletions

View File

@@ -40,9 +40,6 @@ public final class MountWithinParentUtil {
}
//... (now) without hideaway
checkIsDirectory(mountPoint);
checkIsEmpty(mountPoint);
Files.move(mountPoint, hideaway);
if (SystemUtils.IS_OS_WINDOWS) {
Files.setAttribute(hideaway, WIN_HIDDEN_ATTR, true, LinkOption.NOFOLLOW_LINKS);
@@ -68,6 +65,8 @@ public final class MountWithinParentUtil {
return false;
}
if (!Files.readAttributes(path, BasicFileAttributes.class, LinkOption.NOFOLLOW_LINKS).isOther()) {
checkIsDirectory(path);
checkIsEmpty(path);
return true;
}
if (Files.exists(path /* FOLLOW_LINKS */)) { //Both junction and target exist

View File

@@ -89,27 +89,27 @@ class MountWithinParentUtilTest {
void testPrepareBothExistMountNotDir(@TempDir Path parentDir) throws IOException {
var mount = parentDir.resolve("mount");
var hideaway = getHideaway(mount);
Files.createDirectory(hideaway);
Files.createFile(hideaway);
Files.createFile(mount);
assertThrows(MountPointNotEmptyDirectoryException.class, () -> {
prepareParentNoMountPoint(mount);
prepareParentNoMountPoint(mount); //Must not throw something related to hideaway
});
assertTrue(Files.notExists(hideaway, NOFOLLOW_LINKS));
assertTrue(Files.exists(hideaway, NOFOLLOW_LINKS));
}
@Test
void testPrepareBothExistMountNotEmpty(@TempDir Path parentDir) throws IOException {
var mount = parentDir.resolve("mount");
var hideaway = getHideaway(mount);
Files.createDirectory(hideaway);
Files.createFile(hideaway);
Files.createDirectory(mount);
Files.createFile(mount.resolve("dummy"));
assertThrows(MountPointNotEmptyDirectoryException.class, () -> {
prepareParentNoMountPoint(mount);
prepareParentNoMountPoint(mount); //Must not throw something related to hideaway
});
assertTrue(Files.notExists(hideaway, NOFOLLOW_LINKS));
assertTrue(Files.exists(hideaway, NOFOLLOW_LINKS));
}
@Test