From 9edb39c091f8bf970be6849746ac7d9128d44fad Mon Sep 17 00:00:00 2001 From: Godin Date: Tue, 19 Oct 2010 15:53:00 +0000 Subject: [PATCH] SONAR-1772: Add FindbugsNativeSensorTest --- plugins/sonar-findbugs-plugin/pom.xml | 10 ++-- .../findbugs/FindbugsNativeSensorTest.java | 49 +++++++++++++++++++ 2 files changed, 54 insertions(+), 5 deletions(-) create mode 100644 plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsNativeSensorTest.java diff --git a/plugins/sonar-findbugs-plugin/pom.xml b/plugins/sonar-findbugs-plugin/pom.xml index 2f6587ba895..509b963193e 100644 --- a/plugins/sonar-findbugs-plugin/pom.xml +++ b/plugins/sonar-findbugs-plugin/pom.xml @@ -17,6 +17,11 @@ 1.3.9 + + @@ -25,11 +30,6 @@ xercesImpl 2.6.2 - diff --git a/plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsNativeSensorTest.java b/plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsNativeSensorTest.java new file mode 100644 index 00000000000..4530003378f --- /dev/null +++ b/plugins/sonar-findbugs-plugin/src/test/java/org/sonar/plugins/findbugs/FindbugsNativeSensorTest.java @@ -0,0 +1,49 @@ +package org.sonar.plugins.findbugs; + +import org.apache.maven.project.MavenProject; +import org.junit.Test; +import org.sonar.api.profiles.RulesProfile; +import org.sonar.api.resources.DefaultProjectFileSystem; +import org.sonar.api.resources.Project; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + +public class FindbugsNativeSensorTest extends FindbugsTests { + + @Test + public void shouldExecuteWhenSomeRulesAreActive() throws Exception { + FindbugsSensor sensor = new FindbugsSensor(createRulesProfileWithActiveRules(), new FindbugsRuleFinder(), null); + Project project = createProject(); + assertTrue(sensor.shouldExecuteOnProject(project)); + } + + @Test + public void shouldNotExecuteWhenNoRulesAreActive() throws Exception { + FindbugsSensor analyser = new FindbugsSensor(RulesProfile.create(), new FindbugsRuleFinder(), null); + Project pom = createProject(); + assertFalse(analyser.shouldExecuteOnProject(pom)); + } + + @Test + public void shouldNotExecuteOnEar() { + Project project = createProject(); + when(project.getPom().getPackaging()).thenReturn("ear"); + FindbugsSensor analyser = new FindbugsSensor(createRulesProfileWithActiveRules(), new FindbugsRuleFinder(), null); + assertFalse(analyser.shouldExecuteOnProject(project)); + } + + private Project createProject() { + DefaultProjectFileSystem fileSystem = mock(DefaultProjectFileSystem.class); + when(fileSystem.hasJavaSourceFiles()).thenReturn(Boolean.TRUE); + + MavenProject mavenProject = mock(MavenProject.class); + Project project = mock(Project.class); + when(project.getFileSystem()).thenReturn(fileSystem); + when(project.getPom()).thenReturn(mavenProject); + return project; + } + +} -- 2.39.5