From: Jean-Baptiste Lievremont Date: Thu, 30 Apr 2015 12:04:01 +0000 (+0200) Subject: SONAR-6429 Add showProvisioning when appropriate X-Git-Tag: 5.2-RC1~2082 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=32689ef0891d1bc4fafbaa5ea6482e703b29204b;p=sonarqube.git SONAR-6429 Add showProvisioning when appropriate --- diff --git a/server/sonar-server/src/main/java/org/sonar/server/ui/ws/SettingsNavigationAction.java b/server/sonar-server/src/main/java/org/sonar/server/ui/ws/SettingsNavigationAction.java index 5597ac6d550..83bf6c6312e 100644 --- a/server/sonar-server/src/main/java/org/sonar/server/ui/ws/SettingsNavigationAction.java +++ b/server/sonar-server/src/main/java/org/sonar/server/ui/ws/SettingsNavigationAction.java @@ -61,10 +61,12 @@ public class SettingsNavigationAction implements NavigationAction { @Override public void handle(Request request, Response response) throws Exception { - boolean isAdmin = UserSession.get().hasGlobalPermission(GlobalPermissions.SYSTEM_ADMIN); + UserSession userSession = UserSession.get(); + boolean isAdmin = userSession.hasGlobalPermission(GlobalPermissions.SYSTEM_ADMIN); JsonWriter json = response.newJsonWriter().beginObject(); json.prop("showUpdateCenter", isAdmin && settings.getBoolean(UpdateCenterClient.ACTIVATION_PROPERTY)); + json.prop("showProvisioning", userSession.hasGlobalPermission(GlobalPermissions.PROVISIONING)); json.name("plugins").beginArray(); if (isAdmin) { diff --git a/server/sonar-server/src/test/java/org/sonar/server/ui/ws/SettingsNavigationActionTest.java b/server/sonar-server/src/test/java/org/sonar/server/ui/ws/SettingsNavigationActionTest.java index 2c20285aea6..16c9b6ea04c 100644 --- a/server/sonar-server/src/test/java/org/sonar/server/ui/ws/SettingsNavigationActionTest.java +++ b/server/sonar-server/src/test/java/org/sonar/server/ui/ws/SettingsNavigationActionTest.java @@ -70,6 +70,14 @@ public class SettingsNavigationActionTest { wsTester.newGetRequest("api/navigation", "settings").execute().assertJson(getClass(), "empty.json"); } + @Test + public void with_provisioning() throws Exception { + MockUserSession.set().setGlobalPermissions(GlobalPermissions.PROVISIONING); + wsTester = new WsTester(new NavigationWs(new SettingsNavigationAction(settings, new Views(), i18n))); + + wsTester.newGetRequest("api/navigation", "settings").execute().assertJson(getClass(), "with_provisioning.json"); + } + @Test public void with_views() throws Exception { MockUserSession.set().setGlobalPermissions(GlobalPermissions.SYSTEM_ADMIN); diff --git a/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_provisioning.json b/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_provisioning.json new file mode 100644 index 00000000000..a9c7cf4852f --- /dev/null +++ b/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_provisioning.json @@ -0,0 +1,5 @@ +{ + "showUpdateCenter": false, + "showProvisioning": true, + "plugins": [] +} diff --git a/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_update_center.json b/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_update_center.json index cfed4e34aa7..96067a6482a 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_update_center.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_update_center.json @@ -1,4 +1,5 @@ { "showUpdateCenter": true, + "showProvisioning": false, "plugins": [] } diff --git a/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_views.json b/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_views.json index bcdd2648c36..9eb73a50d5c 100644 --- a/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_views.json +++ b/server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_views.json @@ -1,5 +1,6 @@ { "showUpdateCenter": false, + "showProvisioning": false, "plugins": [ { "name": "First Page",