@Override public Path getBaselineDirectory() { return incrementalBaselineLocation.getMemberBackupLocationDir().getParent(); }
private BackupFilter createBackupFilter( FileSystemIncrementalBackupLocation incrementalBaselineLocation) { BackupFilter filter; if (incrementalBaselineLocation != null && Files.exists(incrementalBaselineLocation.getMemberBackupLocationDir())) { filter = new IncrementalBackupFilter(incrementalBaselineLocation); } else { filter = (store, path) -> true; } return filter; }
@Test public void testWhenDiskstoresAreEmpty() throws IOException { String memberId = "member1"; File backupLocation = tempDir.newFolder("backup"); Path memberBackupLocation = Files.createDirectories(backupLocation.toPath().resolve(memberId)); Path diskStoreMemberBackupLocation = Files.createDirectories(memberBackupLocation.resolve(BackupWriter.DATA_STORES_DIRECTORY)); DiskStoreImpl diskStore = mock(DiskStoreImpl.class); when(diskStore.getDiskStoreID()).thenReturn(new DiskStoreID(1, 2)); FileSystemIncrementalBackupLocation fileBackupLocation = new FileSystemIncrementalBackupLocation(backupLocation, "member1"); Files.createDirectories( diskStoreMemberBackupLocation.resolve(fileBackupLocation.getBackupDirName(diskStore))); assertThat(fileBackupLocation .getBackedUpOplogs(fileBackupLocation.getMemberBackupLocationDir().toFile(), diskStore)) .isEmpty(); }
@Test public void returnsFilesFromDiskstoreDirectory() throws IOException { String memberId = "member1"; File backupLocation = tempDir.newFolder("backup"); Path memberBackupLocation = Files.createDirectories(backupLocation.toPath().resolve(memberId)); Path diskStoreMemberBackupLocation = Files.createDirectories(memberBackupLocation.resolve(BackupWriter.DATA_STORES_DIRECTORY)); DiskStoreImpl diskStore = mock(DiskStoreImpl.class); when(diskStore.getDiskStoreID()).thenReturn(new DiskStoreID(1, 2)); FileSystemIncrementalBackupLocation fileBackupLocation = new FileSystemIncrementalBackupLocation(backupLocation, "member1"); Path diskStorePath = Files.createDirectories( diskStoreMemberBackupLocation.resolve(fileBackupLocation.getBackupDirName(diskStore))); Path crf = Files.createFile(diskStorePath.resolve("oplog1.crf")); Path krf = Files.createFile(diskStorePath.resolve("oplog1.krf")); Path drf = Files.createFile(diskStorePath.resolve("oplog1.drf")); Collection<File> logFiles = fileBackupLocation .getBackedUpOplogs(fileBackupLocation.getMemberBackupLocationDir().toFile(), diskStore); assertThat(logFiles).isNotEmpty(); assertThat(logFiles).contains(crf.toFile()); assertThat(logFiles).contains(krf.toFile()); assertThat(logFiles).contains(drf.toFile()); }