def test_directory_permissions(self): dirpath = os.path.join(self.tempdir, 'root') directory = Directory(name=dirpath) self.assertEqual(directory.fs_mode, None) directory.fs_mode = 0o750 directory() self.assertEqual(os.stat(dirpath).st_mode & 0o777, 0o750) directory.fs_mode = 0o700 directory() self.assertEqual(os.stat(dirpath).st_mode & 0o777, 0o700) directory = Directory(name=dirpath) self.assertEqual(directory.fs_mode, 0o700)
def test_sub_directory_permissions(self): directory = Directory(name=os.path.join(self.tempdir, 'root')) directory.fs_mode = 0o777 subdir1 = directory['subdir1'] = Directory() subdir1.fs_mode = 0o770 subdir2 = directory['subdir2'] = Directory() subdir2.fs_mode = 0o755 directory() dir_path = os.path.join(*directory.fs_path) self.assertEqual(os.stat(dir_path).st_mode & 0o777, 0o777) dir_path = os.path.join(*subdir1.fs_path) self.assertEqual(os.stat(dir_path).st_mode & 0o777, 0o770) dir_path = os.path.join(*subdir2.fs_path) self.assertEqual(os.stat(dir_path).st_mode & 0o777, 0o755) directory = Directory(name=os.path.join(self.tempdir, 'root')) self.assertEqual(directory.fs_mode, 0o777) self.assertEqual(directory['subdir1'].fs_mode, 0o770) self.assertEqual(directory['subdir2'].fs_mode, 0o755)