Search in sources :

Example 11 with BindResult

use of com.unboundid.ldap.sdk.BindResult in project gitblit by gitblit.

the class LdapConnectionTest method testSearch.

@Test
public void testSearch() throws LDAPException {
    LdapConnection conn = new LdapConnection(settings);
    try {
        assertTrue(conn.connect());
        BindResult br = conn.bind();
        assertNotNull(br);
        SearchResult result;
        SearchResultEntry entry;
        result = conn.search(ACCOUNT_BASE, false, "(CN=UserOne)", null);
        assertNotNull(result);
        assertEquals(1, result.getEntryCount());
        entry = result.getSearchEntries().get(0);
        assertEquals("CN=UserOne,OU=US," + ACCOUNT_BASE, entry.getDN());
        result = conn.search(ACCOUNT_BASE, true, "(&(CN=UserOne)(surname=One))", null);
        assertNotNull(result);
        assertEquals(1, result.getEntryCount());
        entry = result.getSearchEntries().get(0);
        assertEquals("CN=UserOne,OU=US," + ACCOUNT_BASE, entry.getDN());
        result = conn.search(ACCOUNT_BASE, true, "(&(CN=UserOne)(surname=Two))", null);
        assertNotNull(result);
        assertEquals(0, result.getEntryCount());
        result = conn.search(ACCOUNT_BASE, true, "(surname=Two)", Arrays.asList("givenName", "surname"));
        assertNotNull(result);
        assertEquals(1, result.getEntryCount());
        entry = result.getSearchEntries().get(0);
        assertEquals("CN=UserTwo,OU=US," + ACCOUNT_BASE, entry.getDN());
        assertEquals(2, entry.getAttributes().size());
        assertEquals("User", entry.getAttributeValue("givenName"));
        assertEquals("Two", entry.getAttributeValue("surname"));
        result = conn.search(ACCOUNT_BASE, true, "(personalTitle=Mr*)", null);
        assertNotNull(result);
        assertEquals(3, result.getEntryCount());
        ArrayList<String> names = new ArrayList<>(3);
        names.add(result.getSearchEntries().get(0).getAttributeValue("surname"));
        names.add(result.getSearchEntries().get(1).getAttributeValue("surname"));
        names.add(result.getSearchEntries().get(2).getAttributeValue("surname"));
        assertTrue(names.contains("One"));
        assertTrue(names.contains("Two"));
        assertTrue(names.contains("Three"));
    } finally {
        conn.close();
    }
}
Also used : ArrayList(java.util.ArrayList) BindResult(com.unboundid.ldap.sdk.BindResult) SearchResult(com.unboundid.ldap.sdk.SearchResult) LdapConnection(com.gitblit.ldap.LdapConnection) SearchResultEntry(com.unboundid.ldap.sdk.SearchResultEntry) Test(org.junit.Test)

Example 12 with BindResult

use of com.unboundid.ldap.sdk.BindResult in project gitblit by gitblit.

the class LdapConnectionTest method testSearchRequest.

