@Test
public void renameFileTest() throws CatalogException {
QueryResult<File> queryResult1 = catalogManager.getFileManager().create(studyFqn, new File().setPath("data/file.txt"), true,
StringUtils.randomString(200), null, sessionIdUser);
assertEquals(1, queryResult1.getNumResults());
QueryResult<File> queryResult = catalogManager.getFileManager().create(studyFqn, new File().setPath("data/nested/folder/file2.txt"),
true, StringUtils.randomString(200), null, sessionIdUser);
assertEquals(1, queryResult.getNumResults());
catalogManager.getFileManager().rename(studyFqn, "data/nested/", "nested2", sessionIdUser);
Set<String> paths = catalogManager.getFileManager().get(studyFqn, new Query(), new QueryOptions(), sessionIdUser)
.getResult()
.stream().map(File::getPath).collect(Collectors.toSet());
assertTrue(paths.contains("data/nested2/"));
assertFalse(paths.contains("data/nested/"));
assertTrue(paths.contains("data/nested2/folder/"));
assertTrue(paths.contains("data/nested2/folder/file2.txt"));
assertTrue(paths.contains("data/file.txt"));
catalogManager.getFileManager().rename(studyFqn, "data/", "Data", sessionIdUser);
paths = catalogManager.getFileManager().get(studyFqn, new Query(), new QueryOptions(), sessionIdUser).getResult()
.stream().map(File::getPath).collect(Collectors.toSet());
assertTrue(paths.contains("Data/"));
assertTrue(paths.contains("Data/file.txt"));
assertTrue(paths.contains("Data/nested2/"));
assertTrue(paths.contains("Data/nested2/folder/"));
assertTrue(paths.contains("Data/nested2/folder/file2.txt"));
}