case ${RDBMS} in
# list here the RDBMSes whose mapping allows writes
-postgres|ibmdb2)
+pgsql|ibmdb2)
MANAGERDN="cn=Manager,${BASEDN}"
echo "Testing add..."
$LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \
-h $LOCALHOST -p $PORT1 >> $TESTOUT 2>&1 << EOMODS
version: 1
-dn: cn=Should Fail,cn=Akakiy Zinberstein,${BASEDN}
+dn: cn=Should Fail,ou=Referral,${BASEDN}
changetype: add
objectClass: inetOrgPerson
cn: Should Fail
if test $RC = 0 ; then
echo "ldapmodify should have failed ($RC)!"
test $KILLSERVERS != no && kill -HUP $KILLPIDS
- exit $RC
+ exit 1
fi
echo "Modifying a referral (should fail)..."
-h $LOCALHOST -p $PORT1 >> $TESTOUT 2>&1 << EOMODS
version: 1
-dn: cn=Akakiy Zinberstein,${BASEDN}
+dn: ou=Referral,${BASEDN}
changetype: modify
replace: ref
ref: ldap://localhost:9009/
if test $RC = 0 ; then
echo "ldapmodify should have failed ($RC)!"
test $KILLSERVERS != no && kill -HUP $KILLPIDS
- exit $RC
+ exit 1
fi
echo "Renaming a referral (should fail)..."
-h $LOCALHOST -p $PORT1 >> $TESTOUT 2>&1 << EOMODS
version: 1
-dn: cn=Akakiy Zinberstein,${BASEDN}
+dn: ou=Referral,${BASEDN}
changetype: modrdn
-newrdn: cn=Akakiy Zinber
+newrdn: ou=Renamed Referral
deleteoldrdn: 1
EOMODS
if test $RC = 0 ; then
echo "ldapmodify should have failed ($RC)!"
test $KILLSERVERS != no && kill -HUP $KILLPIDS
- exit $RC
+ exit 1
fi
echo "Deleting a referral (should fail)..."
-h $LOCALHOST -p $PORT1 >> $TESTOUT 2>&1 << EOMODS
version: 1
-dn: cn=Akakiy Zinberstein,${BASEDN}
+dn: ou=Referral,${BASEDN}
changetype: delete
EOMODS
if test $RC = 0 ; then
echo "ldapmodify should have failed ($RC)!"
test $KILLSERVERS != no && kill -HUP $KILLPIDS
+ exit 1
+ fi
+
+ echo "Adding a referral..."
+ $LDAPMODIFY -v -c -D "$MANAGERDN" -w $PASSWD \
+ -h $LOCALHOST -p $PORT1 -M >> $TESTOUT 2>&1 << EOMODS
+version: 1
+
+dn: ou=Another Referral,${BASEDN}
+changetype: add
+objectClass: referral
+objectClass: extensibleObject
+ou: Another Referral
+ref: ldap://localhost:9009/
+EOMODS
+
+ RC=$?
+ if test $RC != 0 ; then
+ echo "ldapmodify failed ($RC)!"
+ test $KILLSERVERS != no && kill -HUP $KILLPIDS
exit $RC
fi
-h $LOCALHOST -p $PORT1 -M >> $TESTOUT 2>&1 << EOMODS
version: 1
-dn: cn=Akakiy Zinberstein,${BASEDN}
+dn: ou=Referral,${BASEDN}
changetype: modify
replace: ref
ref: ldap://localhost:9009/
echo "Using ldapsearch to retrieve the modified entry..."
echo "# Using ldapsearch to retrieve the modified entry..." >> $SEARCHOUT
- $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT1 -b "cn=Akakiy Zinberstein,$BASEDN" -M \
+ $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT1 -b "ou=Referral,$BASEDN" -M \
"objectClass=*" '*' ref >> $SEARCHOUT 2>&1
RC=$?
-h $LOCALHOST -p $PORT1 -M >> $TESTOUT 2>&1 << EOMODS
version: 1
-dn: cn=Akakiy Zinberstein,${BASEDN}
+dn: ou=Referral,${BASEDN}
changetype: modrdn
-newrdn: cn=Akakiy Zinber
+newrdn: ou=Renamed Referral
deleteoldrdn: 1
EOMODS
echo "Using ldapsearch to retrieve the renamed entry..."
echo "# Using ldapsearch to retrieve the renamed entry..." >> $SEARCHOUT
- $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT1 -b "cn=Akakiy Zinber,$BASEDN" -M \
+ $LDAPSEARCH -S "" -h $LOCALHOST -p $PORT1 -b "ou=Renamed Referral,$BASEDN" -M \
"objectClass=*" '*' ref >> $SEARCHOUT 2>&1
RC=$?
-h $LOCALHOST -p $PORT1 -M >> $TESTOUT 2>&1 << EOMODS
version: 1
-dn: cn=Akakiy Zinber,${BASEDN}
+dn: ou=Renamed Referral,${BASEDN}
changetype: delete
EOMODS
echo ">>>>> Test succeeded"
exit 0
-