@Test
public void assignPermissionsRecursively() throws Exception {
Path folderPath = Paths.get("data", "new", "folder");
catalogManager.getFileManager().createFolder(studyFqn, folderPath.toString(), null, true, null,
QueryOptions.empty(), sessionIdUser).first();
Path filePath = Paths.get("data", "file1.txt");
fileManager.create(studyFqn, File.Type.FILE, File.Format.UNKNOWN, File.Bioformat.UNKNOWN, filePath.toString(),
"", "", new File.FileStatus(), 10, -1, null, -1, null, null, true, "My content", null, sessionIdUser);
List<QueryResult<FileAclEntry>> queryResults = fileManager.updateAcl(studyFqn, Arrays.asList("data/new/",
filePath.toString()), "user2", new File.FileAclParams("VIEW", AclParams.Action.SET, null), sessionIdUser);
assertEquals(3, queryResults.size());
for (QueryResult<FileAclEntry> queryResult : queryResults) {
assertEquals("user2", queryResult.getResult().get(0).getMember());
assertEquals(1, queryResult.getResult().get(0).getPermissions().size());
assertEquals(FileAclEntry.FilePermissions.VIEW, queryResult.getResult().get(0).getPermissions().iterator().next());
}
}