9 # - perform some modifies and deleted
10 # - retrieve database over ldap and compare against expected results
15 echo "Cleaning up in $DBDIR..."
17 echo "Cleaning up in $REPLDIR..."
20 echo "Starting master slapd on TCP/IP port $PORT..."
21 $SLAPD -f $MASTERCONF -p $PORT -d 1 > /dev/null 2>&1 &
24 echo "Starting slave slapd on TCP/IP port $SLAVEPORT..."
25 $SLAPD -f $SLAVECONF -p $SLAVEPORT -d 1 > /dev/null 2>&1 &
28 echo "Using ldapsearch to check that master slapd is running..."
29 for i in 0 1 2 3 4 5; do
30 $LDAPSEARCH -L -b "$BASEDN" -h localhost -p $PORT \
31 'cn=Monitor' > /dev/null 2>&1
34 echo "Waiting 5 seconds for slapd to start..."
39 echo "Using ldapsearch to check that slave slapd is running..."
40 for i in 0 1 2 3 4 5; do
41 $LDAPSEARCH -L -b "$BASEDN" -h localhost -p $SLAVEPORT \
42 'cn=Monitor' > /dev/null 2>&1
45 echo "Waiting 5 seconds for slapd to start..."
50 echo "Starting slurpd..."
51 $SLURPD -f $MASTERCONF -d 4 -t $REPLDIR > /dev/null 2>&1 &
54 echo "Using ldapmodify to populate the database..."
55 $LDAPMODIFY -a -D "$MANAGERDN" -h localhost -p $PORT -w $PASSWD < \
56 $LDIFORDERED > /dev/null 2>&1
59 echo "ldapmodify failed!"
60 kill -HUP $PID $SLAVEPID $SLURPPID
64 echo "Using ldapmodify to modify the database..."
66 # Do some modifications
69 $LDAPMODIFY -v -D "$MANAGERDN" -h localhost -p $PORT -w $PASSWD > \
70 /dev/null 2>&1 << EOMODS
71 dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
76 dn: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
78 replace: multilinedescription
79 multilinedescription: The replaced multiLineDescription $ Blah Woof.
85 dn: cn=ITD Staff,ou=Groups,o=University of Michigan,c=US
87 member: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
88 member: cn=Bjorn Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
91 member: cn=Dorothy Stevens, ou=Alumni Association, ou=People, o=University of Michigan, c=US
92 member: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Michigan, c=US
94 dn: cn=All Staff,ou=Groups,o=University of Michigan,c=US
98 dn: cn=Gern Jensen, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
102 objectclass: organizationalPerson
103 objectclass: newPilotPerson
104 objectclass: umichPerson
106 title: Chief Investigator, ITD
107 postaladdress: ITD $ 535 W. William St $ Ann Arbor, MI 48103
108 seealso: cn=All Staff, ou=Groups, o=University of Michigan, c=US
110 krbname: gjensen@umich.edu
114 homepostaladdress: 844 Brown St. Apt. 4 $ Ann Arbor, MI 48104
115 multilinedescription: Very odd
116 facsimiletelephonenumber: +1 313 555 7557
117 telephonenumber: +1 313 555 8343
118 mail: gjensen@mailgw.umich.edu
119 homephone: +1 313 555 8844
121 dn: cn=James A Jones 2, ou=Information Technology Division, ou=People, o=University of Michigan, c=US
126 echo "Waiting 10 seconds for slurpd to send changes..."
129 echo "Using ldapsearch to read all the entries from the master..."
130 $LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $PORT \
131 'objectclass=*' > $MASTEROUT 2>&1
133 if [ $RC != 0 ]; then
134 echo "ldapsearch failed!"
135 kill -HUP $PID $SLAVEPID $SLURPPID
139 echo "Using ldapsearch to read all the entries from the slave..."
140 $LDAPSEARCH -L -S "" -b "$BASEDN" -h localhost -p $SLAVEPORT \
141 'objectclass=*' > $SLAVEOUT 2>&1
143 if [ $RC != 0 ]; then
144 echo "ldapsearch failed!"
145 kill -HUP $PID $SLAVEPID $SLURPPID
149 kill -HUP $PID $SLAVEPID $SLURPPID
151 echo "Comparing retrieved entries from master and slave..."
152 cmp $MASTEROUT $SLAVEOUT
154 echo "test failed - master and slave databases differ"
158 echo ">>>>> Test succeeded"