@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()); } }