diff options
author | Duarte Meneses <duarte.meneses@sonarsource.com> | 2015-07-30 10:24:11 +0200 |
---|---|---|
committer | Duarte Meneses <duarte.meneses@sonarsource.com> | 2015-07-30 15:40:57 +0200 |
commit | 6ae87caef4147e53cb58866c99ce978edd4d3b9c (patch) | |
tree | 64547a7eb804472e9fa030aec02c157b1471e98b /sonar-runner-api/src/test/java | |
parent | 5ca7bdca3fcb34463b360e5a6a98237e78655af4 (diff) | |
download | sonar-scanner-cli-6ae87caef4147e53cb58866c99ce978edd4d3b9c.tar.gz sonar-scanner-cli-6ae87caef4147e53cb58866c99ce978edd4d3b9c.zip |
SONARUNNER-143 New API to retrieve issues produced by the analysis
Diffstat (limited to 'sonar-runner-api/src/test/java')
-rw-r--r-- | sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java | 41 | ||||
-rw-r--r-- | sonar-runner-api/src/test/java/org/sonar/runner/impl/IsolatedLauncherFactoryTest.java | 11 |
2 files changed, 50 insertions, 2 deletions
diff --git a/sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java b/sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java index e838381..05df62c 100644 --- a/sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java +++ b/sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java @@ -19,11 +19,17 @@ */ package org.sonar.runner.api; +import org.sonar.runner.api.EmbeddedRunner.IssueListenerAdapter; + +import java.awt.geom.IllegalPathStateException; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.charset.Charset; +import java.util.LinkedList; +import java.util.List; import java.util.Properties; + import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -32,7 +38,6 @@ import org.mockito.ArgumentMatcher; import org.sonar.home.cache.Logger; import org.sonar.runner.batch.IsolatedLauncher; import org.sonar.runner.impl.IsolatedLauncherFactory; - import static org.fest.assertions.Assertions.assertThat; import static org.mockito.Matchers.any; import static org.mockito.Matchers.argThat; @@ -156,6 +161,40 @@ public class EmbeddedRunnerTest { } @Test + public void test_issue_adapter() { + final List<Issue> issuesRecorded = new LinkedList<>(); + IssueListener apiIssueListener = new IssueListener() { + @Override + public void handle(Issue issue) { + issuesRecorded.add(issue); + } + }; + IssueListenerAdapter adapter = new IssueListenerAdapter(apiIssueListener); + + org.sonar.runner.batch.IssueListener.Issue batchIssue = new org.sonar.runner.batch.IssueListener.Issue(); + batchIssue.setAssignee("assignee"); + adapter.handle(batchIssue); + + assertThat(issuesRecorded).hasSize(1); + assertThat(issuesRecorded.get(0).getAssignee()).isEqualTo("assignee"); + } + + @Test(expected = IllegalArgumentException.class) + public void reject_issue_listener_old_version() { + when(launcher.getVersion()).thenReturn("4.5"); + launch_with_issue_listener(); + } + + @Test + public void launch_with_issue_listener() { + runner.start(); + runner.runAnalysis(mock(Properties.class), mock(IssueListener.class)); + runner.stop(); + + verify(launcher).execute(any(Properties.class), any(org.sonar.runner.batch.IssueListener.class)); + } + + @Test public void should_launch_batch_analysisProperties() { runner.setGlobalProperty("sonar.projectKey", "foo"); runner.start(); diff --git a/sonar-runner-api/src/test/java/org/sonar/runner/impl/IsolatedLauncherFactoryTest.java b/sonar-runner-api/src/test/java/org/sonar/runner/impl/IsolatedLauncherFactoryTest.java index a186d72..957d840 100644 --- a/sonar-runner-api/src/test/java/org/sonar/runner/impl/IsolatedLauncherFactoryTest.java +++ b/sonar-runner-api/src/test/java/org/sonar/runner/impl/IsolatedLauncherFactoryTest.java @@ -19,13 +19,15 @@ */ package org.sonar.runner.impl; +import org.sonar.runner.batch.IssueListener; + import java.util.Properties; + import org.junit.Before; import org.junit.Test; import org.sonar.home.cache.Logger; import org.sonar.runner.batch.IsolatedLauncher; import org.sonar.runner.batch.LogOutput; - import static org.fest.assertions.Fail.fail; import static org.mockito.Mockito.mock; @@ -55,6 +57,7 @@ public class IsolatedLauncherFactoryTest { public static class FakeIsolatedLauncher implements IsolatedLauncher { public static Properties props = null; + public static IssueListener listener = null; @Override public void start(Properties properties, LogOutput logger) { @@ -77,5 +80,11 @@ public class IsolatedLauncherFactoryTest { public String getVersion() { return null; } + + @Override + public void execute(Properties properties, IssueListener listener) { + FakeIsolatedLauncher.props = properties; + FakeIsolatedLauncher.listener = listener; + } } } |