package de.micromata.borgbutler.cache; import de.micromata.borgbutler.config.BorgRepoConfig; import de.micromata.borgbutler.config.Configuration; import de.micromata.borgbutler.config.ConfigurationHandler; import de.micromata.borgbutler.data.Repository; import de.micromata.borgbutler.json.borg.BorgArchive; import de.micromata.borgbutler.json.borg.BorgFilesystemItem; import org.apache.commons.collections4.CollectionUtils; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.List; import static org.junit.jupiter.api.Assertions.assertEquals; public class CacheTest { private static Logger log = LoggerFactory.getLogger(CacheTest.class); @Test void repoCacheTest() { ConfigurationHandler configHandler = ConfigurationHandler.getInstance(); Configuration config = ConfigurationHandler.getConfiguration(); if (config.getRepoConfigs().size() == 0) { log.info("No repos configured. Please configure repos first in: " + configHandler.getConfigFile().getAbsolutePath()); return; } ButlerCache butlerCache = ButlerCache.getInstance(); { for (BorgRepoConfig repoConfig : ConfigurationHandler.getConfiguration().getRepoConfigs()) { Repository repository = ButlerCache.getInstance().getRepository(repoConfig.getRepo()); } assertEquals(config.getRepoConfigs().size(), ButlerCache.getInstance().getAllRepositories().size()); } { for (BorgRepoConfig repoConfig : ConfigurationHandler.getConfiguration().getRepoConfigs()) { Repository repository = ButlerCache.getInstance().getRepositoryArchives(repoConfig.getRepo()); } assertEquals(config.getRepoConfigs().size(), ButlerCache.getInstance().getAllRepositories().size()); } List repoConfigs = ConfigurationHandler.getConfiguration().getRepoConfigs(); BorgArchive archive = null; BorgRepoConfig repoConfig = null; if (CollectionUtils.isNotEmpty(repoConfigs)) { repoConfig = repoConfigs.get(0); Repository rerepositoryoList = ButlerCache.getInstance().getRepositoryArchives(repoConfig.getRepo()); if (rerepositoryoList != null && CollectionUtils.isNotEmpty(rerepositoryoList.getArchives())) { archive = rerepositoryoList.getArchives().get(0); } } { if (archive != null) { BorgFilesystemItem[] content = ButlerCache.getInstance().getArchiveContent(repoConfig, archive); log.info("Number of items (content) of archive: " + content.length); content = ButlerCache.getInstance().getArchiveContent(repoConfig, archive); log.info("Number of items (content) of archive: " + content.length); } } ButlerCache.getInstance().shutdown(); } }