From 32689ef0891d1bc4fafbaa5ea6482e703b29204b Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Lievremont Date: Thu, 30 Apr 2015 14:04:01 +0200 Subject: [PATCH] SONAR-6429 Add showProvisioning when appropriate --- .../org/sonar/server/ui/ws/SettingsNavigationAction.java | 4 +++- .../sonar/server/ui/ws/SettingsNavigationActionTest.java | 8 ++++++++ .../SettingsNavigationActionTest/with_provisioning.json | 5 +++++ .../SettingsNavigationActionTest/with_update_center.json | 1 + .../ui/ws/SettingsNavigationActionTest/with_views.json | 1 + 5 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_provisioning.json 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", -- 2.39.5