Search in sources :

Example 16 with SonarQubeServer

use of org.sonarlint.intellij.config.global.SonarQubeServer in project sonarlint-intellij by SonarSource.

the class ConnectionTestTaskTest method fail_if_no_connection.

@Test
public void fail_if_no_connection() {
    SonarQubeServer server = SonarQubeServer.newBuilder().setHostUrl("invalid_url").build();
    ConnectionTestTask task = new ConnectionTestTask(server);
    ProgressIndicator progress = mock(ProgressIndicator.class);
    task.run(progress);
    verify(progress).setIndeterminate(true);
    assertThat(task.getException()).isNotNull();
    assertThat(task.result()).isNull();
    verify(globalLogOutput).logError(eq("Connection test failed"), any(Throwable.class));
}
Also used : ProgressIndicator(com.intellij.openapi.progress.ProgressIndicator) ConnectionTestTask(org.sonarlint.intellij.tasks.ConnectionTestTask) SonarQubeServer(org.sonarlint.intellij.config.global.SonarQubeServer) SonarTest(org.sonarlint.intellij.SonarTest) Test(org.junit.Test)

Example 17 with SonarQubeServer

use of org.sonarlint.intellij.config.global.SonarQubeServer in project sonarlint-intellij by SonarSource.

the class ProjectBindingManagerTest method fail_if_cant_find_server.

@Test
public void fail_if_cant_find_server() throws InvalidBindingException {
    settings.setBindingEnabled(true);
    settings.setProjectKey("project1");
    settings.setServerId("server1");
    SonarQubeServer server = SonarQubeServer.newBuilder().setName("server2").build();
    globalSettings.setSonarQubeServers(Collections.singletonList(server));
    exception.expect(InvalidBindingException.class);
    projectBindingManager.getSonarQubeServer();
}
Also used : SonarQubeServer(org.sonarlint.intellij.config.global.SonarQubeServer) Test(org.junit.Test)

Example 18 with SonarQubeServer

use of org.sonarlint.intellij.config.global.SonarQubeServer in project sonarlint-intellij by SonarSource.

the class ServerIssueUpdaterTest method testDownloadAllServerIssues.

@Test
public void testDownloadAllServerIssues() throws InvalidBindingException {
    List<VirtualFile> files = new LinkedList<>();
    for (int i = 0; i < 10; i++) {
        VirtualFile file = mock(VirtualFile.class);
        String filename = "MyFile" + i + ".txt";
        when(file.getPath()).thenReturn(FileUtil.toSystemIndependentName(projectBaseDir.resolve(filename).toString()));
        files.add(file);
    }
    ServerIssue serverIssue = mock(ServerIssue.class);
    // mock creation of engine / server
    ConnectedSonarLintEngine engine = mock(ConnectedSonarLintEngine.class);
    when(bindingManager.getConnectedEngine()).thenReturn(engine);
    SonarQubeServer server = mock(SonarQubeServer.class);
    when(server.getHostUrl()).thenReturn("http://dummyserver:9000");
    when(bindingManager.getSonarQubeServer()).thenReturn(server);
    // mock issues fetched
    when(engine.getServerIssues(eq(PROJECT_KEY), anyString())).thenReturn(Collections.singletonList(serverIssue));
    // run
    settings.setBindingEnabled(true);
    updater.initComponent();
    updater.fetchAndMatchServerIssues(files, indicator, false);
    verify(issueManager, timeout(3000).times(10)).matchWithServerIssues(any(VirtualFile.class), argThat(issues -> issues.size() == 1));
    verify(engine).downloadServerIssues(any(ServerConfiguration.class), eq(PROJECT_KEY));
    verify(bindingManager).getConnectedEngine();
    verify(console, never()).error(anyString());
    verify(console, never()).error(anyString(), any(Throwable.class));
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) SonarTest(org.sonarlint.intellij.SonarTest) ArgumentMatchers.argThat(org.mockito.ArgumentMatchers.argThat) VirtualFile(com.intellij.openapi.vfs.VirtualFile) Mock(org.mockito.Mock) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) ServerIssue(org.sonarsource.sonarlint.core.client.api.connected.ServerIssue) Mockito.verifyZeroInteractions(org.mockito.Mockito.verifyZeroInteractions) MockitoAnnotations(org.mockito.MockitoAnnotations) Mockito.timeout(org.mockito.Mockito.timeout) InvalidBindingException(org.sonarlint.intellij.exception.InvalidBindingException) SonarQubeServer(org.sonarlint.intellij.config.global.SonarQubeServer) Project(com.intellij.openapi.project.Project) FileUtil(com.intellij.openapi.util.io.FileUtil) LinkedList(java.util.LinkedList) Path(java.nio.file.Path) ConnectedSonarLintEngine(org.sonarsource.sonarlint.core.client.api.connected.ConnectedSonarLintEngine) Before(org.junit.Before) IssueManager(org.sonarlint.intellij.issue.IssueManager) SonarLintProjectSettings(org.sonarlint.intellij.config.project.SonarLintProjectSettings) SonarApplication(org.sonarlint.intellij.SonarApplication) IOException(java.io.IOException) Test(org.junit.Test) ServerConfiguration(org.sonarsource.sonarlint.core.client.api.connected.ServerConfiguration) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) SonarLintConsole(org.sonarlint.intellij.ui.SonarLintConsole) ProgressIndicator(com.intellij.openapi.progress.ProgressIndicator) List(java.util.List) Mockito.never(org.mockito.Mockito.never) Rule(org.junit.Rule) Collections(java.util.Collections) TemporaryFolder(org.junit.rules.TemporaryFolder) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Mockito.mock(org.mockito.Mockito.mock) ServerConfiguration(org.sonarsource.sonarlint.core.client.api.connected.ServerConfiguration) SonarQubeServer(org.sonarlint.intellij.config.global.SonarQubeServer) ServerIssue(org.sonarsource.sonarlint.core.client.api.connected.ServerIssue) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ConnectedSonarLintEngine(org.sonarsource.sonarlint.core.client.api.connected.ConnectedSonarLintEngine) LinkedList(java.util.LinkedList) SonarTest(org.sonarlint.intellij.SonarTest) Test(org.junit.Test)

