]> source.dussan.org Git - sonarqube.git/commitdiff
fix plugins WS medium test on windows box
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Fri, 15 May 2015 11:29:52 +0000 (13:29 +0200)
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>
Fri, 15 May 2015 12:56:38 +0000 (14:56 +0200)
server/sonar-server/src/test/filteredresources/org/sonar/server/plugins/ws/PluginsWsMediumTest/update-center.properties
server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginsWsMediumTest.java

index 48e90c02556103157c5cdefea9d1d8cc7bc63f17..950fb73c902a6f9600ff17a576730fc18be8380b 100644 (file)
@@ -34,13 +34,13 @@ decoy.defaults.mavenArtifactId=sonar-decoy-plugin
 decoy.1.0.date=2012-03-18
 decoy.1.0.sqVersions=${project.version}
 decoy.1.0.description=Surprise
-decoy.1.0.downloadUrl=file://${project.build.testOutputDirectory}/org/sonar/server/plugins/ws/PluginsWsMediumTest/sonar-decoy-plugin-1.0.jar
+decoy.1.0.downloadUrl=[[decoy.10.jar]]
 decoy.1.0.changelogUrl=http://jira.codehaus.org/foo
 
 decoy.1.1.date=2012-03-18
 decoy.1.1.sqVersions=${project.version}
 decoy.1.1.description=Surprise
-decoy.1.1.downloadUrl=file://${project.build.testOutputDirectory}/org/sonar/server/plugins/ws/PluginsWsMediumTest/sonar-decoy-plugin-1.1.jar
+decoy.1.1.downloadUrl=[[decoy.11.jar]]
 decoy.1.1.changelogUrl=http://jira.codehaus.org/foo
 
 # =============== decoy plugin
@@ -58,6 +58,5 @@ foo.defaults.mavenArtifactId=sonar-foo-plugin
 foo.1.0.date=2012-03-18
 foo.1.0.sqVersions=${project.version}
 foo.1.0.description=Surprise
-foo.1.0.downloadUrl=file://${project.build.testOutputDirectory}/org/sonar/server/plugins/ws/PluginsWsMediumTest/sonar-foo-plugin-1.0.jar
+foo.1.0.downloadUrl=[[foo.10.jar]]
 foo.1.0.changelogUrl=http://jira.codehaus.org/foo
-
index 9427afa33589ccf7b28599edcd06693e3bee717b..44818715c689c28ff7a328e47a16c4152ee1013f 100644 (file)
 package org.sonar.server.plugins.ws;
 
 import java.io.File;
+import java.io.IOException;
 import java.net.URISyntaxException;
 import java.net.URL;
+import org.apache.commons.io.FileUtils;
 import org.junit.ClassRule;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
 import org.sonar.core.permission.GlobalPermissions;
 import org.sonar.server.tester.ServerTester;
 import org.sonar.server.tester.UserSessionRule;
 import org.sonar.server.ws.WsTester;
 
 public class PluginsWsMediumTest {
+  private static final String ENCODING = "UTF-8";
+
+  @ClassRule
+  public static TemporaryFolder temporaryFolder = new TemporaryFolder();
   @ClassRule
   public static ServerTester serverTester = new ServerTester()
     .addPluginJar(getFile("sonar-decoy-plugin-1.0.jar"))
-    .setUpdateCenterUrl(getFileUrl("update-center.properties"));
+    .setUpdateCenterUrl(createUpdateCenterPropertiesFile());
+
   @Rule
   public UserSessionRule userSessionRule = UserSessionRule.forServerTester(serverTester);
 
@@ -155,6 +163,21 @@ public class PluginsWsMediumTest {
     return new WsTester(serverTester.get(PluginsWs.class));
   }
 
+  private static URL createUpdateCenterPropertiesFile() {
+    try {
+      temporaryFolder.create();
+      String content = FileUtils.readFileToString(getFile("update-center.properties"), ENCODING)
+          .replace("[[decoy.10.jar]]", getFileUrl("sonar-decoy-plugin-1.0.jar").toString())
+          .replace("[[decoy.11.jar]]", getFileUrl("sonar-decoy-plugin-1.1.jar").toString())
+          .replace("[[foo.10.jar]]", getFileUrl("sonar-foo-plugin-1.0.jar").toString());
+      File res = temporaryFolder.newFile("update-center.properties");
+      FileUtils.write(res, content, "UTF-8");
+      return res.toURI().toURL();
+    } catch (IOException e) {
+      throw new RuntimeException(e);
+    }
+  }
+
   private static File getFile(String jarFileName) {
     try {
       return new File(getFileUrl(jarFileName).toURI());