]> git.sur5r.net Git - openldap/blob - tests/scripts/test016-subref
Rename
[openldap] / tests / scripts / test016-subref
1 #! /bin/sh
2 # $OpenLDAP$
3
4 RCODE=10
5 SRCDIR="."
6 if test $# -ge 1 ; then
7         SRCDIR=$1; shift
8 fi
9 BACKEND=bdb
10 if test $# -ge 1 ; then
11         BACKEND=$1; shift
12 fi
13 MONITORDB=no
14 if test $# -ge 1 ; then
15         MONITORDB=$1; shift
16 fi
17 WAIT=0
18 if test $# -ge 1 ; then
19         WAIT=1; shift
20 fi
21
22 echo "running defines.sh"
23 . $SRCDIR/scripts/defines.sh
24
25 echo "Cleaning up in $DBDIR..."
26
27 rm -f $DBDIR/[!C]*
28
29 echo "Running slapadd to build slapd database..."
30 . $CONFFILTER $BACKEND $MONITORDB < $RCONF > $DBCONF
31 $SLAPADD -f $DBCONF -l $LDIFREF
32 RC=$?
33 if test $RC != 0 ; then
34         echo "slapadd failed ($RC)!"
35         exit $RC
36 fi
37
38 echo "Starting slapd on TCP/IP port $PORT..."
39 $SLAPD -f $DBCONF -h $MASTERURI -d $LVL $TIMING > $MASTERLOG 2>&1 &
40 PID=$!
41 if test $WAIT != 0 ; then
42     echo PID $PID
43     read foo
44 fi
45
46 echo "Testing slapd searching..."
47 for i in 0 1 2 3 4 5; do
48         $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT \
49                 '(objectclass=*)' > /dev/null 2>&1
50         RC=$?
51         if test $RC = 0 ; then
52                 break
53         fi
54         echo "Waiting 5 seconds for slapd to start..."
55         sleep 5
56 done
57
58 if test $RC != 0 ; then
59         echo "ldapsearch failed ($RC)!"
60         kill -HUP $PID
61         exit $RC
62 fi
63
64 cat /dev/null > $SEARCHOUT
65
66 echo "Testing ManageDsaIT searching at $REFDN..."
67 $LDAPRSEARCH -S "" -MM -b "$REFDN" -h $LOCALHOST -p $PORT \
68         '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1
69 RC=$?
70 if test $RC != 0 ; then
71         echo "ldapsearch failed ($RC)!"
72         kill -HUP $PID
73         exit $RC
74 fi
75
76 echo "Testing ManageDsaIT searching at referral object..."
77 $LDAPRSEARCH -S "" -MM -b "o=abc,$REFDN" -h $LOCALHOST -p $PORT \
78         '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1
79 RC=$?
80 if test $RC != 0 ; then
81         echo "ldapsearch failed ($RC)!"
82         kill -HUP $PID
83         exit $RC
84 fi
85
86 echo "Testing ManageDsaIT searching below referral object..."
87 $LDAPRSEARCH -S "" -MM -b "uid=xxx,o=abc,$REFDN" -h $LOCALHOST -p $PORT \
88         '(objectClass=referral)' '*' ref >> $SEARCHOUT 2>&1
89 RC=$?
90 if test $RC != $RCODE ; then
91         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
92         kill -HUP $PID
93         exit $RC
94 fi
95
96 XREFDN="$REFDN"
97 echo "Testing base searching at $XREFDN..."
98 $LDAPRSEARCH -S "" -s base -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
99 RC=$?
100 if test $RC != 0 ; then
101         echo "ldapsearch failed ($RC)!"
102         kill -HUP $PID
103         exit $RC
104 fi
105
106 echo "Testing one-level searching at $XREFDN..."
107 $LDAPRSEARCH -S "" -s one -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
108 RC=$?
109 if test $RC != 0 ; then
110         echo "ldapsearch failed ($RC)!"
111         kill -HUP $PID
112         exit $RC
113 fi
114
115 echo "Testing subtree searching at $XREFDN..."
116 $LDAPRSEARCH -S "" -s sub -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
117 RC=$?
118 if test $RC != 0 ; then
119         echo "ldapsearch failed ($RC)!"
120         kill -HUP $PID
121         exit $RC
122 fi
123
124 XREFDN="o=abc,$REFDN"
125 echo "Testing base searching at $XREFDN..."
126 $LDAPRSEARCH -S "" -s base -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
127 RC=$?
128 if test $RC != $RCODE ; then
129         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
130         kill -HUP $PID
131         exit $RC
132 fi
133
134 echo "Testing one-level searching at $XREFDN..."
135 $LDAPRSEARCH -S "" -s one -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
136 RC=$?
137 if test $RC != $RCODE ; then
138         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
139         kill -HUP $PID
140         exit $RC
141 fi
142
143 echo "Testing subtree searching at $XREFDN..."
144 $LDAPRSEARCH -S "" -s sub -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
145 RC=$?
146 if test $RC != $RCODE ; then
147         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
148         kill -HUP $PID
149         exit $RC
150 fi
151
152 XREFDN="uid=xxx,o=abc,$REFDN"
153 echo "Testing base searching at $XREFDN..."
154 $LDAPRSEARCH -S "" -s base -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
155 RC=$?
156 if test $RC != $RCODE ; then
157         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
158         kill -HUP $PID
159         exit $RC
160 fi
161
162 echo "Testing one-level searching at $XREFDN..."
163 $LDAPRSEARCH -S "" -s one -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
164 RC=$?
165 if test $RC != $RCODE ; then
166         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
167         kill -HUP $PID
168         exit $RC
169 fi
170
171 echo "Testing subtree searching at $XREFDN..."
172 $LDAPRSEARCH -S "" -s sub -b "$XREFDN" -h $LOCALHOST -p $PORT 1.1 >> $SEARCHOUT 2>&1
173 RC=$?
174 if test $RC != $RCODE ; then
175         echo "ldapsearch: unexpected result ($RC)! (referral expected)"
176         kill -HUP $PID
177         exit $RC
178 fi
179
180 kill -HUP $PID
181 LDIF=$SEARCHOUTMASTER
182 echo "Filtering ldapsearch results..."
183 . $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
184 echo "Filtering expected LDIF for comparison..."
185 . $LDIFFILTER < $REFERRALOUT > $LDIFFLT
186 echo "Comparing filter output..."
187 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
188
189 if test $? != 0 ; then
190         echo "Comparison failed"
191         exit 1
192 fi
193
194 echo ">>>>> Test succeeded"
195
196
197 exit 0