@Test
public void testSearchRequest() throws LDAPException {
    LdapConnection conn = new LdapConnection(settings);
    try {
        assertTrue(conn.connect());
        BindResult br = conn.bind();
        assertNotNull(br);
        SearchRequest req;
        SearchResult result;
        SearchResultEntry entry;
        req = new SearchRequest(ACCOUNT_BASE, SearchScope.BASE, "(CN=UserOne)");
        result = conn.search(req);
        assertNotNull(result);
        assertEquals(0, result.getEntryCount());
        req = new SearchRequest(ACCOUNT_BASE, SearchScope.ONE, "(CN=UserTwo)");
        result = conn.search(req);
        assertNotNull(result);
        assertEquals(0, result.getEntryCount());
        req = new SearchRequest(ACCOUNT_BASE, SearchScope.SUB, "(CN=UserThree)");
        result = conn.search(req);
        assertNotNull(result);
        assertEquals(1, result.getEntryCount());
        entry = result.getSearchEntries().get(0);
        assertEquals("CN=UserThree,OU=Canada," + ACCOUNT_BASE, entry.getDN());
        req = new SearchRequest(ACCOUNT_BASE, SearchScope.SUBORDINATE_SUBTREE, "(CN=UserFour)");
        result = conn.search(req);
        assertNotNull(result);
        assertEquals(1, result.getEntryCount());
        entry = result.getSearchEntries().get(0);
        assertEquals("CN=UserFour,OU=Canada," + ACCOUNT_BASE, entry.getDN());
    } finally {
        conn.close();
    }
}
Also used : SearchRequest(com.unboundid.ldap.sdk.SearchRequest) BindResult(com.unboundid.ldap.sdk.BindResult) SearchResult(com.unboundid.ldap.sdk.SearchResult) LdapConnection(com.gitblit.ldap.LdapConnection) SearchResultEntry(com.unboundid.ldap.sdk.SearchResultEntry) Test(org.junit.Test)

Example 13 with BindResult

use of com.unboundid.ldap.sdk.BindResult in project gitblit by gitblit.

the class LdapConnectionTest method testSearchUser.

@Test
public void testSearchUser() throws LDAPException {
    LdapConnection conn = new LdapConnection(settings);
    try {
        assertTrue(conn.connect());
        BindResult br = conn.bind();
        assertNotNull(br);
        SearchResult result;
        SearchResultEntry entry;
        result = conn.searchUser("UserOne");
        assertNotNull(result);
        assertEquals(1, result.getEntryCount());
        entry = result.getSearchEntries().get(0);
        assertEquals("CN=UserOne,OU=US," + ACCOUNT_BASE, entry.getDN());
        result = conn.searchUser("UserFour", Arrays.asList("givenName", "surname"));
        assertNotNull(result);
        assertEquals(1, result.getEntryCount());
        entry = result.getSearchEntries().get(0);
        assertEquals("CN=UserFour,OU=Canada," + ACCOUNT_BASE, entry.getDN());
        assertEquals(2, entry.getAttributes().size());
        assertEquals("User", entry.getAttributeValue("givenName"));
        assertEquals("Four", entry.getAttributeValue("surname"));
    } finally {
        conn.close();
    }
}
Also used : BindResult(com.unboundid.ldap.sdk.BindResult) SearchResult(com.unboundid.ldap.sdk.SearchResult) LdapConnection(com.gitblit.ldap.LdapConnection) SearchResultEntry(com.unboundid.ldap.sdk.SearchResultEntry) Test(org.junit.Test)

Aggregations

BindResult (com.unboundid.ldap.sdk.BindResult)13 LdapConnection (com.gitblit.ldap.LdapConnection)9 Test (org.junit.Test)8 SearchResult (com.unboundid.ldap.sdk.SearchResult)5 SearchResultEntry (com.unboundid.ldap.sdk.SearchResultEntry)5 LDAPException (com.unboundid.ldap.sdk.LDAPException)3 ArrayList (java.util.ArrayList)2 TeamModel (com.gitblit.models.TeamModel)1 UserModel (com.gitblit.models.UserModel)1 InMemoryDirectoryServer (com.unboundid.ldap.listener.InMemoryDirectoryServer)1 ExtendedResult (com.unboundid.ldap.sdk.ExtendedResult)1 LDAPConnection (com.unboundid.ldap.sdk.LDAPConnection)1 SearchRequest (com.unboundid.ldap.sdk.SearchRequest)1 SimpleBindRequest (com.unboundid.ldap.sdk.SimpleBindRequest)1 StartTLSExtendedRequest (com.unboundid.ldap.sdk.extensions.StartTLSExtendedRequest)1 IOException (java.io.IOException)1 GeneralSecurityException (java.security.GeneralSecurityException)1 Matcher (java.util.regex.Matcher)1 SSLContext (javax.net.ssl.SSLContext)1