public void upgradeToCurrentVersion() { if (isInitialImport()) { initialImports.forEach(InitialImport::performInitialImport); versionProvider.writeLastVersion(getCurrentVersion()); } else if (getLastVersion().get() < getCurrentVersion()) { List<VersionUpgrade> upgraders = new ArrayList<>(upgrades); Collections.sort(upgraders); upgraders .stream() .filter(upgrader -> upgrader.getVersion() > getLastVersion().get()) .forEach( upgrader -> { log.info( "Performing upgrade from version {} to {} using {}", getLastVersion(), upgrader.getVersion(), upgrader.getClass().getSimpleName()); upgrader.performUpgrade(); }); versionProvider.writeLastVersion(getCurrentVersion()); } else { log.debug("no upgrade nessessary"); } }
@Test public void testVersionStripper() { String string1 = "Datasync 1.0"; String string2 = "Datasync 1.0.2"; String string3 = "Datasync 1.0.3-SNAPSHOT"; String string4 = "Datasync 2.2.22"; TestCase.assertEquals("1.0", VersionProvider.stripVersion(string1)); TestCase.assertEquals("1.0.2", VersionProvider.stripVersion(string2)); TestCase.assertEquals("1.0.3", VersionProvider.stripVersion(string3)); TestCase.assertEquals("2.2.22", VersionProvider.stripVersion(string4)); }
@Test public void testVersionMajorNumbers() { String version1 = "1.0.2"; String version2 = "3"; String version3 = "2.1"; String version4 = "2.0.9-SNAPSHOT"; TestCase.assertEquals(1, VersionProvider.getMajorVersion(version1)); TestCase.assertEquals(3, VersionProvider.getMajorVersion(version2)); TestCase.assertEquals(2, VersionProvider.getMajorVersion(version3)); TestCase.assertEquals(2, VersionProvider.getMajorVersion(version4)); }
public Optional<Integer> getLastVersion() { return versionProvider.getLastVersion(); }
public int getCurrentVersion() { return versionProvider.getCurrentVersion(); }
@Test public void testGetThisVersion() { TestCase.assertEquals("1.6.2", VersionProvider.getThisVersion()); }
@Test public void testDownloadUrl() { TestCase.assertNotNull(VersionProvider.getDownloadUrlForLatestVersion()); }
@Test public void testIsLatestVersion() throws URISyntaxException { TestCase.assertEquals( VersionProvider.VersionStatus.LATEST, VersionProvider.isLatestMajorVersion()); }
@Test public void testGetLatestVersion() throws URISyntaxException { TestCase.assertEquals("1.5.4", VersionProvider.getLatestVersion()); }