Search in sources :

Example 11 with OnDiskTestClientInputFile

use of testutils.OnDiskTestClientInputFile in project sonarlint-core by SonarSource.

the class InputFileBuilderTests method testCreate.

@Test
void testCreate() throws IOException {
    when(langDetection.language(any(InputFile.class))).thenReturn(Language.JAVA);
    var path = tempDir.resolve("file");
    Files.write(path, "test".getBytes(StandardCharsets.ISO_8859_1));
    ClientInputFile file = new OnDiskTestClientInputFile(path, "file", true, StandardCharsets.ISO_8859_1);
    var builder = new InputFileBuilder(langDetection, metadata, issueExclusionsLoader);
    var inputFile = builder.create(file);
    assertThat(inputFile.type()).isEqualTo(InputFile.Type.TEST);
    assertThat(inputFile.file()).isEqualTo(path.toFile());
    assertThat(inputFile.absolutePath()).isEqualTo(FileUtils.toSonarQubePath(path.toString()));
    assertThat(inputFile.language()).isEqualTo("java");
    assertThat(inputFile.key()).isEqualTo(path.toUri().toString());
    assertThat(inputFile.lines()).isEqualTo(1);
    assertThat(builder.langDetection()).isEqualTo(langDetection);
    verify(issueExclusionsLoader).createCharHandlerFor(inputFile);
}
Also used : OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) ClientInputFile(org.sonarsource.sonarlint.core.analysis.api.ClientInputFile) OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) InputFile(org.sonar.api.batch.fs.InputFile) ClientInputFile(org.sonarsource.sonarlint.core.analysis.api.ClientInputFile) OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) Test(org.junit.jupiter.api.Test)

Example 12 with OnDiskTestClientInputFile

use of testutils.OnDiskTestClientInputFile in project sonarlint-core by SonarSource.

the class SonarLintInputFileTests method testGetters.

@Test
void testGetters(@TempDir Path path) throws IOException {
    var filePath = path.resolve("foo.php");
    Files.write(filePath, "test string".getBytes(StandardCharsets.UTF_8));
    ClientInputFile inputFile = new OnDiskTestClientInputFile(filePath, "file", false, StandardCharsets.UTF_8);
    var file = new SonarLintInputFile(inputFile, f -> new FileMetadata().readMetadata(filePath.toFile(), StandardCharsets.UTF_8));
    assertThat(file.contents()).isEqualTo("test string");
    assertThat(file.charset()).isEqualByComparingTo(StandardCharsets.UTF_8);
    assertThat(file.absolutePath()).isEqualTo(FileUtils.toSonarQubePath(inputFile.getPath()));
    assertThat(file.file()).isEqualTo(filePath.toFile());
    assertThat(file.path()).isEqualTo(filePath);
    assertThat(file.getClientInputFile()).isEqualTo(inputFile);
    assertThat(file.status()).isEqualTo(Status.ADDED);
    assertThat(file).isEqualTo(file).isNotEqualTo(mock(SonarLintInputFile.class));
    var stream = file.inputStream();
    try (var reader = new BufferedReader(new InputStreamReader(stream))) {
        assertThat(reader.lines().collect(Collectors.joining())).isEqualTo("test string");
    }
}
Also used : OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) InputStreamReader(java.io.InputStreamReader) BufferedReader(java.io.BufferedReader) ClientInputFile(org.sonarsource.sonarlint.core.analysis.api.ClientInputFile) InMemoryTestClientInputFile(testutils.InMemoryTestClientInputFile) OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) Test(org.junit.jupiter.api.Test)

Example 13 with OnDiskTestClientInputFile

use of testutils.OnDiskTestClientInputFile in project sonarlint-core by SonarSource.

the class StandaloneIssueMediumTests method stop_module_should_stop_the_module_container.

@Test
void stop_module_should_stop_the_module_container() throws Exception {
    sonarlint.declareModule(new ClientModuleInfo("key", aClientFileSystemWith(new OnDiskTestClientInputFile(Paths.get("main.py"), "main.py", false, StandardCharsets.UTF_8, null)))).get();
    ComponentContainer moduleContainer = sonarlint.getAnalysisEngine().getModuleRegistry().getContainerFor("key");
    sonarlint.stopModule("key").get();
    assertThat(moduleContainer.getPicoContainer().getLifecycleState().isStarted()).isFalse();
}
Also used : OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) ComponentContainer(org.sonarsource.sonarlint.core.plugin.commons.pico.ComponentContainer) ClientModuleInfo(org.sonarsource.sonarlint.core.analysis.api.ClientModuleInfo) Test(org.junit.jupiter.api.Test)

Example 14 with OnDiskTestClientInputFile

use of testutils.OnDiskTestClientInputFile in project sonarlint-core by SonarSource.

the class InputFileBuilderTests method testCreateWithLanguageSet.

@Test
void testCreateWithLanguageSet() throws IOException {
    var path = tempDir.resolve("file");
    Files.write(path, "test".getBytes(StandardCharsets.ISO_8859_1));
    ClientInputFile file = new OnDiskTestClientInputFile(path, "file", true, StandardCharsets.ISO_8859_1, Language.CPP);
    var builder = new InputFileBuilder(langDetection, metadata, issueExclusionsLoader);
    var inputFile = builder.create(file);
    assertThat(inputFile.language()).isEqualTo("cpp");
    verifyNoInteractions(langDetection);
}
Also used : OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) ClientInputFile(org.sonarsource.sonarlint.core.analysis.api.ClientInputFile) OnDiskTestClientInputFile(testutils.OnDiskTestClientInputFile) Test(org.junit.jupiter.api.Test)

Aggregations

Test (org.junit.jupiter.api.Test)14 OnDiskTestClientInputFile (testutils.OnDiskTestClientInputFile)14 ClientInputFile (org.sonarsource.sonarlint.core.analysis.api.ClientInputFile)9 ClientModuleInfo (org.sonarsource.sonarlint.core.analysis.api.ClientModuleInfo)5 ComponentContainer (org.sonarsource.sonarlint.core.plugin.commons.pico.ComponentContainer)5 InputFile (org.sonar.api.batch.fs.InputFile)4 SonarLintInputFile (org.sonarsource.sonarlint.core.analysis.container.analysis.filesystem.SonarLintInputFile)3 File (java.io.File)2 IOException (java.io.IOException)2 StandardCharsets (java.nio.charset.StandardCharsets)2 Files (java.nio.file.Files)2 Path (java.nio.file.Path)2 Paths (java.nio.file.Paths)2 ArrayList (java.util.ArrayList)2 Collections (java.util.Collections)2 List (java.util.List)2 CopyOnWriteArrayList (java.util.concurrent.CopyOnWriteArrayList)2 BeforeEach (org.junit.jupiter.api.BeforeEach)2 Issue (org.sonarsource.sonarlint.core.client.api.common.analysis.Issue)2 BufferedReader (java.io.BufferedReader)1