]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6348 Property sonar.path.temp is ignored by Ruby on Rails application
authorSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 15 Apr 2015 14:00:23 +0000 (16:00 +0200)
committerSimon Brandhof <simon.brandhof@sonarsource.com>
Wed, 15 Apr 2015 14:00:23 +0000 (16:00 +0200)
server/sonar-server/src/main/java/org/sonar/server/platform/DefaultServerFileSystem.java
server/sonar-server/src/test/java/org/sonar/server/platform/DefaultServerFileSystemTest.java
server/sonar-server/src/test/java/org/sonar/server/plugins/ServerPluginJarsInstallerTest.java
server/sonar-server/src/test/java/org/sonar/server/tester/ServerTester.java

index c19dd0cf95f99250b717b584f287fd8f0cf8d3c1..9002e9580ae95f5020db094c0e885473bd043989 100644 (file)
@@ -27,7 +27,6 @@ import org.slf4j.LoggerFactory;
 import org.sonar.api.config.Settings;
 import org.sonar.api.platform.Server;
 import org.sonar.api.platform.ServerFileSystem;
-import org.sonar.core.persistence.Database;
 
 import java.io.File;
 import java.io.FileFilter;
@@ -45,22 +44,21 @@ public class DefaultServerFileSystem implements ServerFileSystem, Startable {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(DefaultServerFileSystem.class);
 
-  private Database database;
   private final Server server;
-  private File homeDir;
+  private final File homeDir, tempDir;
 
-  public DefaultServerFileSystem(Database database, Settings settings, Server server) {
-    this.database = database;
+  public DefaultServerFileSystem(Settings settings, Server server) {
     this.server = server;
     this.homeDir = new File(settings.getString("sonar.path.home"));
+    this.tempDir = new File(settings.getString("sonar.path.temp"));
   }
 
   /**
    * for unit tests
    */
-  public DefaultServerFileSystem(Database database, File homeDir, Server server) {
-    this.database = database;
+  public DefaultServerFileSystem(File homeDir, File tempDir, Server server) {
     this.homeDir = homeDir;
+    this.tempDir = tempDir;
     this.server = server;
   }
 
@@ -102,7 +100,7 @@ public class DefaultServerFileSystem implements ServerFileSystem, Startable {
 
   @Override
   public File getTempDir() {
-    return new File(homeDir, "temp");
+    return tempDir;
   }
 
   public File getDeployDir() {
index 16e8953c7855d17b73adc44f3559f64eaf63306d..105905a9961a2bb0e81e7018ff2c07c753d2f531 100644 (file)
@@ -20,7 +20,9 @@
 package org.sonar.server.platform;
 
 import com.google.common.io.Resources;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
 import org.sonar.api.platform.ServerFileSystem;
 
 import java.io.File;
@@ -32,21 +34,24 @@ public class DefaultServerFileSystemTest {
 
   private static final String PATH = "org/sonar/server/platform/DefaultServerFileSystemTest/";
 
+  @Rule
+  public TemporaryFolder temp = new TemporaryFolder();
+
   @Test
   public void find_plugins() throws Exception {
-    List<File> plugins = new DefaultServerFileSystem(null, new File(Resources.getResource(PATH + "shouldFindPlugins").toURI()), null).getUserPlugins();
+    List<File> plugins = new DefaultServerFileSystem(new File(Resources.getResource(PATH + "shouldFindPlugins").toURI()), temp.newFolder(), null).getUserPlugins();
     assertThat(plugins).hasSize(2);
   }
 
   @Test
   public void not_fail_if_no_plugins() throws Exception {
-    List<File> plugins = new DefaultServerFileSystem(null, new File(Resources.getResource(PATH + "shouldNotFailIfNoPlugins").toURI()), null).getUserPlugins();
+    List<File> plugins = new DefaultServerFileSystem(new File(Resources.getResource(PATH + "shouldNotFailIfNoPlugins").toURI()), temp.newFolder(), null).getUserPlugins();
     assertThat(plugins).isEmpty();
   }
 
   @Test
   public void find_checkstyle_extensions() throws Exception {
-    ServerFileSystem fs = new DefaultServerFileSystem(null, new File(Resources.getResource(PATH + "shouldFindCheckstyleExtensions").toURI()), null);
+    ServerFileSystem fs = new DefaultServerFileSystem(new File(Resources.getResource(PATH + "shouldFindCheckstyleExtensions").toURI()), temp.newFolder(), null);
 
     List<File> xmls = fs.getExtensions("checkstyle", "xml");
     assertThat(xmls).hasSize(1);
@@ -57,7 +62,7 @@ public class DefaultServerFileSystemTest {
 
   @Test
   public void not_fail_if_no_checkstyle_extensions() throws Exception {
-    ServerFileSystem fs = new DefaultServerFileSystem(null, new File(Resources.getResource(PATH + "shouldNotFailIfNoCheckstyleExtensions").toURI()), null);
+    ServerFileSystem fs = new DefaultServerFileSystem(new File(Resources.getResource(PATH + "shouldNotFailIfNoCheckstyleExtensions").toURI()), temp.newFolder(), null);
     List<File> xmls = fs.getExtensions("checkstyle", "xml");
     assertThat(xmls).isEmpty();
 
index 90cce6fb4ed5d6b48c1b13e8e08ff6a9ead604ba..12073cf2097110d65ec197776b7078e74f4551d2 100644 (file)
@@ -30,7 +30,6 @@ import org.sonar.api.platform.PluginMetadata;
 import org.sonar.api.platform.Server;
 import org.sonar.api.platform.ServerUpgradeStatus;
 import org.sonar.api.utils.MessageException;
-import org.sonar.core.persistence.Database;
 import org.sonar.server.platform.DefaultServerFileSystem;
 
 import java.io.File;
@@ -49,7 +48,7 @@ public class ServerPluginJarsInstallerTest {
   public TemporaryFolder temp = new TemporaryFolder();
 
   DefaultServerFileSystem fileSystem;
-  File homeDir, pluginsDir, downloadsDir, bundledDir, trashDir, coreDir;
+  File homeDir, tempDir, pluginsDir, downloadsDir, bundledDir, trashDir, coreDir;
   ServerPluginJarInstaller jarInstaller;
   ServerPluginJarsInstaller jarsInstaller;
   Server server = mock(Server.class);
@@ -62,6 +61,7 @@ public class ServerPluginJarsInstallerTest {
 
     homeDir = temp.newFolder("home");
     pluginsDir = new File(homeDir, "extensions/plugins");
+    tempDir = temp.newFolder();
     FileUtils.forceMkdir(pluginsDir);
     downloadsDir = new File(homeDir, "extensions/downloads");
     trashDir = new File(homeDir, "extensions/trash");
@@ -69,7 +69,7 @@ public class ServerPluginJarsInstallerTest {
     coreDir = new File(homeDir, "lib/core-plugins");
     FileUtils.forceMkdir(bundledDir);
 
-    fileSystem = new DefaultServerFileSystem(mock(Database.class), homeDir, server);
+    fileSystem = new DefaultServerFileSystem(homeDir, tempDir, server);
     jarInstaller = new ServerPluginJarInstaller();
     jarsInstaller = new ServerPluginJarsInstaller(server, upgradeStatus, fileSystem, jarInstaller);
   }
index 43ef301e1f678b2abbd12c2f1c897699bbb32b69..12cc15baa7f1d3c943cb8069fbbf88905dd0f626 100644 (file)
@@ -96,6 +96,7 @@ public class ServerTester extends ExternalResource {
     properties.setProperty(IndexProperties.NODE_PORT, clusterPort.toString());
 
     properties.setProperty("sonar.path.home", homeDir.getAbsolutePath());
+    properties.setProperty("sonar.path.temp", createTempDir().getAbsolutePath());
     properties.setProperty(DatabaseProperties.PROP_URL, "jdbc:h2:" + homeDir.getAbsolutePath() + "/h2");
     for (Map.Entry<Object, Object> entry : System.getProperties().entrySet()) {
       String key = entry.getKey().toString();