]> git.sur5r.net Git - openldap/blob - tests/scripts/test010-passwd
ITS#2401 support tests for dynamically loaded backends
[openldap] / tests / scripts / test010-passwd
1 #! /bin/sh
2 # $OpenLDAP$
3
4 SRCDIR="."
5 if test $# -ge 1 ; then
6         SRCDIR=$1; shift
7 fi
8
9 . $SRCDIR/scripts/args.sh
10
11 echo "running defines.sh"
12 . $SRCDIR/scripts/defines.sh
13
14 echo "Cleaning up in $DBDIR..."
15
16 rm -f $DBDIR/[!C]*
17
18 echo "Starting slapd on TCP/IP port $PORT..."
19 . $CONFFILTER $BACKEND $MONITORDB < $PWCONF > $DBCONF
20 $SLAPD -f $DBCONF -h $MASTERURI -d $LVL $TIMING > $MASTERLOG 2>&1 &
21 PID=$!
22 if test $WAIT != 0 ; then
23     echo PID $PID
24     read foo
25 fi
26
27 echo "Using ldapsearch to check that slapd is running..."
28 for i in 0 1 2 3 4 5; do
29         $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT \
30                 'objectclass=*' > /dev/null 2>&1
31         RC=$?
32         if test $RC = 0 ; then
33                 break
34         fi
35         echo "Waiting 5 seconds for slapd to start..."
36         sleep 5
37 done
38
39 echo "Using ldapadd to populate the database..."
40 $LDAPADD -D "$MANAGERDN" -h $LOCALHOST -p $PORT -w $PASSWD < \
41         $LDIFPASSWD > $TESTOUT 2>&1
42 RC=$?
43 if test $RC != 0 ; then
44         echo "ldapadd failed ($RC)!"
45         kill -HUP $PID
46         exit $RC
47 fi
48
49 echo > $SEARCHOUT
50 echo > $TESTOUT
51
52 echo "Using ldapsearch to verify population ..."
53 echo "++ Initial search" >> $SEARCHOUT
54 $LDAPSEARCH -h $LOCALHOST -p $PORT \
55         -D "$MANAGERDN" -w $PASSWD \
56         -b "$BASEDN" \
57         'objectclass=*' >> $SEARCHOUT 2>&1
58
59 echo "Using ldappasswd (PASS 1)  ..."
60 echo "Pass 1" >> $TESTOUT
61 $LDAPPASSWD -h $LOCALHOST -p $PORT \
62         -w secret -s newsecret \
63         -D "cn=md5, $BASEDN" >> $TESTOUT 2>&1
64 RC=$?
65 if test $RC != 0 ; then
66         echo "ldappasswd failed ($RC)!"
67         kill -HUP $PID
68         exit $RC
69 fi
70 $LDAPPASSWD -h $LOCALHOST -p $PORT \
71         -w $PASSWD -s newsecret \
72         -D "$MANAGERDN" "cn=smd5, $BASEDN" >> $TESTOUT 2>&1
73 RC=$?
74 if test $RC != 0 ; then
75         echo "ldappasswd failed ($RC)!"
76         kill -HUP $PID
77         exit $RC
78 fi
79 $LDAPPASSWD -h $LOCALHOST -p $PORT \
80         -w secret -s newsecret \
81         -D "cn=sha, $BASEDN" >> $TESTOUT 2>&1
82 RC=$?
83 if test $RC != 0 ; then
84         echo "ldappasswd failed ($RC)!"
85         kill -HUP $PID
86         exit $RC
87 fi
88 $LDAPPASSWD -h $LOCALHOST -p $PORT \
89         -w secret -s newsecret \
90         -D "cn=ssha, $BASEDN" >> $TESTOUT 2>&1
91 RC=$?
92 if test $RC != 0 ; then
93         echo "ldappasswd failed ($RC)!"
94         kill -HUP $PID
95         exit $RC
96 fi
97
98 echo "" >> $TESTOUT
99 echo "Pass 2" >> $TESTOUT
100 echo "Using ldappasswd (PASS 2)  ..."
101 $LDAPPASSWD -h $LOCALHOST -p $PORT \
102         -w newsecret \
103         -D "cn=md5, $BASEDN" >> $TESTOUT 2>&1
104 RC=$?
105 if test $RC != 0 ; then
106         echo "ldappasswd failed ($RC)!"
107         kill -HUP $PID
108         exit $RC
109 fi
110 $LDAPPASSWD -h $LOCALHOST -p $PORT \
111         -w newsecret \
112         -D "cn=smd5, $BASEDN" >> $TESTOUT 2>&1
113 RC=$?
114 if test $RC != 0 ; then
115         echo "ldappasswd failed ($RC)!"
116         kill -HUP $PID
117         exit $RC
118 fi
119 $LDAPPASSWD -h $LOCALHOST -p $PORT \
120         -w newsecret \
121         -D "cn=sha, $BASEDN" >> $TESTOUT 2>&1
122 RC=$?
123 if test $RC != 0 ; then
124         echo "ldappasswd failed ($RC)!"
125         kill -HUP $PID
126         exit $RC
127 fi
128 $LDAPPASSWD -h $LOCALHOST -p $PORT \
129         -w newsecret \
130         -D "cn=ssha, $BASEDN" >> $TESTOUT 2>&1
131 RC=$?
132 if test $RC != 0 ; then
133         echo "ldappasswd failed ($RC)!"
134         kill -HUP $PID
135         exit $RC
136 fi
137
138 kill -HUP $PID
139
140 echo ">>>>> Test succeeded"
141
142 exit 0