@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-2584" ) public void shouldPreserveBinariesFromRestoredBackup() throws Exception { loadBinaryContent(); makeBackup(BackupOptions.DEFAULT); wipeRepository(); restoreBackup(); makeBackup(BackupOptions.DEFAULT); wipeRepository(); restoreBackup(); verifyBinaryContent(); }
@Test @FixFor( "MODE-2440" ) public void shouldBackupRepositoryWhichIncludesBinaryValuesCompressed() throws Exception { loadBinaryContent(); makeBackup(BackupOptions.DEFAULT); wipeRepository(); restoreBackup(); verifyBinaryContent(); }
@Test @FixFor( "MODE-2559" ) public void shouldBackupRepositoryWhichIncludesBinaryValuesUncompressed() throws Exception { BackupOptions backupOptions = new BackupOptions() { @Override public boolean compress() { return false; } }; loadBinaryContent(); makeBackup(backupOptions); wipeRepository(); restoreBackup(); verifyBinaryContent(); }