Example 19 with SonarQubeServer

use of org.sonarlint.intellij.config.global.SonarQubeServer in project sonarlint-intellij by SonarSource.

the class ServerIssueUpdaterTest method testServerIssueTracking.

@Test
public void testServerIssueTracking() throws InvalidBindingException {
    VirtualFile file = mock(VirtualFile.class);
    ServerIssue serverIssue = mock(ServerIssue.class);
    String filename = "MyFile.txt";
    when(file.getPath()).thenReturn(FileUtil.toSystemIndependentName(projectBaseDir.resolve(filename).toString()));
    // mock creation of engine / server
    ConnectedSonarLintEngine engine = mock(ConnectedSonarLintEngine.class);
    when(bindingManager.getConnectedEngine()).thenReturn(engine);
    SonarQubeServer server = mock(SonarQubeServer.class);
    when(server.getHostUrl()).thenReturn("http://dummyserver:9000");
    when(bindingManager.getSonarQubeServer()).thenReturn(server);
    // mock issues downloaded
    when(engine.downloadServerIssues(any(ServerConfiguration.class), eq(PROJECT_KEY), eq(filename))).thenReturn(Collections.singletonList(serverIssue));
    // run
    settings.setBindingEnabled(true);
    updater.initComponent();
    updater.fetchAndMatchServerIssues(Collections.singletonList(file), indicator, false);
    verify(issueManager, timeout(3000).times(1)).matchWithServerIssues(eq(file), argThat(issues -> issues.size() == 1));
    verify(bindingManager).getConnectedEngine();
    verify(console, never()).error(anyString());
    verify(console, never()).error(anyString(), any(Throwable.class));
}
Also used : VirtualFile(com.intellij.openapi.vfs.VirtualFile) ArgumentMatchers.any(org.mockito.ArgumentMatchers.any) SonarTest(org.sonarlint.intellij.SonarTest) ArgumentMatchers.argThat(org.mockito.ArgumentMatchers.argThat) VirtualFile(com.intellij.openapi.vfs.VirtualFile) Mock(org.mockito.Mock) ArgumentMatchers.eq(org.mockito.ArgumentMatchers.eq) ServerIssue(org.sonarsource.sonarlint.core.client.api.connected.ServerIssue) Mockito.verifyZeroInteractions(org.mockito.Mockito.verifyZeroInteractions) MockitoAnnotations(org.mockito.MockitoAnnotations) Mockito.timeout(org.mockito.Mockito.timeout) InvalidBindingException(org.sonarlint.intellij.exception.InvalidBindingException) SonarQubeServer(org.sonarlint.intellij.config.global.SonarQubeServer) Project(com.intellij.openapi.project.Project) FileUtil(com.intellij.openapi.util.io.FileUtil) LinkedList(java.util.LinkedList) Path(java.nio.file.Path) ConnectedSonarLintEngine(org.sonarsource.sonarlint.core.client.api.connected.ConnectedSonarLintEngine) Before(org.junit.Before) IssueManager(org.sonarlint.intellij.issue.IssueManager) SonarLintProjectSettings(org.sonarlint.intellij.config.project.SonarLintProjectSettings) SonarApplication(org.sonarlint.intellij.SonarApplication) IOException(java.io.IOException) Test(org.junit.Test) ServerConfiguration(org.sonarsource.sonarlint.core.client.api.connected.ServerConfiguration) Mockito.when(org.mockito.Mockito.when) Mockito.verify(org.mockito.Mockito.verify) SonarLintConsole(org.sonarlint.intellij.ui.SonarLintConsole) ProgressIndicator(com.intellij.openapi.progress.ProgressIndicator) List(java.util.List) Mockito.never(org.mockito.Mockito.never) Rule(org.junit.Rule) Collections(java.util.Collections) TemporaryFolder(org.junit.rules.TemporaryFolder) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) Mockito.mock(org.mockito.Mockito.mock) ServerConfiguration(org.sonarsource.sonarlint.core.client.api.connected.ServerConfiguration) SonarQubeServer(org.sonarlint.intellij.config.global.SonarQubeServer) ServerIssue(org.sonarsource.sonarlint.core.client.api.connected.ServerIssue) ArgumentMatchers.anyString(org.mockito.ArgumentMatchers.anyString) ConnectedSonarLintEngine(org.sonarsource.sonarlint.core.client.api.connected.ConnectedSonarLintEngine) SonarTest(org.sonarlint.intellij.SonarTest) Test(org.junit.Test)

