]> git.sur5r.net Git - openldap/blobdiff - tests/scripts/test004-modify
Add a delay while consumer is down to exercise proxy retry
[openldap] / tests / scripts / test004-modify
index 3242d20fcd1f051f537986cd6cedf9bbb1a02178..8e317b5c68ad269ec29c6e31f9be5e0cd9b8a764 100755 (executable)
@@ -2,7 +2,7 @@
 # $OpenLDAP$
 ## This work is part of OpenLDAP Software <http://www.openldap.org/>.
 ##
-## Copyright 1998-2004 The OpenLDAP Foundation.
+## Copyright 1998-2006 The OpenLDAP Foundation.
 ## All rights reserved.
 ##
 ## Redistribution and use in source and binary forms, with or without
@@ -36,6 +36,8 @@ if test $WAIT != 0 ; then
 fi
 KILLPIDS="$PID"
 
+sleep 1
+
 echo "Testing slapd modify operations..."
 for i in 0 1 2 3 4 5; do
        $LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
@@ -103,6 +105,16 @@ uniquemember: cn=Dorothy Stevens,ou=Alumni Association,
  ou=People,dc=example,dc=com
 uniquemember: cn=James A Jones 1,ou=Alumni Association,
  ou=People,dc=example,dc=com
+-
+add: objectClass
+objectClass: OpenLDAPdisplayableObject
+objectClass: pkiUser
+objectClass: userSecurityInformation
+-
+delete: objectClass
+objectClass: userSecurityInformation
+objectClass: pkiUser
+objectClass: OpenLDAPdisplayableObject
 
 dn: cn=All Staff,ou=Groups,dc=example,dc=com
 changetype: modify
@@ -125,7 +137,7 @@ objectClass: userSecurityInformation
 
 dn: cn=Gern Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com
 changetype: add
-objectclass: OpenLDAPperson
+objectclass: testPerson
 cn: Gern Jensen
 sn: Jensen
 uid: gjensen
@@ -139,6 +151,7 @@ facsimiletelephonenumber: +1 313 555 7557
 telephonenumber: +1 313 555 8343
 mail: gjensen@mailgw.example.com
 homephone: +1 313 555 8844
+testTime: 20050304001801.234Z
 
 dn: cn=James A Jones 2,ou=Information Technology Division,ou=People,dc=example,dc=com
 changetype: delete
@@ -152,6 +165,10 @@ uidNumber: 1
 increment: gidNumber
 gidNumber: -1
 
+dn: dc=example,dc=com
+changetype: modify
+# EMPTY SEQUENCE OF CHANGE
+
 EOMODS
 
 RC=$?
@@ -161,6 +178,31 @@ if test $RC != 0 ; then
        exit $RC
 fi
 
+echo "Using ldapmodify to add an empty entry (should fail with protocolError)..."
+$LDAPMODIFY -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD \
+        >> $TESTOUT 2>&1 << EOMODS
+dn: cn=Foo Bar,dc=example,dc=com
+changetype: add
+# EMPTY SEQUENCE OF ATTRS
+EOMODS
+
+RC=$?
+case $RC in
+2)
+       echo "  ldapmodify failed ($RC)"
+       ;;
+0)
+       echo "  ldapmodify should have failed ($RC)!"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit -1
+       ;;
+*)
+       echo "  ldapmodify failed ($RC)!"
+       test $KILLSERVERS != no && kill -HUP $KILLPIDS
+       exit $RC
+       ;;
+esac
+
 echo "Using ldapsearch to retrieve all the entries..."
 $LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
            'objectClass=*' > $SEARCHOUT 2>&1
@@ -186,4 +228,7 @@ if test $? != 0 ; then
 fi
 
 echo ">>>>> Test succeeded"
+
+test $KILLSERVERS != no && wait
+
 exit 0