@Override public Problems backupRepository( File backupDirectory ) throws RepositoryException { return backupRepository(backupDirectory, BackupOptions.DEFAULT); }
@Override public Problems backupRepository( File backupDirectory ) throws RepositoryException { return backupRepository(backupDirectory, BackupOptions.DEFAULT); }
private void makeBackup(BackupOptions options) throws RepositoryException { TestingUtil.waitUntilFolderCleanedUp(backupDirectory.getPath()); JcrSession session = repository().login(); try { Problems problems = session.getWorkspace().getRepositoryManager().backupRepository(backupDirectory, options); assertNoProblems(problems); } finally { session.logout(); } }
@Ignore @Test public void shouldPerformOneBackupWhileChangesAreMade() throws Exception { JcrSession session = session(); session.getRootNode().addNode("extras"); final File testDirectory = this.testDirectory; final Stopwatch sw = new Stopwatch(); final CountDownLatch latch = new CountDownLatch(1); final AtomicReference<Problems> problems = new AtomicReference<Problems>(); new Thread(() -> { sw.start(); try { Problems backupProblems = session().getWorkspace().getRepositoryManager().backupRepository(testDirectory); problems.set(backupProblems); } catch (RepositoryException e) { throw new RuntimeException(e); } sw.stop(); latch.countDown(); }).start(); createSubgraph(session, "/extras", 1, 2, 2, false, new Stopwatch(), print ? System.out : null, null); latch.await(10, TimeUnit.SECONDS); assertThat(problems.get().hasProblems(), is(false)); printMessage("Time to perform backup: " + sw.getTotalDuration()); }
@Test public void shouldPerformMultipleBackups() throws Exception { for (int i = 0; i != 3; ++i) { File file = new File(testDirectory, "test" + i); Stopwatch sw = new Stopwatch(); sw.start(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(file); sw.stop(); assertThat(problems.hasProblems(), is(false)); printMessage("Time to perform backup: " + sw.getMaximumDuration()); } }
@Test public void shouldPerformOneBackup() throws Exception { Stopwatch sw = new Stopwatch(); sw.start(); Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(testDirectory); sw.stop(); assertThat(problems.hasProblems(), is(false)); printMessage("Time to perform backup: " + sw.getMaximumDuration()); }
@Test @FixFor( "MODE-2440" ) public void shouldRestoreBinaryReferencesWhenExcludedFromBackup() throws Exception { loadBinaryContent(); verifyBinaryContent(); // Make the backup, and check that there are no problems ... BackupOptions backupOptions = new BackupOptions() { @Override public boolean includeBinaries() { return false; } }; Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory, backupOptions); assertNoProblems(problems); // shutdown the repo and remove just the repo main store (not the binary store) assertTrue(repository().shutdown().get()); FileUtil.delete(backupRepoDir.getPath() + "/store"); // start a fresh empty repo and then restore just the data without binaries startRepositoryWithConfigurationFrom("config/backup-repo-config.json"); RestoreOptions restoreOptions = new RestoreOptions() { @Override public boolean includeBinaries() { return false; } }; problems = session().getWorkspace().getRepositoryManager().restoreRepository(backupDirectory, restoreOptions); assertNoProblems(problems); verifyBinaryContent(); }
@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); Problems backupProblems = newSession.getWorkspace().getRepositoryManager().backupRepository(backupDirectory2); assertNoProblems(backupProblems); } finally {
Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory); assertNoProblems(problems);
Problems problems = session().getWorkspace().getRepositoryManager().backupRepository(backupDirectory); assertNoProblems(problems);