aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-12-13 11:39:22 +0100
committerSébastien Lesaint <sebastien.lesaint@sonarsource.com>2016-12-14 12:11:53 +0100
commite2cff9277df4ccaae9098a13d36c52ef70b259fc (patch)
tree2188b44b6c8f412580ced4b49e306bd2b91f85f8
parent558f4a7be88788fc5dd22dac47ef6f2facb84ca4 (diff)
downloadsonarqube-e2cff9277df4ccaae9098a13d36c52ef70b259fc.tar.gz
sonarqube-e2cff9277df4ccaae9098a13d36c52ef70b259fc.zip
SONAR-8445 move SQ 5.6.1 migration out of Ruby
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/DbVersionModule.java2
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561.java30
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmpty.java (renamed from sonar-db/src/main/java/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmpty.java)6
-rw-r--r--server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/package-info.java (renamed from sonar-db/src/main/java/org/sonar/db/version/v561/package-info.java)2
-rw-r--r--server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/DbVersionModuleTest.java2
-rw-r--r--server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561Test.java47
-rw-r--r--server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmptyTest.java (renamed from sonar-db/src/test/java/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmptyTest.java)13
-rw-r--r--server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmptyTest/schema.sql (renamed from sonar-db/src/test/resources/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmptyTest/schema.sql)0
-rw-r--r--server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1153_update_users_external_identity_when_empty.rb31
-rw-r--r--sonar-db/src/main/java/org/sonar/db/version/MigrationStepModule.java6
-rw-r--r--sonar-db/src/test/java/org/sonar/db/version/MigrationStepModuleTest.java2
11 files changed, 92 insertions, 49 deletions
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/DbVersionModule.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/DbVersionModule.java
index cde9590db53..4fdb281ddbb 100644
--- a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/DbVersionModule.java
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/DbVersionModule.java
@@ -20,6 +20,7 @@
package org.sonar.server.platform.db.migration.version;
import org.sonar.core.platform.Module;
+import org.sonar.server.platform.db.migration.version.v561.DbVersion561;
import org.sonar.server.platform.db.migration.version.v60.DbVersion60;
import org.sonar.server.platform.db.migration.version.v61.DbVersion61;
import org.sonar.server.platform.db.migration.version.v62.DbVersion62;
@@ -29,6 +30,7 @@ public class DbVersionModule extends Module {
@Override
protected void configureModule() {
add(
+ DbVersion561.class,
DbVersion60.class,
DbVersion61.class,
DbVersion62.class,
diff --git a/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561.java
new file mode 100644
index 00000000000..60079df7036
--- /dev/null
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561.java
@@ -0,0 +1,30 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v561;
+
+import org.sonar.server.platform.db.migration.step.MigrationStepRegistry;
+import org.sonar.server.platform.db.migration.version.DbVersion;
+
+public class DbVersion561 implements DbVersion {
+ @Override
+ public void addSteps(MigrationStepRegistry registry) {
+ registry.add(1153, "Populate columns USERS.EXTERNAL_IDENTITY_*", UpdateUsersExternalIdentityWhenEmpty.class);
+ }
+}
diff --git a/sonar-db/src/main/java/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmpty.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmpty.java
index c7ebfb80e1f..a95fbca667c 100644
--- a/sonar-db/src/main/java/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmpty.java
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmpty.java
@@ -17,20 +17,20 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.db.version.v561;
+package org.sonar.server.platform.db.migration.version.v561;
import java.sql.SQLException;
import org.sonar.api.utils.System2;
import org.sonar.db.Database;
-import org.sonar.db.version.BaseDataChange;
import org.sonar.db.version.MassUpdate;
import org.sonar.db.version.Select;
import org.sonar.db.version.SqlStatement;
+import org.sonar.server.platform.db.migration.step.DataChange;
/**
* Update USERS.EXTERNAL_IDENTITY_PROVIDER to 'sonarqube' and USERS.EXTERNAL_IDENTITY to user's login when one of this 2 columns is null
*/
-public class UpdateUsersExternalIdentityWhenEmpty extends BaseDataChange {
+public class UpdateUsersExternalIdentityWhenEmpty extends DataChange {
private final System2 system2;
diff --git a/sonar-db/src/main/java/org/sonar/db/version/v561/package-info.java b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/package-info.java
index 3c210ce91d1..a36da9f8f63 100644
--- a/sonar-db/src/main/java/org/sonar/db/version/v561/package-info.java
+++ b/server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v561/package-info.java
@@ -18,7 +18,7 @@
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
@ParametersAreNonnullByDefault
-package org.sonar.db.version.v561;
+package org.sonar.server.platform.db.migration.version.v561;
import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/DbVersionModuleTest.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/DbVersionModuleTest.java
index 65795e2c0c4..6f9226ab604 100644
--- a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/DbVersionModuleTest.java
+++ b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/DbVersionModuleTest.java
@@ -36,7 +36,7 @@ public class DbVersionModuleTest {
underTest.configure(container);
assertThat(container.getPicoContainer().getComponentAdapters())
- .hasSize(COMPONENTS_IN_EMPTY_COMPONENT_CONTAINER + 4);
+ .hasSize(COMPONENTS_IN_EMPTY_COMPONENT_CONTAINER + 5);
}
}
diff --git a/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561Test.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561Test.java
new file mode 100644
index 00000000000..61f1b3f272e
--- /dev/null
+++ b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v561/DbVersion561Test.java
@@ -0,0 +1,47 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2016 SonarSource SA
+ * mailto:contact AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+package org.sonar.server.platform.db.migration.version.v561;
+
+import org.junit.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.sonar.server.platform.db.migration.version.DbVersionTestUtils.verifyMigrationCount;
+import static org.sonar.server.platform.db.migration.version.DbVersionTestUtils.verifyMinimumMigrationNumber;
+
+public class DbVersion561Test {
+ private DbVersion561 underTest = new DbVersion561();
+
+ @Test
+ public void verify_no_support_component() {
+ assertThat(underTest.getSupportComponents()).isEmpty();
+ }
+
+ @Test
+ public void migrationNumber_starts_at_1153() {
+ verifyMinimumMigrationNumber(underTest, 1153);
+ }
+
+ @Test
+ public void verify_migration_count() {
+ verifyMigrationCount(underTest, 1);
+ }
+
+
+}
diff --git a/sonar-db/src/test/java/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmptyTest.java b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmptyTest.java
index 7a32d598d97..c792773b9ac 100644
--- a/sonar-db/src/test/java/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmptyTest.java
+++ b/server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmptyTest.java
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
-package org.sonar.db.version.v561;
+package org.sonar.server.platform.db.migration.version.v561;
import java.util.HashMap;
import java.util.Map;
@@ -27,7 +27,6 @@ import org.junit.Rule;
import org.junit.Test;
import org.sonar.api.utils.System2;
import org.sonar.db.DbTester;
-import org.sonar.db.version.MigrationStep;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
@@ -35,15 +34,15 @@ import static org.mockito.Mockito.when;
public class UpdateUsersExternalIdentityWhenEmptyTest {
+ private static final long PAST = 1_000_000_000_000L;
+ private static final long NOW = 1_500_000_000_000L;
+
@Rule
public DbTester db = DbTester.createForSchema(System2.INSTANCE, UpdateUsersExternalIdentityWhenEmptyTest.class, "schema.sql");
- static final long PAST = 1_000_000_000_000L;
- static final long NOW = 1_500_000_000_000L;
-
- System2 system = mock(System2.class);
+ private System2 system = mock(System2.class);
- MigrationStep underTest = new UpdateUsersExternalIdentityWhenEmpty(db.database(), system);
+ private UpdateUsersExternalIdentityWhenEmpty underTest = new UpdateUsersExternalIdentityWhenEmpty(db.database(), system);
@Before
public void setUp() throws Exception {
diff --git a/sonar-db/src/test/resources/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmptyTest/schema.sql b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmptyTest/schema.sql
index 127fc346a9f..127fc346a9f 100644
--- a/sonar-db/src/test/resources/org/sonar/db/version/v561/UpdateUsersExternalIdentityWhenEmptyTest/schema.sql
+++ b/server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v561/UpdateUsersExternalIdentityWhenEmptyTest/schema.sql
diff --git a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1153_update_users_external_identity_when_empty.rb b/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1153_update_users_external_identity_when_empty.rb
deleted file mode 100644
index a5079b3b83a..00000000000
--- a/server/sonar-web/src/main/webapp/WEB-INF/db/migrate/1153_update_users_external_identity_when_empty.rb
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# SonarQube, open source software quality management tool.
-# Copyright (C) 2008-2016 SonarSource
-# mailto:contact AT sonarsource DOT com
-#
-# SonarQube is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 3 of the License, or (at your option) any later version.
-#
-# SonarQube is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public License
-# along with this program; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-
-#
-# SonarQube 5.6.1
-# SONAR-7686
-#
-class UpdateUsersExternalIdentityWhenEmpty < ActiveRecord::Migration
-
- def self.up
- execute_java_migration('org.sonar.db.version.v561.UpdateUsersExternalIdentityWhenEmpty')
- end
-
-end
diff --git a/sonar-db/src/main/java/org/sonar/db/version/MigrationStepModule.java b/sonar-db/src/main/java/org/sonar/db/version/MigrationStepModule.java
index 2bd6fc25b2c..6e7ec450d6e 100644
--- a/sonar-db/src/main/java/org/sonar/db/version/MigrationStepModule.java
+++ b/sonar-db/src/main/java/org/sonar/db/version/MigrationStepModule.java
@@ -22,7 +22,6 @@ package org.sonar.db.version;
import org.sonar.core.platform.Module;
import org.sonar.db.version.v56.CreateInitialSchema;
import org.sonar.db.version.v56.PopulateInitialSchema;
-import org.sonar.db.version.v561.UpdateUsersExternalIdentityWhenEmpty;
public class MigrationStepModule extends Module {
@Override
@@ -30,9 +29,6 @@ public class MigrationStepModule extends Module {
add(
// 5.6
CreateInitialSchema.class,
- PopulateInitialSchema.class,
-
- // 5.6.1
- UpdateUsersExternalIdentityWhenEmpty.class);
+ PopulateInitialSchema.class);
}
}
diff --git a/sonar-db/src/test/java/org/sonar/db/version/MigrationStepModuleTest.java b/sonar-db/src/test/java/org/sonar/db/version/MigrationStepModuleTest.java
index 5984fb5427b..60bf767ed9c 100644
--- a/sonar-db/src/test/java/org/sonar/db/version/MigrationStepModuleTest.java
+++ b/sonar-db/src/test/java/org/sonar/db/version/MigrationStepModuleTest.java
@@ -29,6 +29,6 @@ public class MigrationStepModuleTest {
public void verify_count_of_added_MigrationStep_types() {
ComponentContainer container = new ComponentContainer();
new MigrationStepModule().configure(container);
- assertThat(container.size()).isEqualTo(5);
+ assertThat(container.size()).isEqualTo(4);
}
}