From 5f1b48e1589a03fee9910f4d338be57a9c84bffa Mon Sep 17 00:00:00 2001 From: Duarte Meneses Date: Thu, 1 Oct 2015 18:10:47 +0200 Subject: [PATCH] Improve quality --- .../GlobalPersistentCacheProviderTest.java | 27 +++++++++++++++++++ .../sonar/home/cache/FileCacheBuilder.java | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/sonar-batch/src/test/java/org/sonar/batch/cache/GlobalPersistentCacheProviderTest.java b/sonar-batch/src/test/java/org/sonar/batch/cache/GlobalPersistentCacheProviderTest.java index e009ddcc795..b34e6fcd7f5 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/cache/GlobalPersistentCacheProviderTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/cache/GlobalPersistentCacheProviderTest.java @@ -21,8 +21,11 @@ package org.sonar.batch.cache; import org.sonar.home.cache.PersistentCache; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.HashMap; +import static org.junit.Assert.*; import static org.assertj.core.api.Assertions.assertThat; import org.sonar.batch.bootstrap.GlobalProperties; import org.junit.Before; @@ -53,4 +56,28 @@ public class GlobalPersistentCacheProviderTest { .resolve("http%3A%2F%2Flocalhost%3A9000") .resolve("global")); } + + @Test + public void test_singleton() { + assertTrue(provider.provide(globalProperties) == provider.provide(globalProperties)); + } + + @Test + public void test_without_sonar_home() { + globalProperties = new GlobalProperties(new HashMap()); + PersistentCache cache = provider.provide(globalProperties); + assertThat(cache.getDirectory().toAbsolutePath().toString()).startsWith(findHome().toAbsolutePath().toString()); + + } + + private static Path findHome() { + String home = System.getenv("SONAR_USER_HOME"); + + if (home != null) { + return Paths.get(home); + } + + home = System.getProperty("user.home"); + return Paths.get(home, ".sonar"); + } } diff --git a/sonar-home/src/main/java/org/sonar/home/cache/FileCacheBuilder.java b/sonar-home/src/main/java/org/sonar/home/cache/FileCacheBuilder.java index e8027081aac..602a92e9df3 100644 --- a/sonar-home/src/main/java/org/sonar/home/cache/FileCacheBuilder.java +++ b/sonar-home/src/main/java/org/sonar/home/cache/FileCacheBuilder.java @@ -49,7 +49,7 @@ public class FileCacheBuilder { return FileCache.create(cacheDir, logger); } - private File findHome() { + private static File findHome() { String path = System.getenv("SONAR_USER_HOME"); if (path == null) { // Default -- 2.39.5