X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=tests%2Fscripts%2Ftest020-proxycache;h=2a94cb65aa3a47df06734bc01bc74261f592227a;hb=6c062ca841f82ca9ea17172c2a9882f373a76c02;hp=633e4a464df60474a605ca90d0f719931490222c;hpb=3c598e89fb34a892d369a138daa8c3314294493c;p=openldap diff --git a/tests/scripts/test020-proxycache b/tests/scripts/test020-proxycache index 633e4a464d..2a94cb65aa 100755 --- a/tests/scripts/test020-proxycache +++ b/tests/scripts/test020-proxycache @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2004 The OpenLDAP Foundation. +## Copyright 1998-2006 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -13,7 +13,7 @@ ## top-level directory of the distribution or, alternatively, at ## . -CACHETTL=60 +CACHETTL="1m" CACHE_ENTRY_LIMIT=10 . $SRCDIR/scripts/defines.sh @@ -23,6 +23,11 @@ if test $PROXYCACHE = pcacheno; then exit 0 fi +if test $BACKLDAP = "ldapno" ; then + echo "LDAP backend not available, test skipped" + exit 0 +fi + mkdir -p $TESTDIR $DBDIR1 $DBDIR2 # Test proxy caching: @@ -44,6 +49,8 @@ if test $WAIT != 0 ; then fi KILLPIDS="$PID" +sleep 1 + echo "Using ldapsearch to check that master slapd is running..." for i in 0 1 2 3 4 5; do $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \ @@ -74,7 +81,7 @@ fi echo "Starting proxy cache on TCP/IP port $PORT2..." . $CONFFILTER < $PROXYCACHECONF > $CONF2 -$SLAPD -f $CONF2 -h $URI2 -d $LVL > $LOG2 2>&1 & +$SLAPD -f $CONF2 -h $URI2 -d $LVL -d pcache > $LOG2 2>&1 & CACHEPID=$! if test $WAIT != 0 ; then echo CACHEPID $CACHEPID @@ -82,6 +89,8 @@ if test $WAIT != 0 ; then fi KILLPIDS="$KILLPIDS $CACHEPID" +sleep 1 + echo "Using ldapsearch to check that proxy slapd is running..." for i in 0 1 2 3 4 5; do $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT2 \ @@ -94,10 +103,19 @@ for i in 0 1 2 3 4 5; do sleep 5 done +if test $RC != 0 ; then + echo "ldapsearch failed ($RC)!" + test $KILLSERVERS != no && kill -HUP $KILLPIDS + exit $RC +fi + +cat /dev/null > $SLAVEOUT + echo "Making queries on the proxy cache..." echo "Query 1: filter:(sn=Jon) attrs: all" +echo "# Query 1: filter:(sn=Jon) attrs: all" >> $SLAVEOUT $LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ - 'sn=Jon' > $SLAVEOUT 2>&1 + 'sn=Jon' >> $SLAVEOUT 2>&1 RC=$? if test $RC != 0 ; then echo "ldapsearch failed ($RC)!" @@ -106,6 +124,7 @@ if test $RC != 0 ; then fi echo "Query 2: filter:(|(cn=*Jon*)(sn=Jon*)) attrs:cn sn title uid" +echo "# Query 2: filter:(|(cn=*Jon*)(sn=Jon*)) attrs:cn sn title uid" >> $SLAVEOUT $LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ '(|(cn=*Jon*)(sn=Jon*))' cn sn title uid >> $SLAVEOUT 2>&1 RC=$? @@ -115,9 +134,10 @@ if test $RC != 0 ; then exit $RC fi -echo "Query 3: filter:(sn=Smith*) attrs:cn sn title uid" +echo "Query 3: filter:(sn=Smith*) attrs:cn sn uid" +echo "# Query 3: filter:(sn=Smith*) attrs:cn sn uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ - 'sn=Smith*' cn sn title uid >> $SLAVEOUT 2>&1 + 'sn=Smith*' cn sn uid >> $SLAVEOUT 2>&1 RC=$? if test $RC != 0 ; then echo "ldapsearch failed ($RC)!" @@ -126,6 +146,7 @@ if test $RC != 0 ; then fi echo "Query 4: filter:(sn=Doe*) attrs:cn sn title uid" +echo "# Query 4: filter:(sn=Doe*) attrs:cn sn title uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ 'sn=Doe' cn sn title uid >> $SLAVEOUT 2>&1 RC=$? @@ -136,6 +157,7 @@ if test $RC != 0 ; then fi echo "Query 5: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid" +echo "# Query 5: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ 'uid=bjorn' mail postaladdress telephonenumber cn uid >> $SLAVEOUT 2>&1 RC=$? @@ -145,7 +167,8 @@ if test $RC != 0 ; then exit $RC fi -echo "Query 6: filter:(mail=*@example.com) cn sn title uid" +echo "Query 6: filter:(mail=*@mail.alumni.example.com) cn sn title uid" +echo "# Query 6: filter:(mail=*@mail.alumni.example.com) cn sn title uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ 'mail=*@mail.alumni.example.com' cn sn title uid >> $SLAVEOUT 2>&1 RC=$? @@ -156,6 +179,7 @@ if test $RC != 0 ; then fi echo "Query 7: filter:(mail=*) cn sn title uid" +echo "# Query 7: filter:(mail=*) cn sn title uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ 'mail=*' cn sn title uid >> $SLAVEOUT 2>&1 RC=$? @@ -189,6 +213,7 @@ else fi echo "Query 8: filter:(|(cn=*Jones)(sn=Jones)) attrs:cn sn title uid" +echo "# Query 8: filter:(|(cn=*Jones)(sn=Jones)) attrs:cn sn title uid" >> $SLAVEOUT $LDAPSEARCH -x -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ '(|(cn=*Jones)(sn=Jones))' cn sn title uid >> $SLAVEOUT 2>&1 RC=$? @@ -199,6 +224,7 @@ if test $RC != 0 ; then fi echo "Query 9: filter:(sn=Smith) attrs:cn sn title uid" +echo "# Query 9: filter:(sn=Smith) attrs:cn sn title uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ 'sn=Smith' cn sn title uid >> $SLAVEOUT 2>&1 RC=$? @@ -209,6 +235,7 @@ if test $RC != 0 ; then fi echo "Query 10: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid" +echo "# Query 10: filter:(uid=bjorn) attrs:mail postaladdress telephonenumber cn uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ 'uid=bjorn' mail postaladdress telephonenumber cn uid >> $SLAVEOUT 2>&1 RC=$? @@ -218,7 +245,8 @@ if test $RC != 0 ; then exit $RC fi -echo "Query 11: filter:(mail=*@example.com) cn sn title uid" +echo "Query 11: filter:(mail=jaj@mail.alumni.example.com) cn sn title uid" +echo "# Query 11: filter:(mail=jaj@mail.alumni.example.com) cn sn title uid" >> $SLAVEOUT $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT2 \ 'mail=jaj@mail.alumni.example.com' cn sn title uid >> $SLAVEOUT 2>&1 RC=$? @@ -257,5 +285,20 @@ else exit 1 fi +echo "Filtering ldapsearch results..." +. $LDIFFILTER < $SLAVEOUT > $SEARCHFLT +echo "Filtering original ldif..." +. $LDIFFILTER < $PROXYCACHEOUT > $LDIFFLT +echo "Comparing filter output..." +$CMP $SEARCHFLT $LDIFFLT > $CMPOUT + +if test $? != 0 ; then + echo "Comparison failed" + exit 1 +fi + echo ">>>>> Test succeeded" + +test $KILLSERVERS != no && wait + exit 0