@Test public void testProvideGap_before_5_5() throws IOException { DefaultInputFile inputFile = new TestInputFileBuilder("foo", "src/Foo.xoo") .setLanguage(Xoo.KEY) .initMetadata("a\nb\nc\nd\ne\nf\ng\nh\ni\n") .build(); SensorContextTester context = SensorContextTester.create(temp.newFolder()); context.fileSystem().add(inputFile); context.settings().setProperty(OneIssuePerLineSensor.EFFORT_TO_FIX_PROPERTY, "1.2"); context.setRuntime(SonarRuntimeImpl.forSonarQube(Version.parse("5.4"), SonarQubeSide.SCANNER)); sensor.execute(context); assertThat(context.allIssues()).hasSize(10); // One issue per line for (Issue issue : context.allIssues()) { assertThat(issue.gap()).isEqualTo(1.2d); } }
static SonarComponents sonarComponents(File file) { SensorContextTester context = SensorContextTester.create(new File("")).setRuntime(SonarRuntimeImpl.forSonarLint(Version.create(6, 7))); context.setSettings(new MapSettings().setProperty("sonar.java.failOnException", true)); SonarComponents sonarComponents = new SonarComponents(null, context.fileSystem(), null, null, null) { @Override public boolean reportAnalysisError(RecognitionException re, File file) { return false; } }; sonarComponents.setSensorContext(context); context.fileSystem().add(new TestInputFileBuilder("", file.getPath()).setCharset(StandardCharsets.UTF_8).build()); return sonarComponents; }
static SensorContextTester createContext(int majorVersion, int minorVersion) throws IOException { Path workDir = Files.createTempDirectory("gotemp"); workDir.toFile().deleteOnExit(); Path projectDir = Files.createTempDirectory("goproject"); projectDir.toFile().deleteOnExit(); SensorContextTester context = SensorContextTester.create(workDir); context.fileSystem().setWorkDir(workDir); Path filePath = projectDir.resolve("main.go"); InputFile mainInputFile = TestInputFileBuilder.create("module", projectDir.toFile(), filePath.toFile()) .setCharset(StandardCharsets.UTF_8) .setLanguage(GoLanguage.KEY) .setContents("package main\n" + "import \"fmt\"\n" + "func main() {\n" + " fmt.Println(\"Hello\")\n" + "}\n") .setType(InputFile.Type.MAIN) .build(); context.fileSystem().add(mainInputFile); context.setRuntime(SonarRuntimeImpl.forSonarQube(Version.create(majorVersion, minorVersion), SonarQubeSide.SERVER)); return context; }