From bef8258c5216b14ab0b635d261ef6fe0f1e75fda Mon Sep 17 00:00:00 2001 From: Julien Lancelot Date: Fri, 11 May 2018 09:13:40 +0200 Subject: [PATCH] SONAR-10597 Update QPROFILE_CHANGES#USER_LOGIN to USER_UUID * SONAR-10597 Refactor ChangelogActionTest Improve unit tests to really check JSON response Add some tests on not covered use cases * SONAR-10597 Rename QPROFILE_CHANGES#USER_LOGIN to USER_UUID * SONAR-10597 Fix ChangelogAction to not return user uuid * SONAR-10597 Add ITs to check qProfile changes after login update * SONAR-10597 Set user uuid instead of login when saving qprofile changes --- .../org/sonar/db/version/schema-h2.ddl | 2 +- .../db/qualityprofile/QProfileChangeDto.java | 10 +- .../qualityprofile/QProfileChangeMapper.xml | 10 +- .../qualityprofile/QProfileChangeDaoTest.java | 14 +- .../qualityprofile/QualityProfileTesting.java | 2 +- .../db/migration/version/v72/DbVersion72.java | 1 + ...LoginToUserUuidOnTableQProfileChanges.java | 46 +++ .../version/v72/DbVersion72Test.java | 2 +- ...nToUserUuidOnTableQProfileChangesTest.java | 56 +++ .../qprofile_changes.sql | 9 + .../qualityprofile/ActiveRuleChange.java | 4 +- .../server/qualityprofile/RuleActivator.java | 2 +- .../qualityprofile/ws/ChangelogAction.java | 121 +++--- .../qualityprofile/ActiveRuleChangeTest.java | 6 +- .../BuiltInQProfileInsertImplTest.java | 2 +- .../qualityprofile/QProfileRulesImplTest.java | 93 +++++ .../ws/ChangelogActionTest.java | 391 ++++++++++++------ .../qualityProfile/QualityProfilesWsTest.java | 37 +- ...udUpdateLoginDuringAuthenticationTest.java | 58 +++ .../tests/user/SonarCloudUserSuite.java | 1 - 20 files changed, 627 insertions(+), 240 deletions(-) create mode 100644 server/sonar-db-migration/src/main/java/org/sonar/server/platform/db/migration/version/v72/RenameUserLoginToUserUuidOnTableQProfileChanges.java create mode 100644 server/sonar-db-migration/src/test/java/org/sonar/server/platform/db/migration/version/v72/RenameUserLoginToUserUuidOnTableQProfileChangesTest.java create mode 100644 server/sonar-db-migration/src/test/resources/org/sonar/server/platform/db/migration/version/v72/RenameUserLoginToUserUuidOnTableQProfileChangesTest/qprofile_changes.sql create mode 100644 server/sonar-server/src/test/java/org/sonar/server/qualityprofile/QProfileRulesImplTest.java diff --git a/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl b/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl index 4986fd747fa..885d377e2c0 100644 --- a/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl +++ b/server/sonar-db-core/src/main/resources/org/sonar/db/version/schema-h2.ddl @@ -603,7 +603,7 @@ CREATE TABLE "QPROFILE_CHANGES" ( "RULES_PROFILE_UUID" VARCHAR(255) NOT NULL, "CHANGE_TYPE" VARCHAR(20) NOT NULL, "CREATED_AT" BIGINT NOT NULL, - "USER_LOGIN" VARCHAR(255), + "USER_UUID" VARCHAR(255), "CHANGE_DATA" CLOB ); CREATE INDEX "QP_CHANGES_RULES_PROFILE_UUID" ON "QPROFILE_CHANGES" ("RULES_PROFILE_UUID"); diff --git a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QProfileChangeDto.java b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QProfileChangeDto.java index bd5ab4ca6fb..18244cc1099 100644 --- a/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QProfileChangeDto.java +++ b/server/sonar-db-dao/src/main/java/org/sonar/db/qualityprofile/QProfileChangeDto.java @@ -32,7 +32,7 @@ public class QProfileChangeDto { private String uuid; private String rulesProfileUuid; private String changeType; - private String login; + private String userUuid; private String data; private long createdAt; @@ -73,12 +73,12 @@ public class QProfileChangeDto { } @CheckForNull - public String getLogin() { - return login; + public String getUserUuid() { + return userUuid; } - public QProfileChangeDto setLogin(@Nullable String s) { - this.login = s; + public QProfileChangeDto setUserUuid(@Nullable String s) { + this.userUuid = s; return this; } diff --git a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QProfileChangeMapper.xml b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QProfileChangeMapper.xml index 9e9b5e8d76b..53b284f6374 100644 --- a/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QProfileChangeMapper.xml +++ b/server/sonar-db-dao/src/main/resources/org/sonar/db/qualityprofile/QProfileChangeMapper.xml @@ -7,7 +7,7 @@ qpc.kee as "uuid", qpc.rules_profile_uuid as rulesProfileUuid, qpc.created_at as createdAt, - qpc.user_login as login, + qpc.user_uuid as userUuid, qpc.change_type as changeType, qpc.change_data as data @@ -18,14 +18,14 @@ kee, rules_profile_uuid, created_at, - user_login, + user_uuid, change_type, change_data ) values ( #{uuid, jdbcType=VARCHAR}, #{rulesProfileUuid, jdbcType=VARCHAR}, #{createdAt, jdbcType=BIGINT}, - #{login, jdbcType=VARCHAR}, + #{userUuid, jdbcType=VARCHAR}, #{changeType, jdbcType=VARCHAR}, #{data, jdbcType=VARCHAR} ) @@ -53,8 +53,8 @@