diff options
author | simonbrandhof <simon.brandhof@sonarsource.com> | 2015-12-03 15:26:11 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@sonarsource.com> | 2015-12-04 17:42:53 +0100 |
commit | 4a403cd45546e9f3748c8a2399159ca9e1eaa621 (patch) | |
tree | 9a9e794c7ecb35d55f38271681e4dc505030ed15 /it | |
parent | e3f24eae9edd75b198183ee7239c33918d9c8a2e (diff) | |
download | sonarqube-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.java | 16 | ||||
-rw-r--r-- | it/it-tests/src/test/java/it/analysis/BatchTest.java | 30 | ||||
-rw-r--r-- | it/it-tests/src/test/java/it/analysis/ReportDumpTest.java | 65 |
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(); + } + +} |