public void single_module_project_migration() throws SQLException {
String project2Uuid = uuidFactory.create();
insertComponent(5, project2Uuid, null, project2Uuid, Qualifiers.PROJECT, "Single module project");
- insertProperty(9, 5, "sonar.coverage.exclusions", "SingleModuleA.java");
- insertProperty(10, 5, "sonar.cp.exclusions", "SingleModuleB.java");
+ insertProperty(9, 5, "sonar.coverage.exclusions", "SingleModuleA.java", null);
+ insertProperty(10, 5, "sonar.cp.exclusions", "SingleModuleB.java", null);
underTest.execute();
"NAME", name);
}
- private void insertProperty(long id, long componentId, String key, String value) {
+ private void insertProperty(long id, long componentId, String key, String value, Long userId) {
db.executeInsert(
"properties",
"ID", valueOf(id),
"RESOURCE_ID", componentId,
"PROP_KEY", key,
"TEXT_VALUE", value,
- "IS_EMPTY", false);
+ "IS_EMPTY", false,
+ "USER_ID", userId);
}
private void setupMultiModuleProject() {
String moduleUuid = uuidFactory.create();
String subModule1Uuid = uuidFactory.create();
String subModule2Uuid = uuidFactory.create();
+ String subModule3Uuid = uuidFactory.create();
+ String subModule4Uuid = uuidFactory.create();
+ String subModule5Uuid = uuidFactory.create();
insertComponent(1, projectUuid, null, projectUuid, Qualifiers.PROJECT, "Multi-module project");
insertComponent(2, moduleUuid, projectUuid, projectUuid, Qualifiers.MODULE, "Module");
insertComponent(3, subModule1Uuid, moduleUuid, projectUuid, Qualifiers.MODULE, "Submodule 1");
insertComponent(4, subModule2Uuid, moduleUuid, projectUuid, Qualifiers.MODULE, "Submodule 2");
- insertProperty(1, 1, "sonar.coverage.exclusions", "Proj1.java");
- insertProperty(2, 1, "sonar.cpd.exclusions", "Proj2.java");
- insertProperty(3, 2, "sonar.coverage.exclusions", "ModuleA.java");
- insertProperty(4, 2, "sonar.cpd.exclusions", "ModuleB.java");
- insertProperty(5, 3, "sonar.coverage.exclusions", "Module1A.java");
- insertProperty(6, 3, "sonar.cpd.exclusions", "Moddule1B.java");
- insertProperty(7, 4, "sonar.coverage.exclusions", "Module2A.java");
- insertProperty(8, 4, "sonar.cpd.exclusions", "Module2B.java");
+ insertComponent(5, subModule3Uuid, moduleUuid, projectUuid, Qualifiers.MODULE, "Submodule with reset property");
+ insertComponent(6, subModule4Uuid, moduleUuid, projectUuid, Qualifiers.MODULE, "Submodule without properties");
+ insertComponent(7, subModule5Uuid, moduleUuid, projectUuid, Qualifiers.MODULE, "Submodule with user property");
+ insertProperty(1, 1, "sonar.coverage.exclusions", "Proj1.java", null);
+ insertProperty(2, 1, "sonar.cpd.exclusions", "Proj2.java", null);
+ insertProperty(3, 2, "sonar.coverage.exclusions", "ModuleA.java", null);
+ insertProperty(4, 2, "sonar.cpd.exclusions", "ModuleB.java", null);
+ insertProperty(5, 3, "sonar.coverage.exclusions", "Module1A.java", null);
+ insertProperty(6, 3, "sonar.cpd.exclusions", "Moddule1B.java", null);
+ insertProperty(7, 4, "sonar.coverage.exclusions", "Module2A.java", null);
+ insertProperty(8, 4, "sonar.cpd.exclusions", "Module2B.java", null);
+ insertProperty(9, 5, "sonar.coverage.exclusions", null, null);
+ insertProperty(10, 7, "favourite", null, 5L);
}
private void verifyMultiModuleProjectMigration() {
"\n" +
"# Settings from 'Multi-module project::Submodule 2'\n" +
"sonar.coverage.exclusions=Module2A.java\n" +
- "sonar.cpd.exclusions=Module2B.java\n";
+ "sonar.cpd.exclusions=Module2B.java\n" +
+ "\n" +
+ "# Settings from 'Multi-module project::Submodule with reset property'\n" +
+ "sonar.coverage.exclusions=\n";
List<Map<String, Object>> properties = db
.select(String.format("select ID, TEXT_VALUE, CLOB_VALUE from properties where PROP_KEY='%s' and RESOURCE_ID = 1",
private void setupSecondMultiModuleProject() {
String project3Uuid = uuidFactory.create();
String singleModuleUuid = uuidFactory.create();
- insertComponent(6, project3Uuid, null, project3Uuid, Qualifiers.PROJECT, "Another multi-module project");
- insertComponent(7, singleModuleUuid, project3Uuid, project3Uuid, Qualifiers.MODULE, "Module X");
- insertProperty(11, 6, "sonar.coverage.exclusions", "InRoot.java");
- insertProperty(12, 7, "sonar.coverage.exclusions", "InModule.java");
+ insertComponent(8, project3Uuid, null, project3Uuid, Qualifiers.PROJECT, "Another multi-module project");
+ insertComponent(9, singleModuleUuid, project3Uuid, project3Uuid, Qualifiers.MODULE, "Module X");
+ insertProperty(11, 8, "sonar.coverage.exclusions", "InRoot.java", null);
+ insertProperty(12, 9, "sonar.coverage.exclusions", "InModule.java", null);
}
private void verifySecondMultiModuleProjectMigration() {
List<Map<String, Object>> properties = db.select(String.format("select ID, TEXT_VALUE, CLOB_VALUE " +
"from properties " +
- "where PROP_KEY='%s' and RESOURCE_ID = 6", NEW_PROPERTY_NAME));
+ "where PROP_KEY='%s' and RESOURCE_ID = 8", NEW_PROPERTY_NAME));
assertThat(properties).hasSize(1);
Map<String, Object> project2Property = properties.get(0);