public static DefaultInputProject newDefaultInputProject(ProjectDefinition projectDefinition) { return new DefaultInputProject(projectDefinition, TestInputFileBuilder.nextBatchId()); }
public DefaultInputProject provide(ProjectBuildersExecutor projectBuildersExecutor, ProjectReactorValidator validator, ProjectReactor projectReactor, ScannerComponentIdGenerator scannerComponentIdGenerator) { if (project == null) { // 1 Apply project builders projectBuildersExecutor.execute(projectReactor); // 2 Validate final reactor validator.validate(projectReactor); // 3 Create project project = new DefaultInputProject(projectReactor.getRoot(), scannerComponentIdGenerator.getAsInt()); LOG.info("Project key: {}", project.key()); LOG.info("Base dir: {}", project.getBaseDir().toAbsolutePath().toString()); LOG.info("Working dir: {}", project.getWorkDir().toAbsolutePath().toString()); LOG.debug("Project global encoding: {}, default locale: {}", project.getEncoding().displayName(), Locale.getDefault()); } return project; } }
private SensorContextTester(Path moduleBaseDir) { this.settings = new MapSettings(); this.fs = new DefaultFileSystem(moduleBaseDir).setEncoding(Charset.defaultCharset()); this.activeRules = new ActiveRulesBuilder().build(); this.sensorStorage = new InMemorySensorStorage(); this.project = new DefaultInputProject(ProjectDefinition.create().setKey("projectKey").setBaseDir(moduleBaseDir.toFile()).setWorkDir(moduleBaseDir.resolve(".sonar").toFile())); this.module = new DefaultInputModule(ProjectDefinition.create().setKey("projectKey").setBaseDir(moduleBaseDir.toFile()).setWorkDir(moduleBaseDir.resolve(".sonar").toFile())); this.runtime = SonarRuntimeImpl.forSonarQube(ApiVersion.load(System2.INSTANCE), SonarQubeSide.SCANNER); }
@Before public void setUp() throws IOException { baseDir = tempFolder.newFolder(); worDir = new File(baseDir, ".sonar"); lock = new ProjectLock(new DefaultInputProject(ProjectDefinition.create().setBaseDir(baseDir).setWorkDir(worDir))); }
@Before public void prepare() throws Exception { MetricFinder metricFinder = mock(MetricFinder.class); when(metricFinder.<Integer>findByKey(CoreMetrics.NCLOC_KEY)).thenReturn(CoreMetrics.NCLOC); when(metricFinder.<String>findByKey(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION_KEY)).thenReturn(CoreMetrics.FUNCTION_COMPLEXITY_DISTRIBUTION); when(metricFinder.<Integer>findByKey(CoreMetrics.LINES_TO_COVER_KEY)).thenReturn(CoreMetrics.LINES_TO_COVER); settings = new MapSettings(); moduleIssues = mock(IssuePublisher.class); measureCache = mock(MeasureCache.class); ReportPublisher reportPublisher = mock(ReportPublisher.class); reportWriter = new ScannerReportWriter(temp.newFolder()); when(reportPublisher.getWriter()).thenReturn(reportWriter); branchConfiguration = mock(BranchConfiguration.class); underTest = new DefaultSensorStorage(metricFinder, moduleIssues, settings.asConfig(), reportPublisher, measureCache, mock(SonarCpdBlockIndex.class), contextPropertiesCache, new ScannerMetrics(), branchConfiguration); project = new DefaultInputProject(ProjectDefinition.create() .setKey("foo") .setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder())); }
@Test public void build_project_measure() throws IOException { SensorStorage storage = mock(SensorStorage.class); AbstractProjectOrModule module = new DefaultInputProject(ProjectDefinition.create().setKey("foo").setBaseDir(temp.newFolder()).setWorkDir(temp.newFolder())); DefaultMeasure<Integer> newMeasure = new DefaultMeasure<Integer>(storage) .forMetric(CoreMetrics.LINES) .on(module) .withValue(3); assertThat(newMeasure.inputComponent()).isEqualTo(module); assertThat(newMeasure.metric()).isEqualTo(CoreMetrics.LINES); assertThat(newMeasure.value()).isEqualTo(3); newMeasure.save(); verify(storage).store(newMeasure); }
@Test public void testGetters() throws IOException { ProjectDefinition def = ProjectDefinition.create(); def.setKey("projectKey"); def.setName("projectName"); File baseDir = temp.newFolder(); def.setBaseDir(baseDir); def.setVersion("version"); def.setDescription("desc"); File workDir = temp.newFolder(); def.setWorkDir(workDir); def.setSources("file1"); def.setTests("test1"); AbstractProjectOrModule project = new DefaultInputProject(def); assertThat(project.key()).isEqualTo("projectKey"); assertThat(project.getName()).isEqualTo("projectName"); assertThat(project.getOriginalName()).isEqualTo("projectName"); assertThat(project.definition()).isEqualTo(def); assertThat(project.getBranch()).isNull(); assertThat(project.getBaseDir()).isEqualTo(baseDir.toPath()); assertThat(project.getKeyWithBranch()).isEqualTo("projectKey"); assertThat(project.getVersion()).isEqualTo("version"); assertThat(project.getOriginalVersion()).isEqualTo("version"); assertThat(project.getDescription()).isEqualTo("desc"); assertThat(project.getWorkDir()).isEqualTo(workDir.toPath()); assertThat(project.getEncoding()).isEqualTo(Charset.defaultCharset()); assertThat(project.properties()).hasSize(6); assertThat(project.isFile()).isFalse(); }
@Test public void publish_project_without_version_and_name() throws IOException { ProjectAnalysisInfo projectAnalysisInfo = mock(ProjectAnalysisInfo.class); when(projectAnalysisInfo.analysisDate()).thenReturn(DateUtils.parseDate("2012-12-12")); ProjectDefinition rootDef = ProjectDefinition.create() .setKey("foo") .setDescription("Root description") .setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder()); DefaultInputProject project = new DefaultInputProject(rootDef, 1); InputComponentStore store = new InputComponentStore(branchConfiguration); ComponentsPublisher publisher = new ComponentsPublisher(project, store); publisher.publish(writer); assertThat(writer.hasComponentData(FileStructure.Domain.COMPONENT, 1)).isTrue(); ScannerReportReader reader = new ScannerReportReader(outputDir); Component rootProtobuf = reader.readComponent(1); assertThat(rootProtobuf.getKey()).isEqualTo("foo"); assertThat(rootProtobuf.getName()).isEqualTo(""); assertThat(rootProtobuf.getDescription()).isEqualTo("Root description"); assertThat(rootProtobuf.getVersion()).isEqualTo(""); assertThat(rootProtobuf.getLinkCount()).isEqualTo(0); }
@Test public void should_set_modified_name_with_branch() throws IOException { ProjectAnalysisInfo projectAnalysisInfo = mock(ProjectAnalysisInfo.class); when(projectAnalysisInfo.analysisDate()).thenReturn(DateUtils.parseDate("2012-12-12")); ProjectDefinition rootDef = ProjectDefinition.create() .setKey("foo") .setDescription("Root description") .setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder()) .setProperty(CoreProperties.PROJECT_BRANCH_PROPERTY, "my_branch"); DefaultInputProject project = new DefaultInputProject(rootDef, 1); InputComponentStore store = new InputComponentStore(branchConfiguration); ComponentsPublisher publisher = new ComponentsPublisher(project, store); publisher.publish(writer); Component rootProtobuf = reader.readComponent(1); assertThat(rootProtobuf.getKey()).isEqualTo("foo"); assertThat(rootProtobuf.getName()).isEqualTo("foo my_branch"); }
.setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder()); DefaultInputProject project = new DefaultInputProject(rootDef, 1);
@Before public void before() throws Exception { moduleHierarchy = mock(InputModuleHierarchy.class); File projectBaseDir = temp.newFolder(); fs = new DefaultFileSystem(projectBaseDir.toPath()); SIMPLE_DATE_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+02:00")); when(server.getVersion()).thenReturn("3.6"); ProjectDefinition def = ProjectDefinition.create().setBaseDir(projectBaseDir).setWorkDir(temp.newFolder()).setKey("struts"); DefaultInputProject project = new DefaultInputProject(def, 1); InputComponentStore inputComponentStore = new InputComponentStore(mock(BranchConfiguration.class)); DefaultInputFile inputFile = new TestInputFileBuilder("struts", "src/main/java/org/apache/struts/Action.java") .setModuleBaseDir(projectBaseDir.toPath()).build(); inputFile.setStatus(InputFile.Status.CHANGED); inputFile.setPublished(true); inputComponentStore.put("struts", inputFile); RulesBuilder builder = new RulesBuilder(); builder.add(RuleKey.of("squid", "AvoidCycles")).setName("Avoid Cycles"); rules = builder.build(); jsonReport = new JSONReport(settings.asConfig(), fs, server, rules, issueCache, project, inputComponentStore); }
@Before public void prepare() throws IOException { project = new DefaultInputProject(ProjectDefinition.create() .setKey("foo") .setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder())); }
@Before public void prepare() throws IOException { project = new DefaultInputProject(ProjectDefinition.create() .setKey("foo") .setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder())); }
@Before public void setup() throws IOException { project = new DefaultInputProject(ProjectDefinition.create() .setKey("foo") .setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder())); }
@Test public void testEncoding() throws IOException { ProjectDefinition def = ProjectDefinition.create(); def.setKey("projectKey"); def.setName("projectName"); File baseDir = temp.newFolder(); def.setBaseDir(baseDir); def.setVersion("version"); def.setDescription("desc"); File workDir = temp.newFolder(); def.setWorkDir(workDir); def.setSources("file1"); def.setProperty("sonar.sourceEncoding", "UTF-16"); AbstractProjectOrModule project = new DefaultInputProject(def); assertThat(project.getEncoding()).isEqualTo(StandardCharsets.UTF_16); }
.setBaseDir(temp.newFolder()) .setWorkDir(temp.newFolder()); DefaultInputProject project = new DefaultInputProject(rootDef, 1);
.setBaseDir(baseDir.toFile()) .setWorkDir(temp.newFolder()); DefaultInputProject project = new DefaultInputProject(rootDef, 1);
@Test public void not_allowed_to_call_on_twice() throws IOException { thrown.expect(IllegalStateException.class); thrown.expectMessage("on() already called"); new DefaultMeasure<Integer>() .on(new DefaultInputProject(ProjectDefinition.create().setKey("foo").setBaseDir(temp.newFolder()).setWorkDir(temp.newFolder()))) .on(new TestInputFileBuilder("foo", "src/Foo.php").build()) .withValue(3) .save(); }
public static DefaultInputProject newDefaultInputProject(ProjectDefinition projectDefinition) { return new DefaultInputProject(projectDefinition, TestInputFileBuilder.nextBatchId()); }
private SensorContextTester(Path moduleBaseDir) { this.settings = new MapSettings(); this.fs = new DefaultFileSystem(moduleBaseDir).setEncoding(Charset.defaultCharset()); this.activeRules = new ActiveRulesBuilder().build(); this.sensorStorage = new InMemorySensorStorage(); this.project = new DefaultInputProject(ProjectDefinition.create().setKey("projectKey").setBaseDir(moduleBaseDir.toFile()).setWorkDir(moduleBaseDir.resolve(".sonar").toFile())); this.module = new DefaultInputModule(ProjectDefinition.create().setKey("projectKey").setBaseDir(moduleBaseDir.toFile()).setWorkDir(moduleBaseDir.resolve(".sonar").toFile())); this.runtime = SonarRuntimeImpl.forSonarQube(ApiVersion.load(System2.INSTANCE), SonarQubeSide.SCANNER); }