aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLéo Geoffroy <99647462+leo-geoffroy-sonarsource@users.noreply.github.com>2023-01-12 16:50:19 +0100
committersonartech <sonartech@sonarsource.com>2023-01-12 20:02:51 +0000
commite3100a5030d09dc7df418d58c1ca5946fa4b965f (patch)
treefbcfc77aa7a9cd900e5655fb765b3a9519523337
parent0f55e111adee440a6d75d3a10ade68d15d339cfe (diff)
downloadsonarqube-e3100a5030d09dc7df418d58c1ca5946fa4b965f.tar.gz
sonarqube-e3100a5030d09dc7df418d58c1ca5946fa4b965f.zip
SONAR-17176 Change folder for saving score matrix to fix security hotspot
-rw-r--r--server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImpl.java8
-rw-r--r--server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImplTest.java6
2 files changed, 11 insertions, 3 deletions
diff --git a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImpl.java b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImpl.java
index f2562a9f640..605f9b42cf5 100644
--- a/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImpl.java
+++ b/server/sonar-ce-task-projectanalysis/src/main/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImpl.java
@@ -27,6 +27,7 @@ import org.sonar.api.config.Configuration;
import org.sonar.api.utils.log.Logger;
import org.sonar.api.utils.log.Loggers;
import org.sonar.ce.task.CeTask;
+import org.sonar.server.platform.ServerFileSystem;
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -35,17 +36,20 @@ public class ScoreMatrixDumperImpl implements ScoreMatrixDumper {
private final Configuration configuration;
private final CeTask ceTask;
+ private final ServerFileSystem fs;
- public ScoreMatrixDumperImpl(Configuration configuration, CeTask ceTask) {
+ public ScoreMatrixDumperImpl(Configuration configuration, CeTask ceTask, ServerFileSystem fs) {
this.configuration = configuration;
this.ceTask = ceTask;
+ this.fs = fs;
}
@Override
public void dumpAsCsv(ScoreMatrix scoreMatrix) {
if (configuration.getBoolean("sonar.filemove.dumpCsv").orElse(false)) {
try {
- Path tempFile = Files.createTempFile(String.format("score-matrix-%s", ceTask.getUuid()), ".csv");
+ Path tempFile = fs.getTempDir().toPath()
+ .resolve(String.format("score-matrix-%s.csv", ceTask.getUuid()));
try (BufferedWriter writer = Files.newBufferedWriter(tempFile, UTF_8)) {
writer.write(scoreMatrix.toCsv(';'));
}
diff --git a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImplTest.java b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImplTest.java
index e2c33912948..bda1cfce233 100644
--- a/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImplTest.java
+++ b/server/sonar-ce-task-projectanalysis/src/test/java/org/sonar/ce/task/projectanalysis/filemove/ScoreMatrixDumperImplTest.java
@@ -36,6 +36,7 @@ import org.sonar.api.config.Configuration;
import org.sonar.api.config.internal.MapSettings;
import org.sonar.ce.task.CeTask;
import org.sonar.ce.task.projectanalysis.filemove.ScoreMatrix.ScoreFile;
+import org.sonar.server.platform.ServerFileSystem;
import static org.apache.commons.lang.RandomStringUtils.randomAlphabetic;
import static org.assertj.core.api.Assertions.assertThat;
@@ -52,7 +53,9 @@ public class ScoreMatrixDumperImplTest {
private MapSettings settings = new MapSettings();
private Configuration configuration = settings.asConfig();
private CeTask ceTask = mock(CeTask.class);
- private ScoreMatrixDumper underTest = new ScoreMatrixDumperImpl(configuration, ceTask);
+
+ private ServerFileSystem serverFileSystem = mock(ServerFileSystem.class);
+ private ScoreMatrixDumper underTest = new ScoreMatrixDumperImpl(configuration, ceTask, serverFileSystem);
private Path tempDir;
@Before
@@ -60,6 +63,7 @@ public class ScoreMatrixDumperImplTest {
Path tempFile = Files.createTempFile("a", "b");
Files.delete(tempFile);
tempDir = tempFile.getParent();
+ when(serverFileSystem.getTempDir()).thenReturn(tempDir.toFile());
}
@After