X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tests%2Fscripts%2Ftest052-memberof;h=fbd5a73c507b7cdfdd766560972d1eba6564d303;hb=3743a5a68e4d608949d5fd04904733ee5c1ac959;hp=16a6ef1fd684190ac64031de6ffd3a22f8c283b4;hpb=e7bb3f87db3fcc72f13ce4a925cb66d2f127929f;p=openldap diff --git a/tests/scripts/test052-memberof b/tests/scripts/test052-memberof index 16a6ef1fd6..fbd5a73c50 100755 --- a/tests/scripts/test052-memberof +++ b/tests/scripts/test052-memberof @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2009 The OpenLDAP Foundation. +## Copyright 1998-2012 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -56,7 +56,7 @@ fi cat /dev/null > $TESTOUT if [ "$MEMBEROF" = memberofmod ]; then - echo "Inserting memberof overlay on producer..." + echo "Inserting memberof overlay on provider..." $LDAPADD -D cn=config -H $URI1 -y $CONFIGPWF < $TESTOUT 2>&1 dn: cn=module,cn=config objectClass: olcModuleList @@ -72,14 +72,12 @@ EOF fi fi -bdb_conf="" -case $BACKEND in bdb | hdb) -bdb_conf="olcDbCacheSize: 1000 -olcDbIndex: objectClass eq -olcDbIndex: cn pres,eq,sub -olcDbIndex: uid pres,eq,sub -olcDbIndex: sn pres,eq,sub -olcDbMode: 384" +indexInclude="" mainInclude="" bdbInclude="# " nullExclude="" +test $INDEXDB = indexdb || indexInclude="# " +test $MAINDB = maindb || mainInclude="# " +case $BACKEND in +bdb | hdb) bdbInclude="" ;; +null) nullExclude="# " ;; esac echo "Running ldapadd to build slapd config database..." @@ -107,14 +105,19 @@ olcObjectClasses: ( 1.3.6.1.4.1.4754.31.2.4 dn: olcDatabase={1}$BACKEND,cn=config objectClass: olcDatabaseConfig -objectClass: olc${BACKEND}Config +${nullExclude}objectClass: olc${BACKEND}Config olcDatabase: {1}$BACKEND olcSuffix: $BASEDN olcRootDN: cn=Manager,$BASEDN olcRootPW:: c2VjcmV0 olcMonitoring: TRUE -olcDbDirectory: $TESTDIR/db.1.a/ -$bdb_conf +${nullExclude}olcDbDirectory: $TESTDIR/db.1.a/ +${bdbInclude}olcDbCacheSize: 1000 +${indexInclude}olcDbIndex: objectClass eq +${indexInclude}olcDbIndex: cn pres,eq,sub +${indexInclude}olcDbIndex: uid pres,eq,sub +${indexInclude}olcDbIndex: sn pres,eq,sub +${mainInclude}olcDbMode: 384" dn: olcOverlay={0}memberof,olcDatabase={1}$BACKEND,cn=config objectClass: olcOverlayConfig @@ -220,7 +223,7 @@ member: cn=Jessica Rabbit,ou=People,$BASEDN EOF echo "Re-search the entire database..." -echo "# Re-search the entire database..." >> $SEARCHOUT +echo "# Re-search the entire database after adding Jessica Rabbit and Cartoonia..." >> $SEARCHOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ '(objectClass=*)' '*' memberOf >> $SEARCHOUT 2>&1 RC=$? @@ -230,18 +233,60 @@ if test $RC != 0 ; then exit $RC fi -echo "Running ldapmodify to add self..." +echo "Running ldapmodify to rename a member..." +$LDAPMODIFY -h $LOCALHOST -p $PORT1 \ + -D "cn=Manager,$BASEDN" -w secret \ + >> $TESTOUT 2>&1 << EOF +dn: cn=Baby Herman,ou=People,$BASEDN +changetype: modrdn +newrdn: cn=Baby Herman Jr +deleteoldrdn: 1 +EOF + +echo "Re-search the entire database..." +echo "# Re-search the entire database after renaming Baby Herman..." >> $SEARCHOUT +$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ + '(objectClass=*)' '*' memberOf >> $SEARCHOUT 2>&1 +RC=$? +if test $RC != 0 ; then + echo "ldapsearch failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC +fi + +echo "Running ldapmodify to rename a group..." $LDAPMODIFY -h $LOCALHOST -p $PORT1 \ -D "cn=Manager,$BASEDN" -w secret \ >> $TESTOUT 2>&1 << EOF dn: cn=Cartoonia,ou=Groups,$BASEDN +changetype: modrdn +newrdn: cn=Toon Town +deleteoldrdn: 1 +EOF + +echo "Re-search the entire database..." +echo "# Re-search the entire database after renaming Cartoonia..." >> $SEARCHOUT +$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ + '(objectClass=*)' '*' memberOf >> $SEARCHOUT 2>&1 +RC=$? +if test $RC != 0 ; then + echo "ldapsearch failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC +fi + +echo "Running ldapmodify to add self..." +$LDAPMODIFY -h $LOCALHOST -p $PORT1 \ + -D "cn=Manager,$BASEDN" -w secret \ + >> $TESTOUT 2>&1 << EOF +dn: cn=Toon Town,ou=Groups,$BASEDN changetype: modify add: member -member: cn=Cartoonia,ou=Groups,$BASEDN +member: cn=Toon Town,ou=Groups,$BASEDN EOF echo "Re-search the entire database..." -echo "# Re-search the entire database..." >> $SEARCHOUT +echo "# Re-search the entire database after adding Toon Town to self..." >> $SEARCHOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ '(objectClass=*)' '*' memberOf >> $SEARCHOUT 2>&1 RC=$? @@ -255,12 +300,31 @@ echo "Running ldapdelete to remove a member..." $LDAPMODIFY -h $LOCALHOST -p $PORT1 \ -D "cn=Manager,$BASEDN" -w secret \ >> $TESTOUT 2>&1 << EOF -dn: cn=Baby Herman,ou=People,$BASEDN +dn: cn=Baby Herman Jr,ou=People,$BASEDN +changetype: delete +EOF + +echo "Re-search the entire database..." +echo "# Re-search the entire database after deleting Baby Herman..." >> $SEARCHOUT +$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ + '(objectClass=*)' '*' memberOf >> $SEARCHOUT 2>&1 +RC=$? +if test $RC != 0 ; then + echo "ldapsearch failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC +fi + +echo "Running ldapdelete to remove a group..." +$LDAPMODIFY -h $LOCALHOST -p $PORT1 \ + -D "cn=Manager,$BASEDN" -w secret \ + >> $TESTOUT 2>&1 << EOF +dn: cn=Toon Town,ou=Groups,$BASEDN changetype: delete EOF echo "Re-search the entire database..." -echo "# Re-search the entire database..." >> $SEARCHOUT +echo "# Re-search the entire database after deleting Toon Town..." >> $SEARCHOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ '(objectClass=*)' '*' memberOf >> $SEARCHOUT 2>&1 RC=$? @@ -280,9 +344,6 @@ changetype: delete dn: cn=Jessica Rabbit,ou=People,$BASEDN changetype: delete -dn: cn=Cartoonia,ou=Groups,$BASEDN -changetype: delete - dn: cn=person1,ou=People,$BASEDN changetype: add objectClass: person @@ -320,7 +381,7 @@ delete: memberA EOF echo "Re-search the entire database..." -echo "# Re-search the entire database..." >> $SEARCHOUT +echo "# Re-search the entire database after adding groups with MAY member type schemas..." >> $SEARCHOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \ '(objectClass=*)' '*' memberOf >> $SEARCHOUT 2>&1 RC=$?