diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2017-10-20 16:24:29 +0200 |
---|---|---|
committer | Grégoire Aubert <gregoire.aubert@sonarsource.com> | 2017-10-23 08:01:13 -0700 |
commit | 373902cba184cd04ccde5b85073ccc25a415f1fe (patch) | |
tree | 88a00f8665fb25d80ea5e7e9dcb9db6bf88a18ea | |
parent | e076b64c1895215ddb11000ee684342b4c744816 (diff) | |
download | sonarqube-373902cba184cd04ccde5b85073ccc25a415f1fe.tar.gz sonarqube-373902cba184cd04ccde5b85073ccc25a415f1fe.zip |
SONAR-9946 Log INFO edition installation
4 files changed, 15 insertions, 3 deletions
diff --git a/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionInstaller.java b/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionInstaller.java index f13731a6480..bbafde3f785 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionInstaller.java +++ b/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionInstaller.java @@ -68,6 +68,7 @@ public class EditionInstaller { try { Optional<UpdateCenter> updateCenter = updateCenterMatrixFactory.getUpdateCenter(true); if (!updateCenter.isPresent()) { + LOG.info("Installation of edition '{}' needs to be done manually", newLicense.getEditionKey()); editionManagementState.startManualInstall(newLicense); return; } @@ -110,6 +111,9 @@ public class EditionInstaller { Set<String> pluginsToRemove = pluginsToRemove(editionPluginKeys, pluginInfosByKeys.values()); Set<String> pluginsToInstall = pluginsToInstall(editionPluginKeys, pluginInfosByKeys.keySet()); + LOG.info("Installing edition '{}', download: {}, remove: {}", + newLicense.getEditionKey(), pluginsToInstall, pluginsToRemove); + editionPluginDownloader.downloadEditionPlugins(pluginsToInstall, updateCenter); uninstallPlugins(pluginsToRemove); editionManagementState.automaticInstallReady(); @@ -125,13 +129,13 @@ public class EditionInstaller { pluginsToRemove.stream().forEach(editionPluginUninstaller::uninstall); } - private Set<String> pluginsToInstall(Set<String> editionPluginKeys, Set<String> installedPluginKeys) { + private static Set<String> pluginsToInstall(Set<String> editionPluginKeys, Set<String> installedPluginKeys) { return editionPluginKeys.stream() .filter(p -> !installedPluginKeys.contains(p)) .collect(Collectors.toSet()); } - private Set<String> pluginsToRemove(Set<String> editionPluginKeys, Collection<PluginInfo> installedPluginInfos) { + private static Set<String> pluginsToRemove(Set<String> editionPluginKeys, Collection<PluginInfo> installedPluginInfos) { Set<String> installedCommercialPluginKeys = installedPluginInfos.stream() .filter(EditionBundledPlugins::isEditionBundled) .map(PluginInfo::getKey) diff --git a/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionPluginDownloader.java b/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionPluginDownloader.java index 9f344ef1b83..7801af2fb12 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionPluginDownloader.java +++ b/server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionPluginDownloader.java @@ -78,6 +78,7 @@ public class EditionPluginDownloader { protected void download(Release release) { try { + LOG.info("Downloading plugin: {}", release.getArtifact().getKey()); downloadRelease(release); } catch (Exception e) { String message = String.format("Fail to download the plugin (%s, version %s) from %s (error is : %s)", diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionInstallerTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionInstallerTest.java index 0c6aa349d09..e4987d1498d 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionInstallerTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionInstallerTest.java @@ -176,6 +176,8 @@ public class EditionInstallerTest { verify(uninstaller).uninstall("p2"); verifyNoMoreInteractions(uninstaller); verifyNoMoreInteractions(downloader); + assertThat(logTester.logs()).containsOnly("Installing edition 'edition-key', download: [p4], remove: [p2]"); + } @Test @@ -209,6 +211,7 @@ public class EditionInstallerTest { verifyZeroInteractions(downloader); verify(editionManagementState).startManualInstall(newLicense); verifyNoMoreInteractions(editionManagementState); + assertThat(logTester.logs()).containsOnly("Installation of edition 'edition-key' needs to be done manually"); } @Test @@ -283,7 +286,6 @@ public class EditionInstallerTest { verify(editionManagementState).startAutomaticInstall(newLicense); verify(editionManagementState).installFailed(expectedErrorMessage); verifyNoMoreInteractions(editionManagementState); - assertThat(logTester.logs()).hasSize(1); assertThat(logTester.logs(LoggerLevel.ERROR)) .containsOnly("Failed to install edition " + newLicense.getEditionKey() + " with plugins " + newLicense.getPluginKeys()); } diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionPluginDownloaderTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionPluginDownloaderTest.java index c2659beacfe..4f7d6498abd 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionPluginDownloaderTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionPluginDownloaderTest.java @@ -31,6 +31,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.TemporaryFolder; import org.sonar.api.utils.HttpDownloader; +import org.sonar.api.utils.log.LogTester; import org.sonar.server.platform.ServerFileSystem; import org.sonar.updatecenter.common.Plugin; import org.sonar.updatecenter.common.Release; @@ -46,6 +47,9 @@ import static org.mockito.Mockito.when; public class EditionPluginDownloaderTest { @Rule + public LogTester logTester = new LogTester(); + + @Rule public TemporaryFolder temp = new TemporaryFolder(); private ServerFileSystem fs = mock(ServerFileSystem.class); @@ -75,6 +79,7 @@ public class EditionPluginDownloaderTest { verify(httpDownloader).download(new URI("http://host/plugin1.jar"), new File(tmpDir, "plugin1.jar")); verify(httpDownloader).download(new URI("http://host/plugin2.jar"), new File(tmpDir, "plugin2.jar")); + assertThat(logTester.logs()).containsOnly("Downloading plugin: plugin1", "Downloading plugin: plugin2"); assertThat(downloadDir).isDirectory(); assertThat(tmpDir).doesNotExist(); } |