Search in sources :

Example 6 with IssueManager

use of org.sonarlint.intellij.issue.IssueManager 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 7 with IssueManager

use of org.sonarlint.intellij.issue.IssueManager 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)

Aggregations

IssueManager (org.sonarlint.intellij.issue.IssueManager)7 Project (com.intellij.openapi.project.Project)5 VirtualFile (com.intellij.openapi.vfs.VirtualFile)4 SonarLintConsole (org.sonarlint.intellij.ui.SonarLintConsole)3 ProgressIndicator (com.intellij.openapi.progress.ProgressIndicator)2 FileUtil (com.intellij.openapi.util.io.FileUtil)2 IOException (java.io.IOException)2 Path (java.nio.file.Path)2 Collections (java.util.Collections)2 LinkedList (java.util.LinkedList)2 List (java.util.List)2 Before (org.junit.Before)2 Rule (org.junit.Rule)2 Test (org.junit.Test)2 TemporaryFolder (org.junit.rules.TemporaryFolder)2 ArgumentMatchers.any (org.mockito.ArgumentMatchers.any)2 ArgumentMatchers.anyString (org.mockito.ArgumentMatchers.anyString)2 ArgumentMatchers.argThat (org.mockito.ArgumentMatchers.argThat)2 ArgumentMatchers.eq (org.mockito.ArgumentMatchers.eq)2 Mock (org.mockito.Mock)2