From 7b75515a9a4c6c5d305b24dc4665e36d9eb35ee7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Lesaint?= Date: Fri, 15 May 2015 13:29:52 +0200 Subject: [PATCH] fix plugins WS medium test on windows box --- .../update-center.properties | 7 +++--- .../plugins/ws/PluginsWsMediumTest.java | 25 ++++++++++++++++++- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/server/sonar-server/src/test/filteredresources/org/sonar/server/plugins/ws/PluginsWsMediumTest/update-center.properties b/server/sonar-server/src/test/filteredresources/org/sonar/server/plugins/ws/PluginsWsMediumTest/update-center.properties index 48e90c02556..950fb73c902 100644 --- a/server/sonar-server/src/test/filteredresources/org/sonar/server/plugins/ws/PluginsWsMediumTest/update-center.properties +++ b/server/sonar-server/src/test/filteredresources/org/sonar/server/plugins/ws/PluginsWsMediumTest/update-center.properties @@ -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 - diff --git a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginsWsMediumTest.java b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginsWsMediumTest.java index 9427afa3358..44818715c68 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginsWsMediumTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/plugins/ws/PluginsWsMediumTest.java @@ -20,21 +20,29 @@ 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()); -- 2.39.5