/// <exception cref="System.Exception"/> private void _mkdirs(bool exists, FsPermission before, FsPermission after) { FilePath localDir = MockitoMaker.Make(MockitoMaker.Stub <FilePath>().Returning(exists ).from.Exists()); Org.Mockito.Mockito.When(localDir.Mkdir()).ThenReturn(true); Path dir = Org.Mockito.Mockito.Mock <Path>(); // use default stubs LocalFileSystem fs = MockitoMaker.Make(MockitoMaker.Stub <LocalFileSystem>().Returning (localDir).from.PathToFile(dir)); FileStatus stat = MockitoMaker.Make(MockitoMaker.Stub <FileStatus>().Returning(after ).from.GetPermission()); Org.Mockito.Mockito.When(fs.GetFileStatus(dir)).ThenReturn(stat); try { DiskChecker.MkdirsWithExistsAndPermissionCheck(fs, dir, before); if (!exists) { Org.Mockito.Mockito.Verify(fs).SetPermission(dir, before); } else { Org.Mockito.Mockito.Verify(fs).GetFileStatus(dir); Org.Mockito.Mockito.Verify(stat).GetPermission(); } } catch (DiskChecker.DiskErrorException e) { if (before != after) { Assert.True(e.Message.StartsWith("Incorrect permission")); } } }
// not listable /// <exception cref="System.Exception"/> private void _checkDirs(bool isDir, FsPermission perm, bool success) { FilePath localDir = FilePath.CreateTempFile("test", "tmp"); if (isDir) { localDir.Delete(); localDir.Mkdir(); } Shell.ExecCommand(Shell.GetSetPermissionCommand(string.Format("%04o", perm.ToShort ()), false, localDir.GetAbsolutePath())); try { DiskChecker.CheckDir(FileSystem.GetLocal(new Configuration()), new Path(localDir. GetAbsolutePath()), perm); Assert.True("checkDir success", success); } catch (DiskChecker.DiskErrorException) { NUnit.Framework.Assert.IsFalse("checkDir success", success); } localDir.Delete(); }
/// <exception cref="System.Exception"/> private void _checkDirs(bool isDir, string perm, bool success) { FilePath localDir = FilePath.CreateTempFile("test", "tmp"); if (isDir) { localDir.Delete(); localDir.Mkdir(); } Shell.ExecCommand(Shell.GetSetPermissionCommand(perm, false, localDir.GetAbsolutePath ())); try { DiskChecker.CheckDir(localDir); Assert.True("checkDir success", success); } catch (DiskChecker.DiskErrorException e) { Runtime.PrintStackTrace(e); NUnit.Framework.Assert.IsFalse("checkDir success", success); } localDir.Delete(); System.Console.Out.WriteLine("checkDir success: " + success); }