diff options
author | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2016-12-13 11:39:22 +0100 |
---|---|---|
committer | Sébastien Lesaint <sebastien.lesaint@sonarsource.com> | 2016-12-14 12:11:53 +0100 |
commit | e2cff9277df4ccaae9098a13d36c52ef70b259fc (patch) | |
tree | 2188b44b6c8f412580ced4b49e306bd2b91f85f8 | |
parent | 558f4a7be88788fc5dd22dac47ef6f2facb84ca4 (diff) | |
download | sonarqube-e2cff9277df4ccaae9098a13d36c52ef70b259fc.tar.gz sonarqube-e2cff9277df4ccaae9098a13d36c52ef70b259fc.zip |
SONAR-8445 move SQ 5.6.1 migration out of Ruby
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); } } |