summaryrefslogtreecommitdiffstats
path: root/it
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@sonarsource.com>2015-12-03 15:26:11 +0100
committerSimon Brandhof <simon.brandhof@sonarsource.com>2015-12-04 17:42:53 +0100
commit4a403cd45546e9f3748c8a2399159ca9e1eaa621 (patch)
tree9a9e794c7ecb35d55f38271681e4dc505030ed15 /it
parente3f24eae9edd75b198183ee7239c33918d9c8a2e (diff)
downloadsonarqube-4a403cd45546e9f3748c8a2399159ca9e1eaa621.tar.gz
sonarqube-4a403cd45546e9f3748c8a2399159ca9e1eaa621.zip
SONAR-6905 replace analysis-details.json by report-task.txt
Diffstat (limited to 'it')
-rw-r--r--it/it-tests/src/test/java/it/Category3Suite.java16
-rw-r--r--it/it-tests/src/test/java/it/analysis/BatchTest.java30
-rw-r--r--it/it-tests/src/test/java/it/analysis/ReportDumpTest.java65
3 files changed, 82 insertions, 29 deletions
diff --git a/it/it-tests/src/test/java/it/Category3Suite.java b/it/it-tests/src/test/java/it/Category3Suite.java
index fe0fe1068d1..61bfc18575a 100644
--- a/it/it-tests/src/test/java/it/Category3Suite.java
+++ b/it/it-tests/src/test/java/it/Category3Suite.java
@@ -6,18 +6,7 @@
package it;
import com.sonar.orchestrator.Orchestrator;
-import it.analysis.BatchTest;
-import it.analysis.ExtensionLifecycleTest;
-import it.analysis.IssueJsonReportTest;
-import it.analysis.IssuesModeTest;
-import it.analysis.LinksTest;
-import it.analysis.MavenTest;
-import it.analysis.MultiLanguageTest;
-import it.analysis.ProjectBuilderTest;
-import it.analysis.ProjectExclusionsTest;
-import it.analysis.ProjectProvisioningTest;
-import it.analysis.SettingsEncryptionTest;
-import it.analysis.TempFolderTest;
+import it.analysis.*;
import org.junit.ClassRule;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@@ -39,7 +28,8 @@ import static util.ItUtils.xooPlugin;
ProjectProvisioningTest.class,
BatchTest.class,
IssuesModeTest.class,
- SettingsEncryptionTest.class
+ SettingsEncryptionTest.class,
+ ReportDumpTest.class
})
public class Category3Suite {
diff --git a/it/it-tests/src/test/java/it/analysis/BatchTest.java b/it/it-tests/src/test/java/it/analysis/BatchTest.java
index e558ca8d942..1485025b175 100644
--- a/it/it-tests/src/test/java/it/analysis/BatchTest.java
+++ b/it/it-tests/src/test/java/it/analysis/BatchTest.java
@@ -11,16 +11,8 @@ import com.sonar.orchestrator.build.BuildResult;
import com.sonar.orchestrator.build.SonarRunner;
import com.sonar.orchestrator.locator.FileLocation;
import it.Category3Suite;
-import java.io.File;
-import java.io.IOException;
-import java.util.Date;
import org.apache.commons.io.FileUtils;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.ClassRule;
-import org.junit.Ignore;
-import org.junit.Rule;
-import org.junit.Test;
+import org.junit.*;
import org.junit.rules.ExpectedException;
import org.junit.rules.TemporaryFolder;
import org.sonar.wsclient.Sonar;
@@ -30,6 +22,10 @@ import org.sonar.wsclient.services.Resource;
import org.sonar.wsclient.services.ResourceQuery;
import util.ItUtils;
+import java.io.File;
+import java.io.IOException;
+import java.util.Date;
+
import static org.assertj.core.api.Assertions.assertThat;
public class BatchTest {
@@ -49,7 +45,7 @@ public class BatchTest {
orchestrator.getServer().restoreProfile(FileLocation.ofClasspath("/analysis/BatchTest/one-issue-per-line.xml"));
}
- /**
+ /**
* SONAR-3718
*/
@Test
@@ -313,7 +309,7 @@ public class BatchTest {
File cache = new File(userHome, "cache");
assertThat(cache).exists().isDirectory();
- int cachedFiles = FileUtils.listFiles(cache, new String[] {"jar"}, true).size();
+ int cachedFiles = FileUtils.listFiles(cache, new String[]{"jar"}, true).size();
assertThat(cachedFiles).isGreaterThan(5);
assertThat(result.getLogs()).contains("User cache: " + cache.getAbsolutePath());
assertThat(result.getLogs()).contains("Download sonar-xoo-plugin-");
@@ -354,11 +350,13 @@ public class BatchTest {
assertThat(result.getLogs()).contains("/dashboard/index/com.sonarsource.it.samples:multi-modules-sample:mybranch");
- orchestrator.getServer().getAdminWsClient().update(new PropertyUpdateQuery("sonar.core.serverBaseURL", "http://foo:123/sonar"));
-
- result = scan("shared/xoo-multi-modules-sample");
-
- assertThat(result.getLogs()).contains("http://foo:123/sonar/dashboard/index/com.sonarsource.it.samples:multi-modules-sample");
+ try {
+ orchestrator.getServer().getAdminWsClient().update(new PropertyUpdateQuery("sonar.core.serverBaseURL", "http://foo:123/sonar"));
+ result = scan("shared/xoo-multi-modules-sample");
+ assertThat(result.getLogs()).contains("http://foo:123/sonar/dashboard/index/com.sonarsource.it.samples:multi-modules-sample");
+ } finally {
+ orchestrator.getServer().getAdminWsClient().update(new PropertyUpdateQuery("sonar.core.serverBaseURL", null));
+ }
}
/**
diff --git a/it/it-tests/src/test/java/it/analysis/ReportDumpTest.java b/it/it-tests/src/test/java/it/analysis/ReportDumpTest.java
new file mode 100644
index 00000000000..91129f299a7
--- /dev/null
+++ b/it/it-tests/src/test/java/it/analysis/ReportDumpTest.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2009-2014 SonarSource SA
+ * All rights reserved
+ * mailto:contact AT sonarsource DOT com
+ */
+package it.analysis;
+
+import com.sonar.orchestrator.Orchestrator;
+import com.sonar.orchestrator.build.SonarRunner;
+import com.squareup.okhttp.HttpUrl;
+import com.squareup.okhttp.OkHttpClient;
+import com.squareup.okhttp.Request;
+import com.squareup.okhttp.Response;
+import it.Category3Suite;
+import org.apache.commons.io.FileUtils;
+import org.junit.ClassRule;
+import org.junit.Test;
+import util.ItUtils;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.StringReader;
+import java.nio.charset.StandardCharsets;
+import java.util.Properties;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+public class ReportDumpTest {
+
+ @ClassRule
+ public static Orchestrator orchestrator = Category3Suite.ORCHESTRATOR;
+
+ /**
+ * SONAR-6905
+ */
+ @Test
+ public void dump_metadata_of_uploaded_report() throws Exception {
+ File projectDir = ItUtils.projectDir("shared/xoo-sample");
+ orchestrator.executeBuild(SonarRunner.create(projectDir, "sonar.projectKey", "dump_metadata_of_uploaded_report", "sonar.projectName", "dump_metadata_of_uploaded_report"));
+
+ File metadata = new File(projectDir, ".sonar/report-task.txt");
+ assertThat(metadata).exists().isFile();
+
+ // verify properties
+ Properties props = new Properties();
+ props.load(new StringReader(FileUtils.readFileToString(metadata, StandardCharsets.UTF_8)));
+ assertThat(props).hasSize(4);
+ assertThat(props.getProperty("projectKey")).isEqualTo("dump_metadata_of_uploaded_report");
+ assertThat(props.getProperty("ceTaskId")).isNotEmpty();
+ verifyUrl(props.getProperty("dashboardUrl"));
+ verifyUrl(props.getProperty("ceTaskUrl"));
+ }
+
+ private void verifyUrl(String url) throws IOException {
+ HttpUrl httpUrl = HttpUrl.parse(url);
+ Request request = new Request.Builder()
+ .url(httpUrl)
+ .get()
+ .build();
+ Response response = new OkHttpClient().newCall(request).execute();
+ assertThat(response.isSuccessful()).as(httpUrl.toString()).isTrue();
+ assertThat(response.body().string()).as(httpUrl.toString()).isNotEmpty();
+ }
+
+}