summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2008-02-03 11:30:15 +0000
committerArthur de Jong <arthur@arthurdejong.org>2008-02-03 11:30:15 +0000
commit913f913b18c30932c5f19e69624f4bbbf516a641 (patch)
tree239b037aa36788cd4562f6ead68d8fccc4ee5a12 /tests
parent5ee9534863b4b5ed174fa8b0a2c31cae92079394 (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.c47
-rwxr-xr-xtests/test_nsscmds.sh4
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