private Path findSonarHome(ScannerProperties props) { String home = props.property("sonar.userHome"); if (home != null) { return Paths.get(home).toAbsolutePath(); } home = system.envVariable("SONAR_USER_HOME"); if (home != null) { return Paths.get(home).toAbsolutePath(); } home = system.property("user.home"); return Paths.get(home, ".sonar").toAbsolutePath(); }
@Test public void testEnvVariable() { // assume that there's at least one env variable if (System.getenv().isEmpty()) { fail("Test can't succeed because there are no env variables. How is it possible ?"); } String key = System.getenv().keySet().iterator().next(); String expected = System.getenv(key); assertThat(System2.INSTANCE.envVariable(key)).isNotNull().isEqualTo(expected); assertThat(System2.INSTANCE.envVariable("UNKNOWN_VAR")).isNull(); }
@Test public void createTempFolderDefault() throws Exception { System2 system = mock(System2.class); tempFolderProvider = new GlobalTempFolderProvider(system); File userHome = temp.newFolder(); when(system.envVariable("SONAR_USER_HOME")).thenReturn(null); when(system.property("user.home")).thenReturn(userHome.getAbsolutePath().toString()); // if nothing is defined, it will be in {user.home}/.sonar/.sonartmp File defaultSonarHome = new File(userHome.getAbsolutePath(), ".sonar"); File workingDir = new File(defaultSonarHome, CoreProperties.GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE).getAbsoluteFile(); try { TempFolder tempFolder = tempFolderProvider.provide(new ScannerProperties(Collections.<String, String>emptyMap())); tempFolder.newDir(); tempFolder.newFile(); assertThat(getCreatedTempDir(workingDir)).exists(); assertThat(getCreatedTempDir(workingDir).list()).hasSize(2); } finally { FileUtils.deleteQuietly(workingDir); } }
private Path findSonarHome(ScannerProperties props) { String home = props.property("sonar.userHome"); if (home != null) { return Paths.get(home).toAbsolutePath(); } home = system.envVariable("SONAR_USER_HOME"); if (home != null) { return Paths.get(home).toAbsolutePath(); } home = system.property("user.home"); return Paths.get(home, ".sonar").toAbsolutePath(); }
private Path findSonarHome(GlobalProperties props) { String home = props.property("sonar.userHome"); if (home != null) { return Paths.get(home).toAbsolutePath(); } home = system.envVariable("SONAR_USER_HOME"); if (home != null) { return Paths.get(home).toAbsolutePath(); } home = system.property("user.home"); return Paths.get(home, ".sonar").toAbsolutePath(); }