aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2019-04-19 12:18:50 +0200
committerSonarTech <sonartech@sonarsource.com>2019-04-26 20:21:06 +0200
commit1eb53b8a61cc122e36d90a1f23c5f9a062957408 (patch)
tree818f6277f4f967563d2537b31e48b1ff676230c5 /sonar-plugin-api/src
parent705b6c0497b9adfdf7f2727288df3944b97be463 (diff)
downloadsonarqube-1eb53b8a61cc122e36d90a1f23c5f9a062957408.tar.gz
sonarqube-1eb53b8a61cc122e36d90a1f23c5f9a062957408.zip
SONAR-10725 fix EmailSettings.getServerBaseURL()
Diffstat (limited to 'sonar-plugin-api/src')
-rw-r--r--sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java12
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/config/EmailSettingsTest.java20
2 files changed, 12 insertions, 20 deletions
diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java b/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java
index d35642a7904..061d93c1b66 100644
--- a/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java
+++ b/sonar-plugin-api/src/main/java/org/sonar/api/config/EmailSettings.java
@@ -20,15 +20,13 @@
package org.sonar.api.config;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
import org.sonar.api.PropertyType;
import org.sonar.api.ce.ComputeEngineSide;
+import org.sonar.api.platform.Server;
import org.sonar.api.server.ServerSide;
import static java.util.Arrays.asList;
import static org.sonar.api.CoreProperties.CATEGORY_GENERAL;
-import static org.sonar.api.CoreProperties.SERVER_BASE_URL;
-import static org.sonar.api.CoreProperties.SERVER_BASE_URL_DEFAULT_VALUE;
import static org.sonar.api.CoreProperties.SUBCATEGORY_EMAIL;
import static org.sonar.api.PropertyType.INTEGER;
import static org.sonar.api.PropertyType.SINGLE_SELECT_LIST;
@@ -57,9 +55,11 @@ public class EmailSettings {
public static final String PREFIX_DEFAULT = "[SONARQUBE]";
private final Configuration config;
+ private final Server server;
- public EmailSettings(Configuration config) {
+ public EmailSettings(Configuration config, Server server) {
this.config = config;
+ this.server = server;
}
public String getSmtpHost() {
@@ -95,9 +95,7 @@ public class EmailSettings {
}
public String getServerBaseURL() {
- return config.get(SERVER_BASE_URL)
- .map(t -> StringUtils.removeEnd(t, "/"))
- .orElse(SERVER_BASE_URL_DEFAULT_VALUE);
+ return server.getPublicRootUrl();
}
public String getInstanceName() {
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/config/EmailSettingsTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/config/EmailSettingsTest.java
index 72c2fea4607..8de07ea19a0 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/config/EmailSettingsTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/config/EmailSettingsTest.java
@@ -21,16 +21,18 @@ package org.sonar.api.config;
import org.apache.commons.lang.RandomStringUtils;
import org.junit.Test;
-import org.sonar.api.CoreProperties;
import org.sonar.api.config.internal.MapSettings;
+import org.sonar.api.platform.Server;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.sonar.api.CoreProperties.SERVER_BASE_URL;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
public class EmailSettingsTest {
private MapSettings settings = new MapSettings();
- private EmailSettings underTest = new EmailSettings(settings.asConfig());
+ private Server server = mock(Server.class);
+ private EmailSettings underTest = new EmailSettings(settings.asConfig(), server);
@Test
public void should_return_default_values() {
@@ -42,25 +44,17 @@ public class EmailSettingsTest {
assertThat(underTest.getFrom()).isEqualTo("noreply@nowhere");
assertThat(underTest.getFromName()).isEqualTo("SonarQube");
assertThat(underTest.getPrefix()).isEqualTo("[SONARQUBE]");
- assertThat(underTest.getServerBaseURL()).isEqualTo(CoreProperties.SERVER_BASE_URL_DEFAULT_VALUE);
}
@Test
- public void getServerBaseUrl_returns_property_value() {
+ public void getServerBaseUrl_returns_server_getPublicRootUrl() {
String expected = RandomStringUtils.randomAlphabetic(15);
- settings.setProperty(SERVER_BASE_URL, expected);
+ when(server.getPublicRootUrl()).thenReturn(expected);
assertThat(underTest.getServerBaseURL()).isEqualTo(expected);
}
@Test
- public void getServerBaseUrl_removes_trailing_slash_from_property_value() {
- settings.setProperty(SERVER_BASE_URL, "http://www.acme.com/");
-
- assertThat(underTest.getServerBaseURL()).isEqualTo("http://www.acme.com");
- }
-
- @Test
public void getInstanceName_returns_sonarqube_when_not_on_SonarCloud() {
assertThat(underTest.getInstanceName()).isEqualTo("SonarQube");
}