@Before public void prepare() { globalServerSettings = mock(GlobalServerSettings.class); scannerProps = new ScannerProperties(Collections.<String, String>emptyMap()); }
private GlobalAnalysisMode createMode(String key, String value) { Map<String, String> map = new HashMap<>(); if (key != null) { map.put(key, value); } ScannerProperties props = new ScannerProperties(map); return new GlobalAnalysisMode(props); } }
@Test public void build_singleton() { System2 system = mock(System2.class); ScannerProperties settings = new ScannerProperties(new HashMap<>()); ScannerWsClient first = underTest.provide(settings, env, new GlobalAnalysisMode(new ScannerProperties(Collections.emptyMap())), system); ScannerWsClient second = underTest.provide(settings, env, new GlobalAnalysisMode(new ScannerProperties(Collections.emptyMap())), system); assertThat(first).isSameAs(second); } }
@Test public void shouldInitRootWorkDir() { ProjectReactorBuilder builder = new ProjectReactorBuilder(new ScannerProperties(Maps.<String, String>newHashMap()), mock(AnalysisWarnings.class)); File baseDir = new File("target/tmp/baseDir"); File workDir = builder.initRootProjectWorkDir(baseDir, Maps.<String, String>newHashMap()); assertThat(workDir).isEqualTo(new File(baseDir, ".sonar")); }
@Test public void shouldInitWorkDirWithCustomRelativeFolder() { Map<String, String> props = Maps.<String, String>newHashMap(); props.put("sonar.working.directory", ".foo"); ProjectReactorBuilder builder = new ProjectReactorBuilder(new ScannerProperties(props), mock(AnalysisWarnings.class)); File baseDir = new File("target/tmp/baseDir"); File workDir = builder.initRootProjectWorkDir(baseDir, props); assertThat(workDir).isEqualTo(new File(baseDir, ".foo")); }
@Override protected void doBeforeStart() { ScannerProperties scannerProps = new ScannerProperties(scannerProperties); GlobalAnalysisMode globalMode = new GlobalAnalysisMode(scannerProps); add(scannerProps); add(globalMode); addBootstrapComponents(); }
@Test public void dotWorkingDir() throws IOException { File sonarHome = temp.getRoot(); String globalWorkDir = "."; ScannerProperties globalProperties = new ScannerProperties(ImmutableMap.of("sonar.userHome", sonarHome.getAbsolutePath(), CoreProperties.GLOBAL_WORKING_DIRECTORY, globalWorkDir)); TempFolder tempFolder = tempFolderProvider.provide(globalProperties); File newFile = tempFolder.newFile(); assertThat(newFile.getParentFile().getParentFile().getAbsolutePath()).isEqualTo(sonarHome.getAbsolutePath()); assertThat(newFile.getParentFile().getName()).startsWith(".sonartmp_"); }
@Test public void scan_all_if_property_set() { ScannerProperties analysisProps = new ScannerProperties(Collections.singletonMap("sonar.scanAllFiles", "true")); DefaultAnalysisMode mode = createmode(analysisProps); assertThat(mode.scanAllFiles()).isTrue(); }
@Test public void scan_all_if_publish() { when(globalMode.isIssues()).thenReturn(false); DefaultAnalysisMode mode = createmode(new ScannerProperties(Collections.emptyMap())); assertThat(mode.scanAllFiles()).isTrue(); }
@Test public void dont_scan_all_if_issues_mode() { when(globalMode.isIssues()).thenReturn(true); DefaultAnalysisMode mode = createmode(new ScannerProperties(Collections.emptyMap())); assertThat(mode.scanAllFiles()).isFalse(); }
@Test public void reuse_global_mode() { when(globalMode.isIssues()).thenReturn(true); when(globalMode.isPublish()).thenReturn(true); when(globalMode.isPreview()).thenReturn(true); DefaultAnalysisMode mode = createmode(new ScannerProperties(Collections.emptyMap())); assertThat(mode.isIssues()).isTrue(); assertThat(mode.isPublish()).isTrue(); assertThat(mode.isPreview()).isTrue(); }
@Test public void scan_all_even_on_short_lived_branch() { ScannerProperties analysisProps = new ScannerProperties(Collections.singletonMap("sonar.scanAllFiles", "true")); DefaultAnalysisMode mode = createmode(analysisProps); assertThat(mode.scanAllFiles()).isTrue(); }
private static StoragesManager createCacheOnTemp() { Map<String, String> props = ImmutableMap.of(CoreProperties.WORKING_DIRECTORY, temp.getRoot().getAbsolutePath(), CoreProperties.GLOBAL_WORKING_DIRECTORY, temp.getRoot().getAbsolutePath()); return new StoragesManager(new GlobalTempFolderProvider().provide(new ScannerProperties(props))); }
@Test public void createTempFolderSonarHome() throws Exception { // with sonar home, it will be in {sonar.home}/.sonartmp File sonarHome = temp.newFolder(); File workingDir = new File(sonarHome, CoreProperties.GLOBAL_WORKING_DIRECTORY_DEFAULT_VALUE).getAbsoluteFile(); TempFolder tempFolder = tempFolderProvider.provide(new ScannerProperties(ImmutableMap.of("sonar.userHome", sonarHome.getAbsolutePath()))); tempFolder.newDir(); tempFolder.newFile(); assertThat(getCreatedTempDir(workingDir)).exists(); assertThat(getCreatedTempDir(workingDir).list()).hasSize(2); FileUtils.deleteQuietly(sonarHome); }
@Test public void createTempFolderProps() throws Exception { File workingDir = temp.newFolder(); workingDir.delete(); TempFolder tempFolder = tempFolderProvider.provide(new ScannerProperties(ImmutableMap.of(CoreProperties.GLOBAL_WORKING_DIRECTORY, workingDir.getAbsolutePath()))); tempFolder.newDir(); tempFolder.newFile(); assertThat(getCreatedTempDir(workingDir)).exists(); assertThat(getCreatedTempDir(workingDir).list()).hasSize(2); FileUtils.deleteQuietly(workingDir); }
@Test public void test_copy_of_properties() { Map<String, String> map = Maps.newHashMap(); map.put("foo", "bar"); ScannerProperties underTest = new ScannerProperties(map); assertThat(underTest.properties()).containsOnly(entry("foo", "bar")); assertThat(underTest.properties()).isNotSameAs(map); map.put("put", "after_copy"); assertThat(underTest.properties()).hasSize(1); } }
@Test public void fail_if_requires_credentials() { expectedException.expect(MessageException.class); expectedException .expectMessage("Not authorized. Analyzing this project requires to be authenticated. Please provide the values of the properties sonar.login and sonar.password."); WsRequest request = newRequest(); WsResponse response = newResponse().setCode(401); when(wsClient.wsConnector().call(request)).thenReturn(response); new ScannerWsClient(wsClient, false, new GlobalAnalysisMode(new ScannerProperties(Collections.emptyMap()))).call(request); }
@Test public void fail_if_credentials_are_not_valid() { expectedException.expect(MessageException.class); expectedException.expectMessage("Not authorized. Please check the properties sonar.login and sonar.password."); WsRequest request = newRequest(); WsResponse response = newResponse().setCode(401); when(wsClient.wsConnector().call(request)).thenReturn(response); new ScannerWsClient(wsClient, /* credentials are configured */true, new GlobalAnalysisMode(new ScannerProperties(Collections.emptyMap()))).call(request); }
@Test public void fail_if_bad_request() { expectedException.expect(MessageException.class); expectedException.expectMessage("Boo! bad request! bad!"); WsRequest request = newRequest(); WsResponse response = newResponse() .setCode(400) .setContent("{\"errors\":[{\"msg\":\"Boo! bad request! bad!\"}]}"); when(wsClient.wsConnector().call(request)).thenReturn(response); new ScannerWsClient(wsClient, true, new GlobalAnalysisMode(new ScannerProperties(Collections.emptyMap()))).call(request); }
@Before public void setUp() throws Exception { HttpConnector connector = HttpConnector.newBuilder().url(server.url("/").toString()).build(); GlobalAnalysisMode analysisMode = new GlobalAnalysisMode(new ScannerProperties(Collections.emptyMap())); ScannerWsClient wsClient = new ScannerWsClient(WsClientFactories.getDefault().newClient(connector), false, analysisMode); userHome = temp.newFolder(); MapSettings settings = new MapSettings(); settings.setProperty("sonar.userHome", userHome.getAbsolutePath()); underTest = new PluginFiles(wsClient, settings.asConfig()); }