]> git.sur5r.net Git - openldap/blobdiff - tests/scripts/test004-modify
ITS#7090 test unordered slapadd
[openldap] / tests / scripts / test004-modify
index 5fc3dde868f23b65872c8e385b38c18f758e8c7a..8e3f9924e57b56d308af6e6d3d209b8a41a74746 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-2011 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 \
@@ -135,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
@@ -149,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
@@ -162,6 +165,10 @@ uidNumber: 1
 increment: gidNumber
 gidNumber: -1
 
+dn: dc=example,dc=com
+changetype: modify
+# EMPTY SEQUENCE OF CHANGE
+
 EOMODS
 
 RC=$?
@@ -171,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
@@ -184,9 +216,9 @@ fi
 LDIF=$MODIFYOUTMASTER
 
 echo "Filtering ldapsearch results..."
-$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
+$LDIFFILTER < $SEARCHOUT > $SEARCHFLT
 echo "Filtering original ldif used to create database..."
-$LDIFFILTER < $LDIF > $LDIFFLT
+$LDIFFILTER < $LDIF > $LDIFFLT
 echo "Comparing filter output..."
 $CMP $SEARCHFLT $LDIFFLT > $CMPOUT
 
@@ -196,4 +228,7 @@ if test $? != 0 ; then
 fi
 
 echo ">>>>> Test succeeded"
+
+test $KILLSERVERS != no && wait
+
 exit 0