mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
efce212af9
Replace OpenLDAPtime with testTime (in test.schema). Define testPerson instead (in test.schema). Update test004 to use new test schema.
201 lines
4.7 KiB
Bash
Executable File
201 lines
4.7 KiB
Bash
Executable File
#! /bin/sh
|
|
# $OpenLDAP$
|
|
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
|
##
|
|
## Copyright 1998-2005 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
|
|
## <http://www.OpenLDAP.org/license.html>.
|
|
|
|
echo "running defines.sh"
|
|
. $SRCDIR/scripts/defines.sh
|
|
|
|
mkdir -p $TESTDIR $DBDIR1
|
|
|
|
echo "Running slapadd to build slapd database..."
|
|
. $CONFFILTER $BACKEND $MONITORDB < $CONF > $CONF1
|
|
$SLAPADD -f $CONF1 -l $LDIFORDERED
|
|
RC=$?
|
|
if test $RC != 0 ; then
|
|
echo "slapadd failed ($RC)!"
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Starting slapd on TCP/IP port $PORT1..."
|
|
$SLAPD -f $CONF1 -h $URI1 -d $LVL $TIMING > $LOG1 2>&1 &
|
|
PID=$!
|
|
if test $WAIT != 0 ; then
|
|
echo PID $PID
|
|
read foo
|
|
fi
|
|
KILLPIDS="$PID"
|
|
|
|
echo "Testing slapd modify operations..."
|
|
for i in 0 1 2 3 4 5; do
|
|
$LDAPSEARCH -s base -b "$MONITOR" -h $LOCALHOST -p $PORT1 \
|
|
'objectclass=*' > /dev/null 2>&1
|
|
RC=$?
|
|
if test $RC = 0 ; then
|
|
break
|
|
fi
|
|
echo "Waiting 5 seconds for slapd to start..."
|
|
sleep 5
|
|
done
|
|
|
|
if test $RC != 0 ; then
|
|
echo "ldapsearch failed ($RC)!"
|
|
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Testing modify, add, and delete..."
|
|
$LDAPMODIFY -v -D "$MANAGERDN" -h $LOCALHOST -p $PORT1 -w $PASSWD > \
|
|
$TESTOUT 2>&1 << EOMODS
|
|
version: 1
|
|
|
|
# LEADING COMMENT AND WHITE SPACE
|
|
|
|
dn: cn=James A Jones 1,ou=Alumni Association,ou=People,dc=example,dc=com
|
|
# EMBEDDED COMMENT
|
|
changetype: modify
|
|
add: drink
|
|
drink: Pils
|
|
-
|
|
add: drink
|
|
drink: Orange Juice
|
|
-
|
|
delete: drink
|
|
drink: Pils
|
|
-
|
|
delete: sn
|
|
sn: Jones
|
|
-
|
|
add: sn
|
|
sn: Jones
|
|
|
|
dn: cn=Bjorn Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com
|
|
changetype: modify
|
|
# EMBEDDED COMMENT
|
|
CONTINUED
|
|
replace: description
|
|
description: The replaced multiLineDescription $ Blah Woof.
|
|
-
|
|
replace: drink
|
|
drink: Iced Tea
|
|
drink: Mad Dog 20/20
|
|
|
|
dn: cn=ITD Staff,ou=Groups,dc=example,dc=com
|
|
changetype: modify
|
|
delete: uniquemember
|
|
uniquemember: cn=James A Jones 2,ou=Information Technology Division,
|
|
ou=People,dc=example,dc=com
|
|
uniquemember: cn=Bjorn Jensen,ou=Information Technology Division,
|
|
ou=People,dc=example,dc=com
|
|
-
|
|
add: uniquemember
|
|
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
|
|
delete: member
|
|
-
|
|
add: member
|
|
member: cn=Dorothy Stevens,ou=Alumni Association,ou=People,dc=example,dc=com
|
|
-
|
|
delete: description
|
|
-
|
|
add: objectClass
|
|
objectClass: OpenLDAPdisplayableObject
|
|
objectClass: pkiUser
|
|
objectClass: userSecurityInformation
|
|
-
|
|
delete: objectClass
|
|
objectClass: OpenLDAPdisplayableObject
|
|
objectClass: pkiUser
|
|
objectClass: userSecurityInformation
|
|
|
|
dn: cn=Gern Jensen,ou=Information Technology Division,ou=People,dc=example,dc=com
|
|
changetype: add
|
|
objectclass: testPerson
|
|
cn: Gern Jensen
|
|
sn: Jensen
|
|
uid: gjensen
|
|
title: Chief Investigator, ITD
|
|
postaladdress: ITD $ 535 W. William St $ Anytown, MI 48103
|
|
seealso: cn=All Staff,ou=Groups,dc=example,dc=com
|
|
drink: Coffee
|
|
homepostaladdress: 844 Brown St. Apt. 4 $ Anytown, MI 48104
|
|
description: Very odd
|
|
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
|
|
# TRAILING COMMENT AND WHITE SPACE
|
|
|
|
dn: ou=People,dc=example,dc=com
|
|
changetype: modify
|
|
increment: uidNumber
|
|
uidNumber: 1
|
|
-
|
|
increment: gidNumber
|
|
gidNumber: -1
|
|
|
|
EOMODS
|
|
|
|
RC=$?
|
|
if test $RC != 0 ; then
|
|
echo "ldapmodify failed ($RC)!"
|
|
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
|
exit $RC
|
|
fi
|
|
|
|
echo "Using ldapsearch to retrieve all the entries..."
|
|
$LDAPSEARCH -S "" -b "$BASEDN" -h $LOCALHOST -p $PORT1 \
|
|
'objectClass=*' > $SEARCHOUT 2>&1
|
|
RC=$?
|
|
test $KILLSERVERS != no && kill -HUP $KILLPIDS
|
|
if test $RC != 0 ; then
|
|
echo "ldapsearch failed ($RC)!"
|
|
exit $RC
|
|
fi
|
|
|
|
LDIF=$MODIFYOUTMASTER
|
|
|
|
echo "Filtering ldapsearch results..."
|
|
. $LDIFFILTER < $SEARCHOUT > $SEARCHFLT
|
|
echo "Filtering original ldif used to create database..."
|
|
. $LDIFFILTER < $LDIF > $LDIFFLT
|
|
echo "Comparing filter output..."
|
|
$CMP $SEARCHFLT $LDIFFLT > $CMPOUT
|
|
|
|
if test $? != 0 ; then
|
|
echo "comparison failed - modify operations did not complete correctly"
|
|
exit 1
|
|
fi
|
|
|
|
echo ">>>>> Test succeeded"
|
|
exit 0
|