aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-plugin-api/src/test
diff options
context:
space:
mode:
authorJulien HENRY <julien.henry@sonarsource.com>2018-11-13 15:38:22 +0100
committersonartech <sonartech@sonarsource.com>2019-01-16 09:42:59 +0100
commit4a659a05cf4ff177629e9cb78aa6a0721810ff61 (patch)
tree6f9a066e40db44cff8808f3d58285d2e7600fd8e /sonar-plugin-api/src/test
parent8bbac3c6e0023978a59814cd1e77fd0efcb6c265 (diff)
downloadsonarqube-4a659a05cf4ff177629e9cb78aa6a0721810ff61.tar.gz
sonarqube-4a659a05cf4ff177629e9cb78aa6a0721810ff61.zip
SONAR-11465 NoSonarFilter moved to project level
Diffstat (limited to 'sonar-plugin-api/src/test')
-rw-r--r--sonar-plugin-api/src/test/java/org/sonar/api/issue/NoSonarFilterTest.java69
1 files changed, 10 insertions, 59 deletions
diff --git a/sonar-plugin-api/src/test/java/org/sonar/api/issue/NoSonarFilterTest.java b/sonar-plugin-api/src/test/java/org/sonar/api/issue/NoSonarFilterTest.java
index 3e4435f489b..0665df11878 100644
--- a/sonar-plugin-api/src/test/java/org/sonar/api/issue/NoSonarFilterTest.java
+++ b/sonar-plugin-api/src/test/java/org/sonar/api/issue/NoSonarFilterTest.java
@@ -19,72 +19,23 @@
*/
package org.sonar.api.issue;
-import org.sonar.api.scan.issue.filter.FilterableIssue;
-
-import com.google.common.collect.ImmutableSet;
-import org.junit.Before;
+import java.util.Arrays;
+import java.util.HashSet;
import org.junit.Test;
-import org.sonar.api.scan.issue.filter.IssueFilterChain;
-import org.sonar.api.rule.RuleKey;
-
-import java.util.Set;
+import org.sonar.api.batch.fs.internal.DefaultInputFile;
+import org.sonar.api.batch.fs.internal.TestInputFileBuilder;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
import static org.assertj.core.api.Assertions.assertThat;
-import static org.mockito.ArgumentMatchers.isA;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
public class NoSonarFilterTest {
- NoSonarFilter filter = new NoSonarFilter();
- IssueFilterChain chain = mock(IssueFilterChain.class);
-
- @Before
- public void setupChain() {
- when(chain.accept(isA(FilterableIssue.class))).thenReturn(true);
- }
-
- @Test
- public void should_ignore_lines_commented_with_nosonar() {
- FilterableIssue issue = mock(FilterableIssue.class);
- when(issue.componentKey()).thenReturn("struts:org.apache.Action");
- when(issue.ruleKey()).thenReturn(RuleKey.of("squid", "AvoidCycles"));
-
- Set<Integer> noSonarLines = ImmutableSet.of(31, 55);
- filter.addComponent("struts:org.apache.Action", noSonarLines);
-
- // issue on file
- when(issue.line()).thenReturn(null);
- assertThat(filter.accept(issue, chain)).isTrue();
-
- // issue on lines
- when(issue.line()).thenReturn(31);
- assertThat(filter.accept(issue, chain)).isFalse();
-
- when(issue.line()).thenReturn(222);
- assertThat(filter.accept(issue, chain)).isTrue();
-
- verify(chain, times(2)).accept(issue);
- }
-
@Test
- public void should_accept_issues_on_no_sonar_rules() {
- // The "No Sonar" rule logs violations on the lines that are flagged with "NOSONAR" !!
- FilterableIssue issue = mock(FilterableIssue.class);
- when(issue.componentKey()).thenReturn("struts:org.apache.Action");
- when(issue.ruleKey()).thenReturn(RuleKey.of("squid", "NoSonarCheck"));
-
- Set<Integer> noSonarLines = ImmutableSet.of(31, 55);
- filter.addComponent("struts:org.apache.Action", noSonarLines);
-
- when(issue.line()).thenReturn(31);
- assertThat(filter.accept(issue, chain)).isTrue();
-
- when(issue.line()).thenReturn(222);
- assertThat(filter.accept(issue, chain)).isTrue();
+ public void should_store_nosonar_lines_on_inputfile() {
+ DefaultInputFile f = TestInputFileBuilder.create("module1", "myfile.java").build();
+ new NoSonarFilter().noSonarInFile(f, new HashSet<>(Arrays.asList(1,4)));
- verify(chain, times(2)).accept(issue);
+ assertThat(f.hasNoSonarAt(1)).isTrue();
+ assertThat(f.hasNoSonarAt(2)).isFalse();
+ assertThat(f.hasNoSonarAt(4)).isTrue();
}
}