Search in sources :

Example 26 with StandaloneAnalysisConfiguration

use of org.sonarsource.sonarlint.core.client.api.standalone.StandaloneAnalysisConfiguration in project sonar-java by SonarSource.

the class SonarLintTest method simpleTestFileJava.

@Test
public void simpleTestFileJava() throws Exception {
    ClientInputFile inputFile = prepareInputFile("FooTest.java", "public class FooTest {\n" + "  @org.junit.Test\n" + "  @org.junit.Ignore\n" + // S1607(ignored test) - requires semantic
    "  public void testName() throws Exception {\n" + "    Foo foo = new Foo();\n" + // S2970(incomplete assertions) - requires semantic
    "    org.assertj.core.api.Assertions.assertThat(foo.isFooActive());\n" + // S2925(thread.sleep in test)
    "    java.lang.Thread.sleep(Long.MAX_VALUE);" + "  }\n\n" + "  private static class Foo {" + "    public boolean isFooActive() {" + "      return false;" + "    }" + "  }" + "}", true);
    final List<Issue> issues = new ArrayList<>();
    sonarlintEngine.analyze(new StandaloneAnalysisConfiguration(baseDir.toPath(), temp.newFolder().toPath(), Collections.singletonList(inputFile), ImmutableMap.<String, String>of()), issues::add, null, null);
    assertThat(issues).extracting("ruleKey", "startLine", "inputFile.path", "severity").containsOnly(// tuple("squid:S2970", 6, inputFile.getPath(), "BLOCKER"),
    tuple("squid:S2925", 7, inputFile.getPath(), "MAJOR"));
}
Also used : Issue(org.sonarsource.sonarlint.core.client.api.common.analysis.Issue) ArrayList(java.util.ArrayList) StandaloneAnalysisConfiguration(org.sonarsource.sonarlint.core.client.api.standalone.StandaloneAnalysisConfiguration) ClientInputFile(org.sonarsource.sonarlint.core.client.api.common.analysis.ClientInputFile) Test(org.junit.Test)

Example 27 with StandaloneAnalysisConfiguration

use of org.sonarsource.sonarlint.core.client.api.standalone.StandaloneAnalysisConfiguration in project sonarlint-intellij by SonarSource.

the class StandaloneTest method analyze.

private static List<Issue> analyze(ClientInputFile inputFile) throws IOException {
    List<Issue> issues = new ArrayList<>();
    sonarlintEngine.analyze(new StandaloneAnalysisConfiguration(baseDir.toPath(), temp.newFolder().toPath(), Collections.singletonList(inputFile), Collections.emptyMap()), issues::add, null, null);
    return issues;
}
Also used : Issue(org.sonarsource.sonarlint.core.client.api.common.analysis.Issue) ArrayList(java.util.ArrayList) StandaloneAnalysisConfiguration(org.sonarsource.sonarlint.core.client.api.standalone.StandaloneAnalysisConfiguration)

Aggregations

StandaloneAnalysisConfiguration (org.sonarsource.sonarlint.core.client.api.standalone.StandaloneAnalysisConfiguration)27 ClientInputFile (org.sonarsource.sonarlint.core.client.api.common.analysis.ClientInputFile)25 ArrayList (java.util.ArrayList)23 Test (org.junit.Test)23 Issue (org.sonarsource.sonarlint.core.client.api.common.analysis.Issue)22 TestClientInputFile (org.sonarsource.sonarlint.core.TestClientInputFile)15 AnalysisResults (org.sonarsource.sonarlint.core.client.api.common.analysis.AnalysisResults)5 File (java.io.File)4 Path (java.nio.file.Path)3 HashMap (java.util.HashMap)2 RuleDetails (org.sonarsource.sonarlint.core.client.api.common.RuleDetails)2 URI (java.net.URI)1 LinkedList (java.util.LinkedList)1 ExecutionException (java.util.concurrent.ExecutionException)1 ExecutorService (java.util.concurrent.ExecutorService)1 Future (java.util.concurrent.Future)1 PublishDiagnosticsParams (org.eclipse.lsp4j.PublishDiagnosticsParams)1 DefaultClientInputFile (org.sonarlint.daemon.model.DefaultClientInputFile)1 ProxyIssueListener (org.sonarlint.daemon.model.ProxyIssueListener)1 ProjectLogOutput (org.sonarlint.intellij.util.ProjectLogOutput)1