diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2008-02-03 11:30:15 +0000 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2008-02-03 11:30:15 +0000 |
commit | 913f913b18c30932c5f19e69624f4bbbf516a641 (patch) | |
tree | 239b037aa36788cd4562f6ead68d8fccc4ee5a12 /tests | |
parent | 5ee9534863b4b5ed174fa8b0a2c31cae92079394 (diff) |
add tests for new LDAP lookups
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-ldapd@616 ef36b2f9-881f-0410-afb5-c4e39611909c
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_myldap.c | 47 | ||||
-rwxr-xr-x | tests/test_nsscmds.sh | 4 |
2 files changed, 49 insertions, 2 deletions
diff --git a/tests/test_myldap.c b/tests/test_myldap.c index 588165a..d598b98 100644 --- a/tests/test_myldap.c +++ b/tests/test_myldap.c @@ -99,6 +99,52 @@ static void test_search(void) myldap_session_close(session); } +static void test_get(void) +{ + MYLDAP_SESSION *session; + MYLDAP_SEARCH *search1,*search2; + MYLDAP_ENTRY *entry; + const char *attrs1[] = { "cn", "userPassword", "memberUid", "gidNumber", "uniqueMember", NULL }; + const char *attrs2[] = { "uid", NULL }; + int rc; + /* initialize session */ + printf("test_myldap: test_get(): getting session...\n"); + session=myldap_create_session(); + assert(session!=NULL); + /* perform search */ + printf("test_myldap: test_get(): doing search...\n"); + search1=myldap_search(session,"dc=test,dc=tld", + LDAP_SCOPE_SUBTREE, + "(&(|(objectClass=posixGroup)(objectClass=groupOfUniqueNames))(cn=testgroup2))", + attrs1); + assert(search1!=NULL); + /* get one entry */ + entry=myldap_get_entry(search1,&rc); + assert(entry!=NULL); + printf("test_myldap: test_get(): got DN %s\n",myldap_get_dn(entry)); + /* get some attribute values */ + (void)myldap_get_values(entry,"gidNumber"); + (void)myldap_get_values(entry,"userPassword"); + (void)myldap_get_values(entry,"memberUid"); + (void)myldap_get_values(entry,"uniqueMember"); + /* perform another search */ + printf("test_myldap: test_get(): doing get...\n"); + search2=myldap_search(session,"cn=Test User2,ou=people,dc=test,dc=tld", + LDAP_SCOPE_BASE, + "(objectclass=posixAccount)", + attrs2); + assert(search2!=NULL); + /* get one entry */ + entry=myldap_get_entry(search2,&rc); + assert(entry!=NULL); + printf("test_myldap: test_get(): got DN %s\n",myldap_get_dn(entry)); + /* test if searches are ok */ + assert(myldap_get_entry(search1,&rc)==NULL); + assert(myldap_get_entry(search2,&rc)==NULL); + /* clean up */ + myldap_session_close(session); +} + /* This search prints a number of attributes from a search */ static void test_get_values(void) { @@ -314,6 +360,7 @@ int main(int argc,char *argv[]) /* partially initialize logging */ log_setdefaultloglevel(LOG_DEBUG); test_search(); + test_get(); test_get_values(); test_two_searches(); test_threads(); diff --git a/tests/test_nsscmds.sh b/tests/test_nsscmds.sh index 8f7e920..509916e 100755 --- a/tests/test_nsscmds.sh +++ b/tests/test_nsscmds.sh @@ -153,7 +153,7 @@ testgroup:*:6100:arthur,test EOM check "groups arthur | sed 's/^.*://'" << EOM -users testgroup +users testgroup testgroup2 EOM check "getent group | egrep '^(testgroup|users):'" << EOM @@ -163,7 +163,7 @@ users:*:100:arthur,test EOM check "getent group | wc -l" << EOM -`grep -c : /etc/group | awk '{print $1 + 4}'` +`grep -c : /etc/group | awk '{print $1 + 5}'` EOM check "getent group | grep ^largegroup" << EOM |