aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2017-10-20 16:24:29 +0200
committerGrégoire Aubert <gregoire.aubert@sonarsource.com>2017-10-23 08:01:13 -0700
commit373902cba184cd04ccde5b85073ccc25a415f1fe (patch)
tree88a00f8665fb25d80ea5e7e9dcb9db6bf88a18ea
parente076b64c1895215ddb11000ee684342b4c744816 (diff)
downloadsonarqube-373902cba184cd04ccde5b85073ccc25a415f1fe.tar.gz
sonarqube-373902cba184cd04ccde5b85073ccc25a415f1fe.zip
SONAR-9946 Log INFO edition installation
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionInstaller.java8
-rw-r--r--server/sonar-server/src/main/java/org/sonar/server/plugins/edition/EditionPluginDownloader.java1
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionInstallerTest.java4
-rw-r--r--server/sonar-server/src/test/java/org/sonar/server/plugins/edition/EditionPluginDownloaderTest.java5
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();
}