Alfred Schmid
2014-02-03 f6d7de15b1471b1c101362dbaf598de8031e6540
src/test/java/com/gitblit/tests/LdapAuthenticationTest.java
@@ -34,6 +34,7 @@
import com.gitblit.manager.IUserManager;
import com.gitblit.manager.RuntimeManager;
import com.gitblit.manager.UserManager;
import com.gitblit.models.TeamModel;
import com.gitblit.models.UserModel;
import com.gitblit.tests.mock.MemorySettings;
import com.unboundid.ldap.listener.InMemoryDirectoryServer;
@@ -208,6 +209,23 @@
      assertEquals("Number of ldap users in gitblit user model", 6, countLdapUsersInUserManager());
   }
   @Test
   public void addingGroupsInLdapShouldNotUpdateGitBlitUsersAndGroups() throws Exception {
      settings.put("realm.ldap.ldapCachePeriod", "0 MINUTES");
      ds.addEntries(LDIFReader.readEntries(RESOURCE_DIR + "addgroup.ldif"));
      ldap.synchronizeWithLdapService();
      assertEquals("Number of ldap groups in gitblit team model", 0, countLdapTeamsInUserManager());
   }
   @Test
   public void addingGroupsInLdapShouldUpdateGitBlitUsersAndGroups() throws Exception {
      settings.put("realm.ldap.synchronizeUsers.enable", "true");
      settings.put("realm.ldap.ldapCachePeriod", "0 MINUTES");
      ds.addEntries(LDIFReader.readEntries(RESOURCE_DIR + "addgroup.ldif"));
      ldap.synchronizeWithLdapService();
      assertEquals("Number of ldap groups in gitblit team model", 1, countLdapTeamsInUserManager());
   }
   private int countLdapUsersInUserManager() {
      int ldapAccountCount = 0;
      for (UserModel userModel : userManager.getAllUsers()) {
@@ -218,4 +236,14 @@
      return ldapAccountCount;
   }
   private int countLdapTeamsInUserManager() {
      int ldapAccountCount = 0;
      for (TeamModel teamModel : userManager.getAllTeams()) {
         if (AccountType.LDAP.equals(teamModel.accountType)) {
            ldapAccountCount++;
         }
      }
      return ldapAccountCount;
   }
}