public ProjectConfiguration provide(DefaultInputProject project, GlobalConfiguration globalConfig, GlobalServerSettings globalServerSettings, ProjectServerSettings projectServerSettings, MutableProjectSettings projectSettings) { if (projectConfig == null) { Map<String, String> settings = new LinkedHashMap<>(); settings.putAll(globalServerSettings.properties()); settings.putAll(projectServerSettings.properties()); settings.putAll(project.properties()); projectConfig = new ProjectConfiguration(globalConfig.getDefinitions(), globalConfig.getEncryption(), settings); projectSettings.complete(projectConfig); } return projectConfig; } }
public void complete(ProjectConfiguration projectConfig) { addProperties(projectConfig.getProperties()); }
private ProjectConfiguration mockConfig(String coverageExclusions, String cpdExclusions) { ProjectConfiguration config = mock(ProjectConfiguration.class); when(config.getStringArray(CoreProperties.PROJECT_COVERAGE_EXCLUSIONS_PROPERTY)).thenReturn(new String[] {coverageExclusions}); when(config.getStringArray(CoreProperties.CPD_EXCLUSIONS)).thenReturn(new String[] {cpdExclusions}); return config; }
@Test public void migrateOldProperties() { Map<String, String> settings = new HashMap<>(); settings.put(GenericCoverageSensor.OLD_REPORT_PATH_PROPERTY_KEY, "old.xml"); settings.put(GenericCoverageSensor.OLD_COVERAGE_REPORT_PATHS_PROPERTY_KEY, "old1.xml,old2.xml"); settings.put(GenericCoverageSensor.OLD_IT_COVERAGE_REPORT_PATHS_PROPERTY_KEY, "old3.xml,old4.xml,old.xml"); settings.put(GenericCoverageSensor.OLD_OVERALL_COVERAGE_REPORT_PATHS_PROPERTY_KEY, "old5.xml,old6.xml"); PropertyDefinitions defs = new PropertyDefinitions(GenericCoverageSensor.properties()); DefaultConfiguration config = new ProjectConfiguration(defs, new Encryption(null), settings); Set<String> reportPaths = new GenericCoverageSensor(config).loadReportPaths(); assertThat(logTester.logs(LoggerLevel.WARN)).contains( "Property 'sonar.genericcoverage.reportPath' is deprecated. Please use 'sonar.coverageReportPaths' instead.", "Property 'sonar.genericcoverage.reportPaths' is deprecated. Please use 'sonar.coverageReportPaths' instead.", "Property 'sonar.genericcoverage.itReportPaths' is deprecated. Please use 'sonar.coverageReportPaths' instead.", "Property 'sonar.genericcoverage.overallReportPaths' is deprecated. Please use 'sonar.coverageReportPaths' instead."); assertThat(reportPaths).containsOnly( "old.xml", "old1.xml", "old2.xml", "old3.xml", "old4.xml", "old5.xml", "old6.xml"); } }
public void complete(ProjectConfiguration projectConfig) { addProperties(projectConfig.getProperties()); }
@Test public void logWhenDeprecatedPropsAreUsed() throws IOException { File basedir = temp.newFolder(); File report = new File(basedir, "report.xml"); FileUtils.write(report, "<unitTest version=\"1\"><file path=\"A.java\"><testCase name=\"test1\" duration=\"500\"/></file></unitTest>", StandardCharsets.UTF_8); SensorContextTester context = SensorContextTester.create(basedir); Map<String, String> settings = new HashMap<>(); settings.put(GenericTestExecutionSensor.OLD_UNIT_TEST_REPORT_PATHS_PROPERTY_KEY, "report.xml"); PropertyDefinitions defs = new PropertyDefinitions(GenericTestExecutionSensor.properties()); DefaultConfiguration config = new ProjectConfiguration(defs, new Encryption(null), settings); new GenericTestExecutionSensor(mock(TestPlanBuilder.class), config).execute(context); assertThat(logTester.logs(LoggerLevel.WARN)).contains( "Using 'unitTest' as root element of the report is deprecated. Please change to 'testExecutions'.", "Property 'sonar.genericcoverage.unitTestReportPaths' is deprecated. Please use 'sonar.testExecutionReportPaths' instead."); assertThat(logTester.logs(LoggerLevel.INFO)).contains( "Imported test execution data for 0 files", "Test execution data ignored for 1 unknown files, including:\nA.java"); } }
public ProjectConfiguration provide(DefaultInputProject project, GlobalConfiguration globalConfig, GlobalServerSettings globalServerSettings, ProjectServerSettings projectServerSettings, MutableProjectSettings projectSettings) { if (projectConfig == null) { Map<String, String> settings = new LinkedHashMap<>(); settings.putAll(globalServerSettings.properties()); settings.putAll(projectServerSettings.properties()); settings.putAll(project.properties()); projectConfig = new ProjectConfiguration(globalConfig.getDefinitions(), globalConfig.getEncryption(), settings); projectSettings.complete(projectConfig); } return projectConfig; } }