@Test public void key() { FilePredicate predicate = new AdditionalFilePredicates.KeyPredicate("struts:Action.java"); InputFile inputFile = new TestInputFileBuilder("struts", "Action.java").build(); assertThat(predicate.apply(inputFile)).isTrue(); inputFile = new TestInputFileBuilder("struts", "Filter.java").build(); assertThat(predicate.apply(inputFile)).isFalse(); } }
public static DefaultInputFile newDefaultInputFile(Path projectBaseDir, AbstractProjectOrModule module, String relativePath) { return new TestInputFileBuilder(module.key(), relativePath) .setStatus(InputFile.Status.SAME) .setProjectBaseDir(projectBaseDir) .setModuleBaseDir(module.getBaseDir()) .build(); } }
@Test public void should_save_issue() { InputFile file = new TestInputFileBuilder("foo", "src/Foo.php").build(); DefaultIssue issue = new DefaultIssue(project).at(new DefaultIssueLocation().on(file)); underTest.store(issue); ArgumentCaptor<Issue> argumentCaptor = ArgumentCaptor.forClass(Issue.class); verify(moduleIssues).initAndAddIssue(argumentCaptor.capture()); assertThat(argumentCaptor.getValue()).isEqualTo(issue); }
@Test public void shouldFailIfNotExpectedFile() { InputFile file = new TestInputFileBuilder("foo", "src/main/java/Foo.java").build(); thrown.expect(IllegalArgumentException.class); thrown.expectMessage("It was not expected to blame file " + file); new DefaultBlameOutput(null, Arrays.<InputFile>asList(new TestInputFileBuilder("foo", "src/main/java/Foo2.java").build())) .blameResult(file, Arrays.asList(new BlameLine().revision("1").author("guy"))); }
@Test public void filesWithDefaultPredicate() { DefaultInputFile file1 = new TestInputFileBuilder("foo", "src/Foo.php").setLanguage("php").build(); fs.add(file1); fs.add(new TestInputFileBuilder("foo", "src/Bar.java").setLanguage("java").build()); fs.add(new TestInputFileBuilder("foo", "src/Baz.java").setLanguage("java").build()); fs.setDefaultPredicate(p -> f -> f.relativePath().endsWith("Foo.php")); Iterator<File> iterator = fs.files(fs.predicates().all()).iterator(); assertThat(iterator.hasNext()).isTrue(); assertThat(iterator.next()).isEqualTo(file1.file()); assertThat(iterator.hasNext()).isFalse(); }
@Test public void testLineHitAndConditions() throws IOException { File coverage = new File(baseDir, "src/foo.xoo.itcoverage"); FileUtils.write(coverage, "1:3:4:2"); InputFile inputFile = new TestInputFileBuilder("foo", "src/foo.xoo").setModuleBaseDir(baseDir.toPath()).setLanguage("xoo").setLines(10).build(); context.fileSystem().add(inputFile); sensor.execute(context); assertThat(context.lineHits("foo:src/foo.xoo", 1)).isEqualTo(3); assertThat(context.conditions("foo:src/foo.xoo", 1)).isEqualTo(4); assertThat(context.coveredConditions("foo:src/foo.xoo", 1)).isEqualTo(2); } }
@Test public void testLineHitAndConditions() throws IOException { File coverage = new File(baseDir, "src/foo.xoo.overallcoverage"); FileUtils.write(coverage, "1:3:4:2"); InputFile inputFile = new TestInputFileBuilder("foo", "src/foo.xoo").setLanguage("xoo").setModuleBaseDir(baseDir.toPath()).setLines(10).build(); context.fileSystem().add(inputFile); sensor.execute(context); assertThat(context.lineHits("foo:src/foo.xoo", 1)).isEqualTo(3); assertThat(context.conditions("foo:src/foo.xoo", 1)).isEqualTo(4); assertThat(context.coveredConditions("foo:src/foo.xoo", 1)).isEqualTo(2); } }
InputFile addFile(String moduleKey, String relpath, String language) { DefaultInputFile file = new TestInputFileBuilder(moduleKey, relpath) .setLanguage(language) .build(); put(moduleKey, file); return file; } }
@Before public void prepare() throws IOException { String moduleKey = "foo"; inputFile = new TestInputFileBuilder(moduleKey, "src/Foo.php").setLines(5).build(); DefaultInputProject rootModule = TestInputFileBuilder.newDefaultInputProject(moduleKey, temp.newFolder()); InputComponentStore componentCache = new InputComponentStore(mock(BranchConfiguration.class)); componentCache.put(moduleKey, inputFile); measureCache = mock(MeasureCache.class); when(measureCache.byMetric(anyString(), anyString())).thenReturn(null); publisher = new CoveragePublisher(componentCache, measureCache); }
@Test public void should_cache_files_by_filename() throws IOException { ModuleInputComponentStore store = newModuleInputComponentStore(); String filename = "some name"; InputFile inputFile1 = new TestInputFileBuilder(projectKey, "some/path/" + filename).build(); store.doAdd(inputFile1); InputFile inputFile2 = new TestInputFileBuilder(projectKey, "other/path/" + filename).build(); store.doAdd(inputFile2); InputFile dummyInputFile = new TestInputFileBuilder(projectKey, "some/path/Dummy.java").build(); store.doAdd(dummyInputFile); assertThat(store.getFilesByName(filename)).containsExactlyInAnyOrder(inputFile1, inputFile2); }
private DefaultInputFile createInputFileWithMetadata(Path baseDir, String relativePath) { DefaultInputFile inputFile = new TestInputFileBuilder("struts", relativePath) .setModuleBaseDir(baseDir) .build(); generator.setMetadata("module", inputFile, StandardCharsets.US_ASCII); return inputFile; }
@Test public void should_optimize_on_language() { DefaultSensorDescriptor descriptor = new DefaultSensorDescriptor() .onlyOnLanguages("java", "php"); assertThat(optimizer.shouldExecute(descriptor)).isFalse(); fs.add(new TestInputFileBuilder("foo", "src/Foo.java").setLanguage("java").build()); assertThat(optimizer.shouldExecute(descriptor)).isTrue(); }
@Test public void shouldValidateMaxLine() throws Exception { InputFile file = new TestInputFileBuilder("module", "testfile").setModuleBaseDir(temp.newFolder().toPath()).build(); Map<Integer, Integer> map = ImmutableMap.of(11, 3); String data = KeyValueFormat.format(map); thrown.expect(IllegalStateException.class); underTest.validateCoverageMeasure(data, file); }
@Test public void testLineHits() { assertThat(tester.lineHits("foo:src/Foo.java", 1)).isNull(); assertThat(tester.lineHits("foo:src/Foo.java", 4)).isNull(); tester.newCoverage() .onFile(new TestInputFileBuilder("foo", "src/Foo.java").initMetadata("annot dsf fds foo bar\nasdas").build()) .lineHits(1, 2) .lineHits(2, 3) .save(); assertThat(tester.lineHits("foo:src/Foo.java", 1)).isEqualTo(2); assertThat(tester.lineHits("foo:src/Foo.java", 2)).isEqualTo(3); }
@Test public void shouldNotFailIfNotSameNumberOfLines() { InputFile file = new TestInputFileBuilder("foo", "src/main/java/Foo.java").setLines(10).build(); new DefaultBlameOutput(null, Arrays.asList(file)).blameResult(file, Arrays.asList(new BlameLine().revision("1").author("guy"))); }
@Test public void testNoExecutionIfNoSyntaxFile() { DefaultInputFile inputFile = new TestInputFileBuilder("foo", "src/foo.xoo") .setLanguage("xoo") .setModuleBaseDir(baseDir.toPath()) .build(); context.fileSystem().add(inputFile); sensor.execute(context); }
private DefaultInputFile setupFile(String path) { return new TestInputFileBuilder(context.module().key(), path) .setLanguage("bla") .setType(InputFile.Type.TEST) .initMetadata("1\n2\n3\n4\n5\n6") .build(); } }
@Test public void input_file_fails_if_too_many_results() { thrown.expect(IllegalArgumentException.class); thrown.expectMessage("expected one element"); fs.add(new TestInputFileBuilder("foo", "src/Bar.java").setLanguage("java").build()); fs.add(new TestInputFileBuilder("foo", "src/Baz.java").setLanguage("java").build()); fs.inputFile(fs.predicates().all()); }
@Test public void testNoExecutionIfNoMeasureFile() { InputFile inputFile = new TestInputFileBuilder("foo", "src/foo.xoo").setLanguage("xoo").build(); context.fileSystem().add(inputFile); sensor.execute(context); }
@Test public void shouldFailIfUnknownMetric() { InputFile file = new TestInputFileBuilder("foo", "src/Foo.php").build(); thrown.expect(UnsupportedOperationException.class); thrown.expectMessage("Unknown metric: lines"); underTest.store(new DefaultMeasure() .on(file) .forMetric(CoreMetrics.LINES) .withValue(10)); }