aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java')
-rw-r--r--sonar-runner-api/src/test/java/org/sonar/runner/api/EmbeddedRunnerTest.java41
1 files changed, 40 insertions, 1 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();