| | |
| | | |
| | | import de.micromata.borgbutler.config.BorgRepoConfig; |
| | | import de.micromata.borgbutler.data.Archive; |
| | | import de.micromata.borgbutler.json.borg.BorgFilesystemItem; |
| | | import org.junit.jupiter.api.Test; |
| | | import org.slf4j.Logger; |
| | | import org.slf4j.LoggerFactory; |
| | |
| | | |
| | | @Test |
| | | void readWriteTest() throws Exception { |
| | | List<BorgFilesystemItem> list = createList(1000000); |
| | | List<FilesystemItem> list = createList(1000000); |
| | | ArchiveFilelistCache cache = new ArchiveFilelistCache(new File("out"), 100); |
| | | cache.removeAllCacheFiles(); |
| | | BorgRepoConfig repoConfig = new BorgRepoConfig(); |
| | |
| | | cache.save(repoConfig, archive, list); |
| | | log.info("Saving done."); |
| | | log.info("Loading items from out dir."); |
| | | List<BorgFilesystemItem> filesystemItems = cache.load(repoConfig, archive); |
| | | List<FilesystemItem> filesystemItems = cache.load(repoConfig, archive); |
| | | log.info("Loading " + filesystemItems.size() + " items done."); |
| | | assertEquals(list.size(), filesystemItems.size()); |
| | | for (int i = 0; i < filesystemItems.size(); i++) { |
| | |
| | | |
| | | @Test |
| | | void readWriteEmptyTest() throws Exception { |
| | | List<BorgFilesystemItem> list = new ArrayList<>(); |
| | | List<FilesystemItem> list = new ArrayList<>(); |
| | | ArchiveFilelistCache cache = new ArchiveFilelistCache(new File("out"), 100); |
| | | cache.removeAllCacheFiles(); |
| | | BorgRepoConfig repoConfig = new BorgRepoConfig(); |
| | |
| | | Archive archive = createArchive("2018-12-09"); |
| | | assertNull(cache.load(repoConfig, archive)); |
| | | cache.save(repoConfig, archive, list); |
| | | List<BorgFilesystemItem> filesystemItems = cache.load(repoConfig, archive); |
| | | List<FilesystemItem> filesystemItems = cache.load(repoConfig, archive); |
| | | assertNull(cache.load(repoConfig, archive)); |
| | | cache.removeAllCacheFiles(); |
| | | } |
| | | |
| | | @Test |
| | | void cleanUpMaximumSizeTest() throws Exception { |
| | | List<BorgFilesystemItem> list = createList(1000000); |
| | | List<FilesystemItem> list = createList(1000000); |
| | | ArchiveFilelistCache cache = new ArchiveFilelistCache(new File("out"), 3); |
| | | cache.removeAllCacheFiles(); |
| | | BorgRepoConfig repoConfig = new BorgRepoConfig(); |
| | |
| | | |
| | | @Test |
| | | void cleanUpExpiredTest() throws Exception { |
| | | List<BorgFilesystemItem> list = createList(1000); |
| | | List<FilesystemItem> list = createList(1000); |
| | | ArchiveFilelistCache cache = new ArchiveFilelistCache(new File("out"), 3); |
| | | cache.removeAllCacheFiles(); |
| | | BorgRepoConfig repoConfig = new BorgRepoConfig(); |
| | |
| | | cache.removeAllCacheFiles(); |
| | | } |
| | | |
| | | private List<BorgFilesystemItem> createList(int number) throws Exception { |
| | | List<BorgFilesystemItem> list = new ArrayList<>(); |
| | | private List<FilesystemItem> createList(int number) throws Exception { |
| | | List<FilesystemItem> list = new ArrayList<>(); |
| | | for (int i = 0; i < 1000000; i++) { |
| | | list.add(create(i)); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | private BorgFilesystemItem create(int i) throws Exception { |
| | | BorgFilesystemItem item = new BorgFilesystemItem(); |
| | | private FilesystemItem create(int i) throws Exception { |
| | | FilesystemItem item = new FilesystemItem(); |
| | | set(item, "type", "-").set(item, "mode", "drwxr-xr-x") |
| | | .set(item, "user", "kai").set(item, "group", "user") |
| | | .set(item, "path", "/Users/kai/Test" + i + ".java").set(item, "size", 1000); |