#! /bin/sh ## $OpenLDAP$ ## This work is part of OpenLDAP Software . ## ## Copyright 2016-2022 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without ## modification, are permitted only as authorized by the OpenLDAP ## Public License. ## ## A copy of this license is available in the file LICENSE in the ## top-level directory of the distribution or, alternatively, at ## . ## ## ACKNOWLEDGEMENTS: ## This module was written in 2016 by Ondřej Kuzník for Symas Corp. echo "running defines.sh" . $SRCDIR/scripts/defines.sh . ${SCRIPTDIR}/common.sh echo "Adding entries (should fail this time)..." $LDAPMODIFY -D $MANAGERDN -H $URI1 -w $PASSWD \ -c -f data/test002-entry.ldif >> $TESTOUT 2>&1 RC=$? case $RC in 0) echo "ldapmodify should have failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit 1 ;; 19) echo "ldapmodify failed ($RC)" ;; *) echo "ldapmodify failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC ;; esac echo "Adding other entries (should fail)..." $LDAPMODIFY -D $MANAGERDN -H $URI1 -w $PASSWD \ -f data/test002-fail.ldif >> $TESTOUT 2>&1 RC=$? case $RC in 0) echo "ldapmodify should have failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit 1 ;; 19) echo "ldapmodify failed ($RC)" ;; *) echo "ldapmodify failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC ;; esac $LDAPMODIFY -D $MANAGERDN -H $URI1 -w $PASSWD \ -f data/test002-transformed-rdn.ldif >> $TESTOUT 2>&1 RC=$? case $RC in 0) echo "ldapmodify should have failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit 1 ;; 32) echo "ldapmodify failed ($RC)" ;; *) echo "ldapmodify failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC ;; esac echo "Configuring new value..." . $CONFFILTER $BACKEND $MONITORDB < data/test002-config.ldif | \ $LDAPMODIFY -v -D cn=config -H $URI1 -y $CONFIGPWF \ >> $TESTOUT 2>&1 RC=$? if test $RC != 0 ; then echo "ldapmodify failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC fi echo "Adding some of the entries again..." $LDAPMODIFY -D $MANAGERDN -H $URI1 -w $PASSWD \ -f data/test002-entry.ldif >> $TESTOUT 2>&1 RC=$? if test $RC != 0 ; then echo "ldapmodify failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC fi echo "Saving search output..." $LDAPSEARCH -H $URI1 -b "$BASEDN" \ "(|(cn=Gern Jensen)(ou=New Unit))" \ >> $SEARCHOUT 2>&1 RC=$? if test $RC != 0 ; then echo "ldapsearch failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC fi echo "Removing entry..." $LDAPDELETE -D $MANAGERDN -H $URI1 -w $PASSWD \ "cn=Gern Jensen,ou=Information Technology Division,ou=People,$BASEDN" \ "ou=New Unit,$BASEDN" \ >> $TESTOUT 2>&1 RC=$? if test $RC != 0 ; then echo "ldapdelete failed ($RC)!" test $KILLSERVERS != no && kill -HUP $KILLPIDS exit $RC fi test $KILLSERVERS != no && kill -HUP $KILLPIDS LDIF=data/test002-entry.ldif echo "Filtering ldapsearch results..." $LDIFFILTER -s ae < $SEARCHOUT > $SEARCHFLT echo "Filtering expected entries..." $LDIFFILTER -s ae < $LDIF | grep -v '^changetype:' > $LDIFFLT echo "Comparing filter output..." $CMP $SEARCHFLT $LDIFFLT > $CMPOUT if test $? != 0 ; then echo "Comparison failed" exit 1 fi echo ">>>>> Test succeeded" test $KILLSERVERS != no && wait exit 0