From: Sébastien Lesaint Date: Mon, 3 Apr 2017 15:16:13 +0000 (+0200) Subject: Revert "SONAR-9006 add canCustomizeRule to response of api/rules/app" X-Git-Tag: 6.4-RC1~469 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F1898%2Fhead;p=sonarqube.git Revert "SONAR-9006 add canCustomizeRule to response of api/rules/app" This reverts commit 375808af9e8f91c14dbaf2dfb84a383ba3687b21. --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/rule/ws/AppAction.java b/server/sonar-server/src/main/java/org/sonar/server/rule/ws/AppAction.java index c757ed20a07..5c008df76d9 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/rule/ws/AppAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/rule/ws/AppAction.java @@ -30,7 +30,6 @@ import org.sonar.db.DbSession; import org.sonar.db.organization.OrganizationDto; import org.sonar.db.permission.OrganizationPermission; import org.sonar.db.qualityprofile.QualityProfileDto; -import org.sonar.server.organization.DefaultOrganizationProvider; import org.sonar.server.user.UserSession; import static org.sonarqube.ws.client.component.ComponentsWsParameters.PARAM_ORGANIZATION; @@ -41,15 +40,12 @@ public class AppAction implements RulesWsAction { private final DbClient dbClient; private final UserSession userSession; private final RuleWsSupport wsSupport; - private final DefaultOrganizationProvider defaultOrganizationProvider; - public AppAction(Languages languages, DbClient dbClient, UserSession userSession, RuleWsSupport wsSupport, - DefaultOrganizationProvider defaultOrganizationProvider) { + public AppAction(Languages languages, DbClient dbClient, UserSession userSession, RuleWsSupport wsSupport) { this.languages = languages; this.dbClient = dbClient; this.userSession = userSession; this.wsSupport = wsSupport; - this.defaultOrganizationProvider = defaultOrganizationProvider; } @Override @@ -85,9 +81,8 @@ public class AppAction implements RulesWsAction { } private void addPermissions(OrganizationDto organization, JsonWriter json) { - boolean isAdminister = userSession.hasPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, organization); - json.prop("canWrite", isAdminister); - json.prop("canCustomizeRule", isAdminister && organization.getUuid().equals(defaultOrganizationProvider.get().getUuid())); + boolean canWrite = userSession.hasPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, organization); + json.prop("canWrite", canWrite); } private void addProfiles(DbSession dbSession, OrganizationDto organization, JsonWriter json) { diff --git a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/AppActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/AppActionTest.java index 9c4e519c70d..a764dc6ab40 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/rule/ws/AppActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/rule/ws/AppActionTest.java @@ -58,7 +58,7 @@ public class AppActionTest { private Languages languages = new Languages(LANG1, LANG2); private DefaultOrganizationProvider defaultOrganizationProvider = TestDefaultOrganizationProvider.from(db); private RuleWsSupport wsSupport = new RuleWsSupport(db.getDbClient(), userSession, defaultOrganizationProvider); - private AppAction underTest = new AppAction(languages, db.getDbClient(), userSession, wsSupport, defaultOrganizationProvider); + private AppAction underTest = new AppAction(languages, db.getDbClient(), userSession, wsSupport); private WsActionTester tester = new WsActionTester(underTest); @Test @@ -209,51 +209,6 @@ public class AppActionTest { assertJson(json).isSimilarTo("{ \"canWrite\": false }"); } - @Test - public void canCustomizeRule_is_true_if_user_is_profile_administrator_of_default_organization_and_no_organization_is_specified() { - userSession.addPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, db.getDefaultOrganization()); - - String json = tester.newRequest().execute().getInput(); - - assertJson(json).isSimilarTo("{ \"canCustomizeRule\": true }"); - } - - @Test - public void canCustomizeRule_is_true_if_user_is_profile_administrator_of_specified_default_organization() { - userSession.addPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, db.getDefaultOrganization()); - - String json = tester.newRequest() - .setParam("organization", db.getDefaultOrganization().getKey()) - .execute().getInput(); - - assertJson(json).isSimilarTo("{ \"canCustomizeRule\": true }"); - } - - @Test - public void canCustomizeRule_is_false_if_user_is_profile_administrator_of_specified_non_default_organization() { - OrganizationDto organization = db.organizations().insert(); - userSession.addPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, organization); - - String json = tester.newRequest() - .setParam("organization", organization.getKey()) - .execute().getInput(); - - assertJson(json).isSimilarTo("{ \"canCustomizeRule\": false }"); - } - - @Test - public void canCustomizeRule_is_false_if_user_is_not_profile_administrator_of_specified_non_default_organization() { - OrganizationDto organization1 = db.organizations().insert(); - OrganizationDto organization2 = db.organizations().insert(); - userSession.addPermission(OrganizationPermission.ADMINISTER_QUALITY_PROFILES, organization1); - - String json = tester.newRequest() - .setParam("organization", organization2.getKey()) - .execute().getInput(); - - assertJson(json).isSimilarTo("{ \"canCustomizeRule\": false }"); - } - private void insertRules() { RuleRepositoryDto repo1 = new RuleRepositoryDto("xoo", "xoo", "SonarQube"); RuleRepositoryDto repo2 = new RuleRepositoryDto("squid", "ws", "SonarQube");