]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-10874 Skip notification when assigning user to new hotspot
authorJanos Gyerik <janos.gyerik@sonarsource.com>
Thu, 21 Jun 2018 20:24:54 +0000 (22:24 +0200)
committersonartech <sonartech@sonarsource.com>
Wed, 4 Jul 2018 07:31:05 +0000 (09:31 +0200)
server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/step/SendIssueNotificationsStep.java
server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/step/SendIssueNotificationsStepTest.java

index 2344309af6aba0c7b650e9741504d0c0c7d409b3..ccb59f0d38628e844d41ba02421293ad27bb0f48 100644 (file)
@@ -32,6 +32,7 @@ import java.util.Set;
 import java.util.function.Predicate;
 import javax.annotation.CheckForNull;
 import org.sonar.api.issue.Issue;
+import org.sonar.api.rules.RuleType;
 import org.sonar.api.utils.Duration;
 import org.sonar.ce.task.projectanalysis.analysis.AnalysisMetadataHolder;
 import org.sonar.ce.task.projectanalysis.analysis.Branch;
@@ -134,7 +135,7 @@ public class SendIssueNotificationsStep implements ComputationStep {
   private void processIssues(NewIssuesStatistics newIssuesStats, CloseableIterator<DefaultIssue> issues, Component project, Map<String, UserDto> usersDtoByUuids) {
     while (issues.hasNext()) {
       DefaultIssue issue = issues.next();
-      if (issue.isNew() && issue.resolution() == null) {
+      if (issue.isNew() && issue.resolution() == null && issue.type() != RuleType.SECURITY_HOTSPOT) {
         newIssuesStats.add(issue);
       } else if (issue.isChanged() && issue.mustSendNotifications()) {
         sendIssueChangeNotification(issue, project, usersDtoByUuids);
index 0acf8a25e97dfa072486ddf8a7480c4ccc1dbd38..2229f229ee30374883422d7d418d1bb6cc26077d 100644 (file)
@@ -26,6 +26,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Random;
 import java.util.stream.IntStream;
+import java.util.stream.Stream;
 import org.apache.commons.lang.RandomStringUtils;
 import org.junit.Before;
 import org.junit.Rule;
@@ -112,7 +113,8 @@ public class SendIssueNotificationsStepTest extends BaseStepTest {
   public DbTester db = DbTester.create(System2.INSTANCE);
 
   private final Random random = new Random();
-  private final RuleType randomRuleType = RuleType.values()[random.nextInt(RuleType.values().length)];
+  private final RuleType[] RULE_TYPES_EXCEPT_HOTSPOTS = Stream.of(RuleType.values()).filter(r -> r != RuleType.SECURITY_HOTSPOT).toArray(RuleType[]::new);
+  private final RuleType randomRuleType = RULE_TYPES_EXCEPT_HOTSPOTS[random.nextInt(RULE_TYPES_EXCEPT_HOTSPOTS.length)];
   private NotificationService notificationService = mock(NotificationService.class);
   private NewIssuesNotificationFactory newIssuesNotificationFactory = mock(NewIssuesNotificationFactory.class);
   private NewIssuesNotification newIssuesNotificationMock = createNewIssuesNotificationMock();