]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-6429 Add showProvisioning when appropriate
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Thu, 30 Apr 2015 12:04:01 +0000 (14:04 +0200)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Thu, 30 Apr 2015 12:04:01 +0000 (14:04 +0200)
server/sonar-server/src/main/java/org/sonar/server/ui/ws/SettingsNavigationAction.java
server/sonar-server/src/test/java/org/sonar/server/ui/ws/SettingsNavigationActionTest.java
server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_provisioning.json [new file with mode: 0644]
server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_update_center.json
server/sonar-server/src/test/resources/org/sonar/server/ui/ws/SettingsNavigationActionTest/with_views.json

index 5597ac6d550467a62954a444d09ad446e462be1e..83bf6c6312e923de97cee139e7d0f9ba677b89ef 100644 (file)
@@ -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) {
index 2c20285aea66193a8c4f280eb2480018078914a4..16c9b6ea04c343417b7b3f84546f8c0a7a7d6501 100644 (file)
@@ -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 (file)
index 0000000..a9c7cf4
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "showUpdateCenter": false,
+  "showProvisioning": true,
+  "plugins": []
+}