James Moger
2014-02-19 6659fa5151ebd5fb744b7b07f929e580ce6f5843
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;
@@ -57,7 +58,7 @@
   private static final String RESOURCE_DIR = "src/test/resources/ldap/";
    private File usersConf;
    private LdapAuthProvider ldap;
   static int ldapPort = 1389;
@@ -195,7 +196,7 @@
   public void addingUserInLdapShouldNotUpdateGitBlitUsersAndGroups() throws Exception {
      settings.put("realm.ldap.ldapCachePeriod", "0 MINUTES");
      ds.addEntries(LDIFReader.readEntries(RESOURCE_DIR + "adduser.ldif"));
      ldap.synchronizeWithLdapService();
      ldap.sync();
      assertEquals("Number of ldap users in gitblit user model", 5, countLdapUsersInUserManager());
   }
@@ -204,8 +205,25 @@
      settings.put("realm.ldap.synchronizeUsers.enable", "true");
      settings.put("realm.ldap.ldapCachePeriod", "0 MINUTES");
      ds.addEntries(LDIFReader.readEntries(RESOURCE_DIR + "adduser.ldif"));
      ldap.synchronizeWithLdapService();
      ldap.sync();
      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.sync();
      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.sync();
      assertEquals("Number of ldap groups in gitblit team model", 1, countLdapTeamsInUserManager());
   }
   private int countLdapUsersInUserManager() {
@@ -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;
   }
}