package de.micromata.borgbutler.server; import de.micromata.borgbutler.config.ConfigurationHandler; import org.junit.jupiter.api.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; import static org.junit.jupiter.api.Assertions.*; public class BorgInstallationTest { private Logger log = LoggerFactory.getLogger(BorgInstallationTest.class); @Test void foo() throws Exception { ConfigurationHandler.getConfiguration().setBorgCommand(null); BorgInstallation borgInstallation = BorgInstallation.getInstance(); borgInstallation.initialize(); ConfigurationHandler.getConfiguration().setBorgCommand("borg"); borgInstallation.initialize(); } @Test void configureTest() { ConfigurationHandler.setConfigClazz(ServerConfiguration.class); BorgInstallation borgInstallation = BorgInstallation.getInstance(); borgInstallation.initialize(); BorgConfig borgConfig = new BorgConfig(); borgConfig.setVersion("1.1.15"); borgConfig.setBorgBinary("freebsd64"); ServerConfiguration serverConfig = ServerConfiguration.get(); borgInstallation.configure(serverConfig, borgConfig); String expected = "freebsd64-1.1.15"; assertTrue(serverConfig.getBorgCommand().endsWith(expected), "String '" + serverConfig.getBorgCommand() + "' should end with '" + expected + "'."); } @Test void downloadTest() { String version = new BorgConfig().getVersion(); checkDownload(RunningMode.OSType.LINUX, "borg-linux64-" + version); checkDownload(RunningMode.OSType.MAC_OS, "borg-macosx64-" + version); checkDownload(RunningMode.OSType.FREEBSD, "borg-freebsd64-" + version); assertNull(BorgInstallation.getInstance().download(RunningMode.OSType.WINDOWS)); } private void checkDownload(RunningMode.OSType osType, String expectedName) { File file = BorgInstallation.getInstance().download(osType); assertEquals(expectedName, file.getName()); assertTrue(file.canExecute()); } }