James Moger
2011-10-27 8e40cd53b6b1579e383bd5e993cb3c35ce4583c4
tests/com/gitblit/tests/RpcTests.java
@@ -16,6 +16,7 @@
package com.gitblit.tests;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -23,11 +24,13 @@
import com.gitblit.Constants.AccessRestrictionType;
import com.gitblit.GitBlitException.UnauthorizedException;
import com.gitblit.IStoredSettings;
import com.gitblit.Keys;
import com.gitblit.models.FederationModel;
import com.gitblit.models.FederationProposal;
import com.gitblit.models.FederationSet;
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.ServerSettings;
import com.gitblit.models.ServerStatus;
import com.gitblit.models.UserModel;
import com.gitblit.utils.RpcUtils;
@@ -206,7 +209,36 @@
   }
   public void testSettings() throws Exception {
      IStoredSettings settings = RpcUtils.getSettings(url, account, password.toCharArray());
      assertTrue("No settings were retrieved!", settings.getAllKeys(null).size() > 0);
      ServerSettings settings = RpcUtils.getSettings(url, account, password.toCharArray());
      assertTrue("No settings were retrieved!", settings != null);
   }
   public void testServerStatus() throws Exception {
      ServerStatus status = RpcUtils.getStatus(url, account, password.toCharArray());
      assertTrue("No status was retrieved!", status != null);
   }
   public void testUpdateSettings() throws Exception {
      Map<String, String> updated = new HashMap<String, String>();
      // grab current setting
      ServerSettings settings = RpcUtils.getSettings(url, account, password.toCharArray());
      boolean showSizes = settings.get(Keys.web.showRepositorySizes).getBoolean(true);
      showSizes = !showSizes;
      // update setting
      updated.put(Keys.web.showRepositorySizes, String.valueOf(showSizes));
      boolean success = RpcUtils.updateSettings(updated, "http://localhost:8080/gb", account,
            password.toCharArray());
      assertTrue("Failed to update server settings", success);
      // confirm setting change
      settings = RpcUtils.getSettings(url, account, password.toCharArray());
      boolean newValue = settings.get(Keys.web.showRepositorySizes).getBoolean(false);
      assertEquals(newValue, showSizes);
      // restore setting
      newValue = !newValue;
      updated.put(Keys.web.showRepositorySizes, String.valueOf(newValue));
   }
}