Example 20 with SonarQubeServer

use of org.sonarlint.intellij.config.global.SonarQubeServer in project sonarlint-intellij by SonarSource.

the class SonarLintUtilsTest method testServerConfigurationToken.

@Test
public void testServerConfigurationToken() {
    SonarApplication app = mock(SonarApplication.class);
    when(app.getVersion()).thenReturn("1.0");
    super.register(ApplicationManager.getApplication(), SonarApplication.class, app);
    SonarQubeServer server = SonarQubeServer.newBuilder().setHostUrl("http://myhost").setEnableProxy(false).setToken("token").build();
    ServerConfiguration config = SonarLintUtils.getServerConfiguration(server);
    assertThat(config.getLogin()).isEqualTo(server.getToken());
    assertThat(config.getPassword()).isNull();
    assertThat(config.getConnectTimeoutMs()).isEqualTo(SonarLintUtils.CONNECTION_TIMEOUT_MS);
    assertThat(config.getReadTimeoutMs()).isEqualTo(SonarLintUtils.READ_TIMEOUT_MS);
    assertThat(config.getUserAgent()).contains("SonarLint");
    assertThat(config.getUrl()).isEqualTo(server.getHostUrl());
    assertThat(config.getOrganizationKey()).isNull();
}
Also used : SonarApplication(org.sonarlint.intellij.SonarApplication) ServerConfiguration(org.sonarsource.sonarlint.core.client.api.connected.ServerConfiguration) SonarQubeServer(org.sonarlint.intellij.config.global.SonarQubeServer) SonarTest(org.sonarlint.intellij.SonarTest) Test(org.junit.Test)

Aggregations

SonarQubeServer (org.sonarlint.intellij.config.global.SonarQubeServer)21 Test (org.junit.Test)12 SonarTest (org.sonarlint.intellij.SonarTest)6 InvalidBindingException (org.sonarlint.intellij.exception.InvalidBindingException)6 ConnectedSonarLintEngine (org.sonarsource.sonarlint.core.client.api.connected.ConnectedSonarLintEngine)6 SonarApplication (org.sonarlint.intellij.SonarApplication)4 ServerConfiguration (org.sonarsource.sonarlint.core.client.api.connected.ServerConfiguration)4 ProgressIndicator (com.intellij.openapi.progress.ProgressIndicator)3 Project (com.intellij.openapi.project.Project)3 LinkedList (java.util.LinkedList)3 List (java.util.List)3 SonarLintProjectSettings (org.sonarlint.intellij.config.project.SonarLintProjectSettings)3 SonarLintConsole (org.sonarlint.intellij.ui.SonarLintConsole)3 CommitStepException (com.intellij.ide.wizard.CommitStepException)2 FileUtil (com.intellij.openapi.util.io.FileUtil)2 VirtualFile (com.intellij.openapi.vfs.VirtualFile)2 IOException (java.io.IOException)2 Path (java.nio.file.Path)2 Collections (java.util.Collections)2 Before (org.junit.Before)2