mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-23 08:09:34 -05:00
add dynlist testing...
This commit is contained in:
parent
23d893b4cc
commit
b9bb1cd66a
6 changed files with 537 additions and 4 deletions
119
tests/data/dynlist.out
Normal file
119
tests/data/dynlist.out
Normal file
|
|
@ -0,0 +1,119 @@
|
|||
# Testing list search of all attrs...
|
||||
dn: cn=Dynamic List,ou=Dynamic Lists,dc=example,dc=com
|
||||
objectClass: groupOfURLs
|
||||
cn: Dynamic List
|
||||
cn: Barbara Jensen
|
||||
cn: Babs Jensen
|
||||
cn: Bjorn Jensen
|
||||
cn: Biiff Jensen
|
||||
cn: Dorothy Stevens
|
||||
cn: Dot Stevens
|
||||
cn: James A Jones 1
|
||||
cn: James Jones
|
||||
cn: Jim Jones
|
||||
cn: James A Jones 2
|
||||
cn: Jane Doe
|
||||
cn: Jane Alverson
|
||||
cn: Jennifer Smith
|
||||
cn: Jen Smith
|
||||
cn: John Doe
|
||||
cn: Jonathon Doe
|
||||
cn: Mark Elliot
|
||||
cn: Mark A Elliot
|
||||
cn: Ursula Hampster
|
||||
memberURL: ldap:///ou=People,dc=example,dc=com?cn,mail?sub?(objectClass=person
|
||||
)
|
||||
mail: bjensen@mailgw.example.com
|
||||
mail: bjorn@mailgw.example.com
|
||||
mail: dots@mail.alumni.example.com
|
||||
mail: jaj@mail.alumni.example.com
|
||||
mail: jjones@mailgw.example.com
|
||||
mail: jdoe@woof.net
|
||||
mail: jen@mail.alumni.example.com
|
||||
mail: johnd@mailgw.example.com
|
||||
mail: melliot@mail.alumni.example.com
|
||||
mail: uham@mail.alumni.example.com
|
||||
|
||||
# Testing list search of a listed attr...
|
||||
dn: cn=Dynamic List,ou=Dynamic Lists,dc=example,dc=com
|
||||
mail: bjensen@mailgw.example.com
|
||||
mail: bjorn@mailgw.example.com
|
||||
mail: dots@mail.alumni.example.com
|
||||
mail: jaj@mail.alumni.example.com
|
||||
mail: jjones@mailgw.example.com
|
||||
mail: jdoe@woof.net
|
||||
mail: jen@mail.alumni.example.com
|
||||
mail: johnd@mailgw.example.com
|
||||
mail: melliot@mail.alumni.example.com
|
||||
mail: uham@mail.alumni.example.com
|
||||
|
||||
# Testing list search of a non-listed attr...
|
||||
dn: cn=Dynamic List,ou=Dynamic Lists,dc=example,dc=com
|
||||
objectClass: groupOfURLs
|
||||
|
||||
# Testing list search with (critical) manageDSAit...
|
||||
dn: cn=Dynamic List,ou=Dynamic Lists,dc=example,dc=com
|
||||
objectClass: groupOfURLs
|
||||
cn: Dynamic List
|
||||
memberURL: ldap:///ou=People,dc=example,dc=com?cn,mail?sub?(objectClass=person
|
||||
)
|
||||
|
||||
# Testing list compare...
|
||||
TRUE
|
||||
|
||||
# Testing list compare with manageDSAit...
|
||||
FALSE
|
||||
|
||||
# Testing list search of all attrs...
|
||||
dn: cn=Dynamic List of Members,ou=Dynamic Lists,dc=example,dc=com
|
||||
objectClass: groupOfURLs
|
||||
cn: Dynamic List of Members
|
||||
memberURL: ldap:///ou=People,dc=example,dc=com??sub?(objectClass=person)
|
||||
member: cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=exam
|
||||
ple,dc=com
|
||||
member: cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=exampl
|
||||
e,dc=com
|
||||
member: cn=Dorothy Stevens,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=James A Jones 2,ou=Information Technology Division,ou=People,dc=exa
|
||||
mple,dc=com
|
||||
member: cn=Jane Doe,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=Jennifer Smith,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc
|
||||
=com
|
||||
member: cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=Ursula Hampster,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
|
||||
# Testing list search of a listed attr...
|
||||
dn: cn=Dynamic List of Members,ou=Dynamic Lists,dc=example,dc=com
|
||||
member: cn=Barbara Jensen,ou=Information Technology Division,ou=People,dc=exam
|
||||
ple,dc=com
|
||||
member: cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=exampl
|
||||
e,dc=com
|
||||
member: cn=Dorothy Stevens,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=James A Jones 2,ou=Information Technology Division,ou=People,dc=exa
|
||||
mple,dc=com
|
||||
member: cn=Jane Doe,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=Jennifer Smith,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=John Doe,ou=Information Technology Division,ou=People,dc=example,dc
|
||||
=com
|
||||
member: cn=Mark Elliot,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
member: cn=Ursula Hampster,ou=Alumni Association,ou=People,dc=example,dc=com
|
||||
|
||||
# Testing list search of a non-listed attr...
|
||||
dn: cn=Dynamic List of Members,ou=Dynamic Lists,dc=example,dc=com
|
||||
objectClass: groupOfURLs
|
||||
|
||||
# Testing list search with (critical) manageDSAit...
|
||||
dn: cn=Dynamic List of Members,ou=Dynamic Lists,dc=example,dc=com
|
||||
objectClass: groupOfURLs
|
||||
cn: Dynamic List of Members
|
||||
memberURL: ldap:///ou=People,dc=example,dc=com??sub?(objectClass=person)
|
||||
|
||||
# Testing list compare...
|
||||
TRUE
|
||||
|
||||
# Testing list compare with manageDSAit...
|
||||
FALSE
|
||||
|
||||
55
tests/data/slapd-dynlist.conf
Normal file
55
tests/data/slapd-dynlist.conf
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
# stand-alone slapd config -- for testing (with indexing)
|
||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
||||
##
|
||||
## Copyright 1998-2005 The OpenLDAP Foundation.
|
||||
## All rights reserved.
|
||||
##
|
||||
## Redistribution and use in source and binary forms, with or without
|
||||
## modification, are permitted only as authorized by the OpenLDAP
|
||||
## Public License.
|
||||
##
|
||||
## A copy of this license is available in the file LICENSE in the
|
||||
## top-level directory of the distribution or, alternatively, at
|
||||
## <http://www.OpenLDAP.org/license.html>.
|
||||
|
||||
include @SCHEMADIR@/core.schema
|
||||
include @SCHEMADIR@/cosine.schema
|
||||
include @SCHEMADIR@/inetorgperson.schema
|
||||
include @SCHEMADIR@/openldap.schema
|
||||
include @SCHEMADIR@/nis.schema
|
||||
include @SCHEMADIR@/dyngroup.schema
|
||||
include @DATADIR@/test.schema
|
||||
|
||||
#
|
||||
pidfile @TESTDIR@/slapd.1.pid
|
||||
argsfile @TESTDIR@/slapd.1.args
|
||||
|
||||
#mod#modulepath ../servers/slapd/back-@BACKEND@/
|
||||
#mod#moduleload back_@BACKEND@.la
|
||||
#monitormod#modulepath ../servers/slapd/back-monitor/
|
||||
#monitormod#moduleload back_monitor.la
|
||||
#dynlistmod#modulepath ../servers/slapd/overlays/
|
||||
#dynlistmod#moduleload dynlist.la
|
||||
|
||||
#######################################################################
|
||||
# database definitions
|
||||
#######################################################################
|
||||
|
||||
#monitor#database monitor
|
||||
|
||||
database @BACKEND@
|
||||
suffix "dc=example,dc=com"
|
||||
directory @TESTDIR@/db.1.a
|
||||
rootdn "cn=Manager,dc=example,dc=com"
|
||||
rootpw secret
|
||||
#bdb#index objectClass eq
|
||||
#bdb#index cn,sn,uid pres,eq,sub
|
||||
#hdb#index objectClass eq
|
||||
#hdb#index cn,sn,uid pres,eq,sub
|
||||
#ldbm#index objectClass eq
|
||||
#ldbm#index cn,sn,uid pres,eq,sub
|
||||
|
||||
overlay dynlist
|
||||
dynlist-oc groupOfURLs
|
||||
dynlist-ad memberURL
|
||||
### DO NOT ADD ANY DIRECTIVE BELOW THIS; TEST APPENDS STUFF ###
|
||||
|
|
@ -35,6 +35,7 @@ AC_sql=sql@BUILD_SQL@
|
|||
|
||||
# overlays
|
||||
AC_accesslog=accesslog@BUILD_ACCESSLOG@
|
||||
AC_dynlist=dynlist@BUILD_ACCESSLOG@
|
||||
AC_pcache=pcache@BUILD_PROXYCACHE@
|
||||
AC_ppolicy=ppolicy@BUILD_PPOLICY@
|
||||
AC_refint=refint@BUILD_REFINT@
|
||||
|
|
@ -52,9 +53,9 @@ AC_WITH_MODULES_ENABLED=@WITH_MODULES_ENABLED@
|
|||
AC_ACI_ENABLED=aci@WITH_ACI_ENABLED@
|
||||
|
||||
export AC_bdb AC_hdb AC_ldap AC_ldbm AC_meta AC_monitor AC_relay AC_sql
|
||||
export AC_pcache AC_ppolicy AC_refint AC_retcode AC_rwm AC_unique AC_syncprov
|
||||
export AC_translucent AC_WITH_SASL AC_WITH_TLS AC_WITH_MODULES_ENABLED AC_ACI_ENABLED
|
||||
export AC_valsort AC_accesslog
|
||||
export AC_accesslog AC_dynlist AC_pcache AC_ppolicy AC_refint AC_retcode
|
||||
export AC_rwm AC_unique AC_syncprov AC_translucent AC_valsort
|
||||
export AC_WITH_SASL AC_WITH_TLS AC_WITH_MODULES_ENABLED AC_ACI_ENABLED
|
||||
|
||||
if test ! -x ../servers/slapd/slapd ; then
|
||||
echo "Could not locate slapd(8)"
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ sed -e "s/@BACKEND@/${BACKEND}/" \
|
|||
-e "s/^#${AC_sql}#//" \
|
||||
-e "s/^#${RDBMS}#//" \
|
||||
-e "s/^#${AC_accesslog}#//" \
|
||||
-e "s/^#${AC_dynlist}#//" \
|
||||
-e "s/^#${AC_pcache}#//" \
|
||||
-e "s/^#${AC_ppolicy}#//" \
|
||||
-e "s/^#${AC_refint}#//" \
|
||||
|
|
|
|||
|
|
@ -14,13 +14,14 @@
|
|||
## <http://www.OpenLDAP.org/license.html>.
|
||||
|
||||
MONITORDB=${AC_monitor-no}
|
||||
ACCESSLOG=${AC_accesslog-accesslogno}
|
||||
BACKLDAP=${AC_ldap-ldapno}
|
||||
BACKMETA=${AC_meta-metano}
|
||||
BACKRELAY=${AC_relay-relayno}
|
||||
BACKSQL=${AC_sql-sqlno}
|
||||
RDBMS=${SLAPD_USE_SQL-rdbmsno}
|
||||
RDBMSWRITE=${SLAPD_USE_SQLWRITE-no}
|
||||
ACCESSLOG=${AC_accesslog-accesslogno}
|
||||
DYNLIST=${AC_dynlist-dynlistno}
|
||||
PROXYCACHE=${AC_pcache-pcacheno}
|
||||
PPOLICY=${AC_ppolicy-ppolicyno}
|
||||
REFINT=${AC_refint-refintno}
|
||||
|
|
@ -102,6 +103,7 @@ METACONF2=$DATADIR/slapd-meta2.conf
|
|||
GLUELDAPCONF=$DATADIR/slapd-glue-ldap.conf
|
||||
ACICONF=$DATADIR/slapd-aci.conf
|
||||
VALSORTCONF=$DATADIR/slapd-valsort.conf
|
||||
DYNLISTCONF=$DATADIR/slapd-dynlist.conf
|
||||
|
||||
CONF1=$TESTDIR/slapd.1.conf
|
||||
CONF2=$TESTDIR/slapd.2.conf
|
||||
|
|
@ -289,6 +291,7 @@ METACONCURRENCYOUT=$DATADIR/metaconcurrency.out
|
|||
MANAGEOUT=$DATADIR/manage.out
|
||||
SUBTREERENAMEOUT=$DATADIR/subtree-rename.out
|
||||
ACIOUT=$DATADIR/aci.out
|
||||
DYNLISTOUT=$DATADIR/dynlist.out
|
||||
|
||||
# Just in case we linked the binaries dynamically
|
||||
LD_LIBRARY_PATH=`pwd`/../libraries:${LD_LIBRARY_PATH} export LD_LIBRARY_PATH
|
||||
|
|
|
|||
354
tests/scripts/test044-dynlist
Executable file
354
tests/scripts/test044-dynlist
Executable file
|
|
@ -0,0 +1,354 @@
|
|||
#! /bin/sh
|
||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
||||
##
|
||||
## Copyright 1998-2005 The OpenLDAP Foundation.
|
||||
## All rights reserved.
|
||||
##
|
||||
## Redistribution and use in source and binary forms, with or without
|
||||
## modification, are permitted only as authorized by the OpenLDAP
|
||||
## Public License.
|
||||
##
|
||||
## A copy of this license is available in the file LICENSE in the
|
||||
## top-level directory of the distribution or, alternatively, at
|
||||
## <http://www.OpenLDAP.org/license.html>.
|
||||
|
||||
echo "running defines.sh"
|
||||
. $SRCDIR/scripts/defines.sh
|
||||
|
||||
mkdir -p $TESTDIR $DBDIR1
|
||||
|
||||
echo "Running slapadd to build slapd database..."
|
||||
. $CONFFILTER $BACKEND $MONITORDB < $MCONF > $ADDCONF
|
||||
$SLAPADD -f $ADDCONF -l $LDIFORDERED
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "slapadd failed ($RC)!"
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Running slapindex to index slapd database..."
|
||||
. $CONFFILTER $BACKEND $MONITORDB < $DYNLISTCONF > $CONF1
|
||||
$SLAPINDEX -f $CONF1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "warning: slapindex failed ($RC)"
|
||||
echo " assuming no indexing support"
|
||||
fi
|
||||
|
||||
echo "Starting slapd on TCP/IP port $PORT1..."
|
||||
$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
|
||||
PID=$!
|
||||
if test $WAIT != 0 ; then
|
||||
echo PID $PID
|
||||
read foo
|
||||
fi
|
||||
KILLPIDS="$PID"
|
||||
|
||||
sleep 1
|
||||
|
||||
echo "Testing slapd searching..."
|
||||
for i in 0 1 2 3 4 5; do
|
||||
$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
|
||||
'(objectclass=*)' > /dev/null 2>&1
|
||||
RC=$?
|
||||
if test $RC = 0 ; then
|
||||
break
|
||||
fi
|
||||
echo "Waiting 5 seconds for slapd to start..."
|
||||
sleep 5
|
||||
done
|
||||
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
cat /dev/null > $SEARCHOUT
|
||||
|
||||
LISTDN="ou=Dynamic Lists,$BASEDN"
|
||||
echo "Adding a dynamic list..."
|
||||
$LDAPADD -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
|
||||
> $TESTOUT 2>&1 << EOMODS
|
||||
dn: $LISTDN
|
||||
objectClass: organizationalUnit
|
||||
ou: Dynamic Lists
|
||||
|
||||
dn: cn=Dynamic List,$LISTDN
|
||||
objectClass: groupOfURLs
|
||||
cn: Dynamic List
|
||||
memberURL: ldap:///ou=People,${BASEDN}?cn,mail?sub?(objectClass=person)
|
||||
EOMODS
|
||||
|
||||
echo "Testing list search of all attrs..."
|
||||
echo "# Testing list search of all attrs..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
|
||||
'(cn=Dynamic List)' '*' \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Testing list search of a listed attr..."
|
||||
echo "# Testing list search of a listed attr..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
|
||||
'(cn=Dynamic List)' mail \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Testing list search of a non-listed attr..."
|
||||
echo "# Testing list search of a non-listed attr..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
|
||||
'(cn=Dynamic List)' objectClass \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Testing list search with (critical) manageDSAit..."
|
||||
echo "# Testing list search with (critical) manageDSAit..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 -MM \
|
||||
'(cn=Dynamic List)' '*' \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Testing list compare..."
|
||||
echo "# Testing list compare..." >> $SEARCHOUT
|
||||
$LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
|
||||
"cn=Dynamic List,$LISTDN" "cn:Bjorn Jensen" \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
case $RC in
|
||||
5)
|
||||
echo "ldapcompare returned FALSE ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
6)
|
||||
echo "ldapcompare returned TRUE ($RC)"
|
||||
;;
|
||||
0)
|
||||
echo "ldapcompare returned success ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
*)
|
||||
echo "ldapcompare failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
esac
|
||||
echo "" >> $SEARCHOUT
|
||||
|
||||
echo "Testing list compare with manageDSAit..."
|
||||
echo "# Testing list compare with manageDSAit..." >> $SEARCHOUT
|
||||
$LDAPCOMPARE -h $LOCALHOST -p $PORT1 -MM \
|
||||
"cn=Dynamic List,$LISTDN" "cn:Bjorn Jensen" \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
case $RC in
|
||||
5)
|
||||
echo "ldapcompare returned FALSE ($RC)"
|
||||
;;
|
||||
6)
|
||||
echo "ldapcompare returned TRUE ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
0)
|
||||
echo "ldapcompare returned success ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
*)
|
||||
echo "ldapcompare failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
esac
|
||||
echo "" >> $SEARCHOUT
|
||||
|
||||
echo "Stopping slapd..."
|
||||
kill -HUP $KILLPIDS
|
||||
wait $KILLPIDS
|
||||
|
||||
echo "Reconfiguring slapd..."
|
||||
echo "dynlist-member-ad member" >> $CONF1
|
||||
|
||||
echo "Starting slapd on TCP/IP port $PORT1..."
|
||||
$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
|
||||
PID=$!
|
||||
if test $WAIT != 0 ; then
|
||||
echo PID $PID
|
||||
read foo
|
||||
fi
|
||||
KILLPIDS="$PID"
|
||||
|
||||
sleep 1
|
||||
|
||||
echo "Testing slapd searching..."
|
||||
for i in 0 1 2 3 4 5; do
|
||||
$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
|
||||
'(objectclass=*)' > /dev/null 2>&1
|
||||
RC=$?
|
||||
if test $RC = 0 ; then
|
||||
break
|
||||
fi
|
||||
echo "Waiting 5 seconds for slapd to start..."
|
||||
sleep 5
|
||||
done
|
||||
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Adding a dynamic list..."
|
||||
$LDAPADD -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
|
||||
> $TESTOUT 2>&1 << EOMODS
|
||||
dn: cn=Dynamic List of Members,$LISTDN
|
||||
objectClass: groupOfURLs
|
||||
cn: Dynamic List of Members
|
||||
memberURL: ldap:///ou=People,${BASEDN}??sub?(objectClass=person)
|
||||
EOMODS
|
||||
|
||||
echo "Testing list search of all attrs..."
|
||||
echo "# Testing list search of all attrs..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
|
||||
'(cn=Dynamic List of Members)' '*' \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Testing list search of a listed attr..."
|
||||
echo "# Testing list search of a listed attr..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
|
||||
'(cn=Dynamic List of Members)' member \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Testing list search of a non-listed attr..."
|
||||
echo "# Testing list search of a non-listed attr..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 \
|
||||
'(cn=Dynamic List of Members)' objectClass \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Testing list search with (critical) manageDSAit..."
|
||||
echo "# Testing list search with (critical) manageDSAit..." >> $SEARCHOUT
|
||||
$LDAPSEARCH -S "" -b "$LISTDN" -h $LOCALHOST -p $PORT1 -MM \
|
||||
'(&(cn=Dynamic List of Members)(objectClass=groupOfURLs))' '*' \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "ldapsearch failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
CMPDN="cn=Bjorn Jensen,ou=Information Technology Division,ou=People,$BASEDN"
|
||||
echo "Testing list compare..."
|
||||
echo "# Testing list compare..." >> $SEARCHOUT
|
||||
$LDAPCOMPARE -h $LOCALHOST -p $PORT1 \
|
||||
"cn=Dynamic List,$LISTDN" "member:$CMPDN" \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
case $RC in
|
||||
5)
|
||||
echo "ldapcompare returned FALSE ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
6)
|
||||
echo "ldapcompare returned TRUE ($RC)"
|
||||
;;
|
||||
0)
|
||||
echo "ldapcompare returned success ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
*)
|
||||
echo "ldapcompare failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
esac
|
||||
echo "" >> $SEARCHOUT
|
||||
|
||||
echo "Testing list compare with manageDSAit..."
|
||||
echo "# Testing list compare with manageDSAit..." >> $SEARCHOUT
|
||||
$LDAPCOMPARE -h $LOCALHOST -p $PORT1 -MM \
|
||||
"cn=Dynamic List,$LISTDN" "member:$CMPDN" \
|
||||
>> $SEARCHOUT 2>&1
|
||||
RC=$?
|
||||
case $RC in
|
||||
5)
|
||||
echo "ldapcompare returned FALSE ($RC)"
|
||||
;;
|
||||
6)
|
||||
echo "ldapcompare returned TRUE ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
0)
|
||||
echo "ldapcompare returned success ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
*)
|
||||
echo "ldapcompare failed ($RC)!"
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
exit $RC
|
||||
;;
|
||||
esac
|
||||
echo "" >> $SEARCHOUT
|
||||
|
||||
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
||||
|
||||
LDIF=$DYNLISTOUT
|
||||
|
||||
echo "Filtering ldapsearch results..."
|
||||
. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
|
||||
echo "Filtering original ldif used to create database..."
|
||||
. $LDIFFILTER < $LDIF > $LDIFFLT
|
||||
echo "Comparing filter output..."
|
||||
$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
|
||||
|
||||
if test $? != 0 ; then
|
||||
echo "Comparison failed"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo ">>>>> Test succeeded"
|
||||
exit 0
|
||||
Loading…
Reference in a new issue