@Test @FixFor( "MODE-2611" ) public void backupShouldHaveUniqueIDs() throws Exception { loadContent(); makeBackup(BackupOptions.DEFAULT); File backup = backupDirectory.listFiles((dir, name) -> name.contains("documents"))[0]; String idPrefix = "{ \"metadata\" : { \"id\" : \""; try (GZIPInputStream gzipInputStream = new GZIPInputStream(new FileInputStream(backup))) { String fileContent = IoUtil.read(gzipInputStream); String lines[] = fileContent.split("\\r?\\n"); Set<String> ids = Arrays.stream(lines) .map(s -> s.substring(s.indexOf(idPrefix) + idPrefix.length(), s.indexOf("\" }"))) .collect(HashSet::new, (set, id) -> { if (!set.add(id)) { fail("Duplicate id found: " + id); } }, HashSet::addAll); assertEquals(lines.length, ids.size()); } }
@Test @FixFor( "MODE-2253" ) public void shouldBackupAndRestoreWithExistingUserTransaction() throws Exception { loadContent(); startTransaction(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory); assertNoProblems(problems); problems = session().getWorkspace().getRepositoryManager().restoreRepository(backupDirectory); assertNoProblems(problems); rollbackTransaction(); assertContentInWorkspace(repository(), "default"); assertContentInWorkspace(repository(), "ws2"); assertContentInWorkspace(repository(), "ws3"); }
@Test public void shouldBackupRepositoryWithMultipleWorkspaces() throws Exception { loadContent(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory); assertNoProblems(problems);
@Test public void shouldBackupAndRestoreRepositoryWithMultipleWorkspaces() throws Exception { loadContent(); assertContentInWorkspace(repository(), "default"); assertContentInWorkspace(repository(), "ws2");