aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacek <jacek.poreda@sonarsource.com>2022-03-30 11:15:17 +0200
committersonartech <sonartech@sonarsource.com>2022-03-30 13:38:10 +0000
commitd2c8f6d5606578ab9939732afd73d7c5f06bf247 (patch)
tree9725c06c6144cf7fce5c4b567f7a9d57ba787212
parentcfd690a69fcc3faf9e76fb73550040e4272159f2 (diff)
downloadsonarqube-d2c8f6d5606578ab9939732afd73d7c5f06bf247.tar.gz
sonarqube-d2c8f6d5606578ab9939732afd73d7c5f06bf247.zip
SONAR-16179 Fix SSF-240
-rw-r--r--server/sonar-webserver-webapi/src/main/java/org/sonar/server/email/ws/SendAction.java16
-rw-r--r--server/sonar-webserver-webapi/src/test/java/org/sonar/server/email/ws/SendActionTest.java13
2 files changed, 7 insertions, 22 deletions
diff --git a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/email/ws/SendAction.java b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/email/ws/SendAction.java
index 4f7a8b308d7..3c4a05d3c19 100644
--- a/server/sonar-webserver-webapi/src/main/java/org/sonar/server/email/ws/SendAction.java
+++ b/server/sonar-webserver-webapi/src/main/java/org/sonar/server/email/ws/SendAction.java
@@ -19,10 +19,6 @@
*/
package org.sonar.server.email.ws;
-import com.google.common.base.Throwables;
-import java.util.Collections;
-import java.util.List;
-import java.util.stream.Collectors;
import org.apache.commons.mail.EmailException;
import org.sonar.api.server.ws.Request;
import org.sonar.api.server.ws.Response;
@@ -32,7 +28,6 @@ import org.sonar.server.notification.email.EmailNotificationChannel;
import org.sonar.server.user.UserSession;
public class SendAction implements EmailsWsAction {
-
private static final String PARAM_TO = "to";
private static final String PARAM_SUBJECT = "subject";
private static final String PARAM_MESSAGE = "message";
@@ -75,18 +70,9 @@ public class SendAction implements EmailsWsAction {
try {
emailNotificationChannel.sendTestEmail(request.mandatoryParam(PARAM_TO), request.param(PARAM_SUBJECT), request.mandatoryParam(PARAM_MESSAGE));
} catch (EmailException emailException) {
- throw createBadRequestException(emailException);
+ throw BadRequestException.create("Configuration invalid: please double check SMTP host, port, login and password.");
}
response.noContent();
}
- private static BadRequestException createBadRequestException(EmailException emailException) {
- List<String> messages = Throwables.getCausalChain(emailException)
- .stream()
- .map(Throwable::getMessage)
- .collect(Collectors.toList());
- Collections.reverse(messages);
- return BadRequestException.create(messages);
- }
-
}
diff --git a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/email/ws/SendActionTest.java b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/email/ws/SendActionTest.java
index efde74dfadf..ced18781eb9 100644
--- a/server/sonar-webserver-webapi/src/test/java/org/sonar/server/email/ws/SendActionTest.java
+++ b/server/sonar-webserver-webapi/src/test/java/org/sonar/server/email/ws/SendActionTest.java
@@ -41,13 +41,12 @@ import static org.mockito.Mockito.verify;
public class SendActionTest {
-
@Rule
- public UserSessionRule userSession = UserSessionRule.standalone();
+ public final UserSessionRule userSession = UserSessionRule.standalone();
- private EmailNotificationChannel emailNotificationChannel = mock(EmailNotificationChannel.class);
+ private final EmailNotificationChannel emailNotificationChannel = mock(EmailNotificationChannel.class);
- private WsActionTester ws = new WsActionTester(new SendAction(userSession, emailNotificationChannel));
+ private final WsActionTester ws = new WsActionTester(new SendAction(userSession, emailNotificationChannel));
@Test
public void send_test_email() throws Exception {
@@ -91,7 +90,8 @@ public class SendActionTest {
public void throw_ForbiddenException_if_not_system_administrator() {
userSession.logIn().setNonSystemAdministrator();
- assertThatThrownBy(() -> ws.newRequest().execute())
+ var request = ws.newRequest();
+ assertThatThrownBy(request::execute)
.isInstanceOf(ForbiddenException.class)
.hasMessage("Insufficient privileges");
}
@@ -109,8 +109,7 @@ public class SendActionTest {
executeRequest("john@doo.com", "Test Message from SonarQube", "This is a test message from SonarQube at http://localhost:9000");
fail();
} catch (BadRequestException e) {
- assertThat(e.errors()).containsExactly(
- "root cause", "parent cause", "child cause", "last message");
+ assertThat(e.errors()).containsExactly("Configuration invalid: please double check SMTP host, port, login and password.");
}
}