summaryrefslogtreecommitdiffstats
path: root/it/it-tests
diff options
context:
space:
mode:
authorDuarte Meneses <duarte.meneses@sonarsource.com>2015-09-08 15:24:50 +0200
committerDuarte Meneses <duarte.meneses@sonarsource.com>2015-09-09 11:57:38 +0200
commit4be016e61f4d1e4fed297dd7eb3b3ccb286f0f81 (patch)
tree7ce08a4beef4bf70b6521bdd04e27cc9e2907e92 /it/it-tests
parent84c39f50d53f7f4a76fcda6c58b6120875501e40 (diff)
downloadsonarqube-4be016e61f4d1e4fed297dd7eb3b3ccb286f0f81.tar.gz
sonarqube-4be016e61f4d1e4fed297dd7eb3b3ccb286f0f81.zip
SONAR-6817 Issues mode should support analysis of projects not associated
Diffstat (limited to 'it/it-tests')
-rw-r--r--it/it-tests/src/test/java/batch/IssuesModeTest.java43
1 files changed, 33 insertions, 10 deletions
diff --git a/it/it-tests/src/test/java/batch/IssuesModeTest.java b/it/it-tests/src/test/java/batch/IssuesModeTest.java
index 651546c0535..5e3c0660b66 100644
--- a/it/it-tests/src/test/java/batch/IssuesModeTest.java
+++ b/it/it-tests/src/test/java/batch/IssuesModeTest.java
@@ -69,28 +69,45 @@ public class IssuesModeTest {
}
@Test
- public void issuesAnalysisOnNewProject() throws IOException {
+ public void issues_analysis_on_new_project() throws IOException {
restoreProfile("one-issue-per-line.xml");
orchestrator.getServer().provisionProject("sample", "xoo-sample");
orchestrator.getServer().associateProjectToQualityProfile("sample", "xoo", "one-issue-per-line");
SonarRunner runner = configureRunnerIssues("shared/xoo-sample");
- orchestrator.executeBuild(runner);
+ BuildResult result = orchestrator.executeBuild(runner);
+ assertThat(ItUtils.countIssuesInJsonReport(result, true)).isEqualTo(17);
}
-
+
@Test
- public void invalidIncrementalMode() throws IOException {
+ public void invalid_incremental_mode() throws IOException {
restoreProfile("one-issue-per-line.xml");
orchestrator.getServer().provisionProject("sample", "xoo-sample");
orchestrator.getServer().associateProjectToQualityProfile("sample", "xoo", "one-issue-per-line");
SonarRunner runner = configureRunner("shared/xoo-sample");
runner.setProperty("sonar.analysis.mode", "incremental");
-
+
thrown.expect(BuildFailureException.class);
BuildResult res = orchestrator.executeBuild(runner);
-
+
assertThat(res.getLogs()).contains("Invalid analysis mode: incremental. This mode was removed in SonarQube 5.2");
}
+ @Test
+ public void non_associated_mode() throws IOException {
+ restoreProfile("one-issue-per-line.xml");
+ setDefaultQualityProfile("xoo", "one-issue-per-line");
+ SonarRunner runner = configureRunnerIssues("shared/xoo-sample-non-associated");
+ BuildResult result = orchestrator.executeBuild(runner);
+
+ assertThat(result.getLogs()).contains("is not associated");
+ assertThat(result.getLogs()).contains("Cache not found, synchronizing data");
+ assertThat(ItUtils.countIssuesInJsonReport(result, true)).isEqualTo(17);
+
+ result = orchestrator.executeBuild(runner);
+ assertThat(ItUtils.countIssuesInJsonReport(result, true)).isEqualTo(17);
+ assertThat(result.getLogs()).contains("Found cache");
+ }
+
// SONAR-5715
@Test
public void test_issues_mode_on_project_with_space_in_filename() throws IOException {
@@ -329,16 +346,16 @@ public class IssuesModeTest {
boolean expectedError = false;
for (Future<BuildResult> result : executorService.invokeAll(tasks)) {
try {
- result.get();
- } catch(ExecutionException e) {
- if(e.getCause() instanceof BuildFailureException) {
+ result.get();
+ } catch (ExecutionException e) {
+ if (e.getCause() instanceof BuildFailureException) {
BuildFailureException bfe = (BuildFailureException) e.getCause();
assertThat(bfe.getResult().getLogs()).contains("Another SonarQube analysis is already in progress for this project");
expectedError = true;
}
}
}
- if(!expectedError) {
+ if (!expectedError) {
fail("At least one of the threads should have failed");
}
}
@@ -370,4 +387,10 @@ public class IssuesModeTest {
return runner;
}
+ private void setDefaultQualityProfile(String languageKey, String profileName) {
+ orchestrator.getServer().adminWsClient().post("api/qualityprofiles/set_default",
+ "language", languageKey,
+ "profileName", profileName);
+ }
+
}