@Test public void testForceSeverity() 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.FORCE_SEVERITY_PROPERTY, "MINOR"); sensor.execute(context); assertThat(context.allIssues()).hasSize(10); // One issue per line for (Issue issue : context.allIssues()) { assertThat(issue.overriddenSeverity()).isEqualTo(Severity.MINOR); } }
@Test public void testRule() 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); sensor.execute(context); assertThat(context.allIssues()).hasSize(10); // One issue per line for (Issue issue : context.allIssues()) { assertThat(issue.gap()).isNull(); } }
@Test public void testProvideGap() 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"); sensor.execute(context); assertThat(context.allIssues()).hasSize(10); // One issue per line for (Issue issue : context.allIssues()) { assertThat(issue.gap()).isEqualTo(1.2d); } }
@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); } }
@Test public void testIssues() { assertThat(tester.allIssues()).isEmpty(); NewIssue newIssue = tester.newIssue(); newIssue .at(newIssue.newLocation().on(new TestInputFileBuilder("foo", "src/Foo.java").build())) .forRule(RuleKey.of("repo", "rule")) .save(); newIssue = tester.newIssue(); newIssue .at(newIssue.newLocation().on(new TestInputFileBuilder("foo", "src/Foo.java").build())) .forRule(RuleKey.of("repo", "rule")) .save(); assertThat(tester.allIssues()).hasSize(2); }
@Test public void should_execute_on_simple_project() { String relativePath = "lib/Sample/Project.pm"; inputFile(relativePath); createSensor().execute(context); assertThat(context.allIssues()).hasSize(3); }
@Test void test_line_issue() throws IOException { InputFile inputFile = createInputFile("lets.go", InputFile.Type.MAIN, "package main\n"); sensorContext.fileSystem().add(inputFile); GoSensor goSensor = getSensor("S103"); goSensor.execute(sensorContext); assertThat(sensorContext.allIssues()).hasSize(1); }
@Test void test_file_issue() throws IOException { InputFile inputFile = createInputFile("lets.go", InputFile.Type.MAIN, "// hey \n package main \n"); sensorContext.fileSystem().add(inputFile); GoSensor goSensor = getSensor("S1451"); goSensor.execute(sensorContext); assertThat(sensorContext.allIssues()).hasSize(1); }
@Test void test_issue() throws IOException { InputFile inputFile = createInputFile("lets.go", InputFile.Type.MAIN, "package main \n" + "\n" + "func test() {\n" + " pwd := \"secret\"\n" + "}"); sensorContext.fileSystem().add(inputFile); GoSensor goSensor = getSensor("S2068"); goSensor.execute(sensorContext); assertThat(sensorContext.allIssues()).hasSize(1); }
GoSensor goSensor = getSensor(); goSensor.execute(sensorContext); assertThat(sensorContext.allIssues()).hasSize(0); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.NCLOC).value()).isEqualTo(19); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.COMMENT_LINES).value()).isEqualTo(3);
@Test public void metrics_for_test_file() { InputFile inputFile = createInputFile("lets.go", InputFile.Type.TEST, "// This is not a line of code\n" + "package main\n" + "import \"fmt\"\n" + "func main() {\n" + " fmt.Println(\"Hello\")\n" + "}\n"); sensorContext.fileSystem().add(inputFile); GoSensor goSensor = getSensor(); goSensor.execute(sensorContext); assertThat(sensorContext.allIssues()).hasSize(0); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.NCLOC)).isNull(); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.COMMENT_LINES)).isNull(); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.CLASSES)).isNull(); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.FUNCTIONS)).isNull(); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.STATEMENTS)).isNull(); assertThat(sensorContext.measure(inputFile.key(), CoreMetrics.COGNITIVE_COMPLEXITY)).isNull(); assertThat(fileLinesContext.saveCount).isEqualTo(0); assertThat(fileLinesContext.metrics.keySet()).isEmpty(); }