diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2019-04-19 12:18:50 +0200 |
---|---|---|
committer | SonarTech <sonartech@sonarsource.com> | 2019-04-26 20:21:06 +0200 |
commit | 1eb53b8a61cc122e36d90a1f23c5f9a062957408 (patch) | |
tree | 818f6277f4f967563d2537b31e48b1ff676230c5 /sonar-plugin-api/src | |
parent | 705b6c0497b9adfdf7f2727288df3944b97be463 (diff) | |
download | sonarqube-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.java | 12 | ||||
-rw-r--r-- | sonar-plugin-api/src/test/java/org/sonar/api/config/EmailSettingsTest.java | 20 |
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"); } |