]> git.sur5r.net Git - openldap/blob - tests/scripts/test004-modify
Extend TLS/SSL detection for use RSAref if necessary.
[openldap] / tests / scripts / test004-modify
1 #!/bin/sh
2
3 if [ $# -eq 0 ]; then
4         SRCDIR="."
5 else
6         SRCDIR=$1; shift
7 fi
8 if [ $# -eq 1 ]; then
9         BDB2=$1; shift
10 fi
11
12 . $SRCDIR/scripts/defines.sh $SRCDIR $BDB2
13
14 echo "Cleaning up in $DBDIR..."
15
16 rm -f $DBDIR/[!C]*
17
18 echo "Running ldif2ldbm to build slapd database..."
19 $LDIF2LDBM -f $CONF -i $LDIF -e ../servers/slapd/tools
20 RC=$?
21 if [ $RC != 0 ]; then
22         echo "ldif2ldbm failed!"
23         exit $RC
24 fi
25
26 echo "Starting slapd on TCP/IP port $PORT..."
27 $SLAPD -f $CONF -p $PORT -d $LVL $TIMING > $MASTERLOG 2>&1 &
28 PID=$!
29
30 echo "Testing slapd modify operations..."
31 for i in 0 1 2 3 4 5; do
32         $LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
33                 'cn=Manager' > /dev/null 2>&1
34         RC=$?
35         if [ $RC = 1 ]; then
36                 echo "Waiting 5 seconds for slapd to start..."
37                 sleep 5
38         fi
39 done
40
41 if [ $RC != 0 ]; then
42         echo "ldapsearch failed!"
43         kill -HUP $PID
44         exit $RC
45 fi
46
47 cat /dev/null > $TESTOUT
48
49 echo "Testing modify, add, and delete..."
50 $LDAPMODIFY -v -D "$MANAGERDN" -h localhost -p $PORT -w $PASSWD > \
51         /dev/null 2>&1 << EOMODS
52 dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
53 changetype: modify
54 add: drink
55 drink: Orange Juice
56
57 dn: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
58 changetype: modify
59 replace: multilinedescription
60 multilinedescription: The replaced multiLineDescription $ Blah Woof.
61 -
62 replace: drink
63 drink: Iced Tea
64 drink: Mad Dog 20/20
65
66 dn: cn=ITD Staff,ou=Groups,o=University of Michigan,c=US
67 delete: member
68 member: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
69 member: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
70 -
71 add: member
72 member: cn=Dorothy Stevens, ou=Alumni Association, ou=People, o=University of Michigan, c=US
73 member: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
74
75 dn: cn=All Staff,ou=Groups,o=University of Michigan,c=US
76 changetype: modify
77 delete: member
78
79 dn: cn=Gern Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
80 changetype: add
81 objectclass: top
82 objectclass: person
83 objectclass: organizationalPerson
84 objectclass: newPilotPerson
85 objectclass: umichPerson
86 cn: Gern Jensen
87 title: Chief Investigator, ITD
88 postaladdress: ITD $ 535 W. William St $ Ann Arbor, MI 48103
89 seealso: cn=All Staff, ou=Groups, o=University of Michigan, c=US
90 uid: gjensen
91 krbname: gjensen@umich.edu
92 nobatchupdates: TRUE
93 onvacation: FALSE
94 drink: Coffee
95 homepostaladdress: 844 Brown St. Apt. 4 $ Ann Arbor, MI 48104
96 multilinedescription: Very odd
97 facsimiletelephonenumber: +1 313 555 7557
98 telephonenumber: +1 313 555 8343
99 mail: gjensen@mailgw.umich.edu
100 homephone: +1 313 555 8844
101
102 dn: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
103 changetype: delete
104
105 EOMODS
106
107 RC=$?
108 if [ $RC != 0 ]; then
109         echo "ldapmodify failed!"
110         kill -HUP $PID
111         exit $RC
112 fi
113
114 echo "Using ldapsearch to retrieve all the entries..."
115 $LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
116             'objectClass=*' | egrep -iv '^createtimestamp:|^modifytimestamp:' \
117             > $SEARCHOUT 2>&1
118 RC=$?
119 kill -HUP $PID
120 if [ $RC != 0 ]; then
121         echo "ldapsearch failed!"
122         exit $RC
123 fi
124
125 echo "Comparing database to reference file"
126 cmp $SEARCHOUT $MODIFYOUTMASTER
127 if [ $? != 0 ]; then
128         echo "comparison failed - modify operations did not complete correctly"
129         exit 1
130 fi
131
132 echo ">>>>> Test succeeded"
133
134
135 exit 0