mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-24 13:24:56 +08:00
ITS#8667 - Add regression test
This commit is contained in:
parent
a58c01317c
commit
f136773413
63
tests/data/regressions/its8667/accounting.ldif
Normal file
63
tests/data/regressions/its8667/accounting.ldif
Normal file
@ -0,0 +1,63 @@
|
||||
dn: ou=Accounting,dc=example,dc=com
|
||||
objectClass: organizationalunit
|
||||
objectClass: top
|
||||
ou: Accounting
|
||||
|
||||
dn: cn=May Gaul,ou=Accounting,dc=example,dc=com
|
||||
objectClass: inetOrgPerson
|
||||
objectClass: organizationalPerson
|
||||
objectClass: person
|
||||
objectClass: top
|
||||
cn: May Gaul
|
||||
sn: Gaul
|
||||
carLicense: 1BMCX31
|
||||
departmentNumber: 5148
|
||||
description: This is May Gaul's description
|
||||
employeeType: Temp
|
||||
facsimileTelephoneNumber: +1 804 673-8690
|
||||
givenName: May
|
||||
homePhone: +1 415 245-8979
|
||||
initials: M. G.
|
||||
l: Sunnyvale
|
||||
mail: May_Gaul@example.com
|
||||
manager: cn=Fqa McMannen
|
||||
mobile: +1 818 141-8493
|
||||
ou: Accounting
|
||||
pager: +1 804 480-4264
|
||||
postalAddress: example # 930
|
||||
roomNumber: 5933
|
||||
secretary: cn=Daniel Encomenderos
|
||||
telephoneNumber: +1 408 696-5756
|
||||
title: Associate Accounting Developer
|
||||
uid: May_Gaul
|
||||
userPassword:: bHVhR3lhTQ==
|
||||
|
||||
dn: cn=Ann Tully,ou=Accounting,dc=example,dc=com
|
||||
objectClass: inetOrgPerson
|
||||
objectClass: organizationalPerson
|
||||
objectClass: person
|
||||
objectClass: top
|
||||
cn: Ann Tully
|
||||
sn: Tully
|
||||
carLicense: 3BM6G8F
|
||||
departmentNumber: 1672
|
||||
description: This is Ann Tully's description
|
||||
employeeType: Employee
|
||||
facsimileTelephoneNumber: +1 213 206-5551
|
||||
givenName: Ann
|
||||
homePhone: +1 213 246-2575
|
||||
initials: A. T.
|
||||
l: Cambridge
|
||||
mail: Ann_Tully@example.com
|
||||
manager: cn=Buddy Wingfield
|
||||
mobile: +1 213 889-1457
|
||||
ou: Accounting
|
||||
pager: +1 71 105-8458
|
||||
postalAddress: example # 784
|
||||
roomNumber: 538
|
||||
secretary: cn=Minny Vahdat
|
||||
telephoneNumber: +1 415 208-1794
|
||||
title: Supreme Accounting Admin
|
||||
uid: Ann_Tully
|
||||
userPassword:: eWxsdVRubkE=
|
||||
|
63
tests/data/regressions/its8667/administrative.ldif
Normal file
63
tests/data/regressions/its8667/administrative.ldif
Normal file
@ -0,0 +1,63 @@
|
||||
dn: ou=Administrative,dc=example,dc=com
|
||||
objectClass: organizationalunit
|
||||
objectClass: top
|
||||
ou: Administrative
|
||||
|
||||
dn: cn=Tab Danko,ou=Administrative,dc=example,dc=com
|
||||
objectClass: inetOrgPerson
|
||||
objectClass: organizationalPerson
|
||||
objectClass: person
|
||||
objectClass: top
|
||||
cn: Tab Danko
|
||||
sn: Danko
|
||||
carLicense: XB3M2XY
|
||||
departmentNumber: 1320
|
||||
description: This is Tab Danko's description
|
||||
employeeType: Employee
|
||||
facsimileTelephoneNumber: +1 510 538-4771
|
||||
givenName: Tab
|
||||
homePhone: +1 206 386-9666
|
||||
initials: T. D.
|
||||
l: Orem
|
||||
mail: Tab_Danko@example.com
|
||||
manager: cn=Ingaborg Burruss
|
||||
mobile: +1 206 296-7053
|
||||
ou: Administrative
|
||||
pager: +1 804 647-2654
|
||||
postalAddress: example # 669
|
||||
roomNumber: 1597
|
||||
secretary: cn=Hilde McCaugherty
|
||||
telephoneNumber: +1 415 622-6699
|
||||
title: Associate Administrative Yahoo
|
||||
uid: Tab_Danko
|
||||
userPassword:: b2tuYURiYVQ=
|
||||
|
||||
dn: cn=Clary Mand,ou=Administrative,dc=example,dc=com
|
||||
objectClass: inetOrgPerson
|
||||
objectClass: organizationalPerson
|
||||
objectClass: person
|
||||
objectClass: top
|
||||
cn: Clary Mand
|
||||
sn: Mand
|
||||
carLicense: 2AVIDV3
|
||||
departmentNumber: 2566
|
||||
description: This is Clary Mand's description
|
||||
employeeType: Temp
|
||||
facsimileTelephoneNumber: +1 408 928-6670
|
||||
givenName: Clary
|
||||
homePhone: +1 213 446-5803
|
||||
initials: C. M.
|
||||
l: Alameda
|
||||
mail: Clary_Mand@example.com
|
||||
manager: cn=Ainslee Hanlan
|
||||
mobile: +1 71 687-3763
|
||||
ou: Administrative
|
||||
pager: +1 206 452-2059
|
||||
postalAddress: example # 55
|
||||
roomNumber: 8363
|
||||
secretary: cn=Mallik MacArthur
|
||||
telephoneNumber: +1 804 111-7612
|
||||
title: Senior Administrative Stooge
|
||||
uid: Clary_Mand
|
||||
userPassword:: ZG5hTXlyYWxD
|
||||
|
116
tests/data/regressions/its8667/its8667
Executable file
116
tests/data/regressions/its8667/its8667
Executable file
@ -0,0 +1,116 @@
|
||||
#! /bin/sh
|
||||
# $OpenLDAP$
|
||||
## This work is part of OpenLDAP Software <http://www.openldap.org/>.
|
||||
##
|
||||
## Copyright 1998-2017 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
|
||||
|
||||
echo ""
|
||||
echo " This test tracks a case where the -g flag to slapcat fails to work"
|
||||
echo " correctly, exporting the subordinate dbs as well as the root db."
|
||||
echo " See http://www.openldap.org/its/index.cgi/?findid=8667 for more information."
|
||||
echo ""
|
||||
|
||||
DBDIR1=$TESTDIR/db.1.a
|
||||
DBDIR2=$TESTDIR/db.2.a
|
||||
DBDIR3=$TESTDIR/db.3.a
|
||||
DBDIR4=$TESTDIR/db.4.a
|
||||
CFPRO=$TESTDIR/slapd.d
|
||||
|
||||
mkdir -p $TESTDIR $DBDIR1 $DBDIR2 $DBDIR3 $DBDIR4 $CFPRO
|
||||
|
||||
$SLAPPASSWD -g -n >$CONFIGPWF
|
||||
|
||||
ITS=8667
|
||||
ITSDIR=$DATADIR/regressions/its$ITS
|
||||
|
||||
echo "Starting slapd on TCP/IP port $PORT1..."
|
||||
. $CONFFILTER $BACKEND $MONITORDB < $ITSDIR/slapd.ldif > $CONFLDIF
|
||||
$SLAPADD -F $CFPRO -n 0 -l $CONFLDIF
|
||||
|
||||
echo "Populating root database..."
|
||||
$SLAPADD -F $CFPRO -b "dc=example,dc=com" -l $ITSDIR/root.ldif >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "slapadd failed for root database ($RC)!"
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Populating accounting database..."
|
||||
$SLAPADD -F $CFPRO -b "dc=accounting,dc=example,dc=com" -l $ITSDIR/accounting.ldif >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "slapadd failed for accounting database ($RC)!"
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Populating administrative database..."
|
||||
$SLAPADD -F $CFPRO -b "dc=administrative,dc=example,dc=com" -l $ITSDIR/administrative.ldif >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "slapadd failed for administrative database ($RC)!"
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Populating janitorial database..."
|
||||
$SLAPADD -F $CFPRO -b "dc=janitorial,dc=example,dc=com" -l $ITSDIR/janitorial.ldif >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
if test $RC != 0 ; then
|
||||
echo "slapadd failed for janitorial database ($RC)!"
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Using slapcat -g to export only the root database..."
|
||||
$SLAPCAT -F $CFPRO -g -b "dc=example,dc=com" -l $TESTDIR/slapcat.out >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
|
||||
if test $RC != 0 ; then
|
||||
echo "slapcat -g failed for root databse ($RC)!"
|
||||
exit $RC
|
||||
fi
|
||||
|
||||
echo "Verifying Administrative subordinate is not found..."
|
||||
grep "dn: ou=Administrative,dc=example,dc=com" $TESTDIR/slapcat.out >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
|
||||
if test $RC = 0 ; then
|
||||
echo "test failed - Administrative subordinate found."
|
||||
echo "This is a regression of ITS8667"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Verifying Accounting subordinate is not found..."
|
||||
grep "dn: ou=Accounting,dc=example,dc=com" $TESTDIR/slapcat.out >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
|
||||
if test $RC = 0 ; then
|
||||
echo "test failed - Accounting subordinate found."
|
||||
echo "This is a regression of ITS8667"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Verifying Janitorial subordinate is not found..."
|
||||
grep "dn: ou=Janitorial,dc=example,dc=com" $TESTDIR/slapcat.out >> $TESTOUT 2>&1
|
||||
RC=$?
|
||||
|
||||
if test $RC = 0 ; then
|
||||
echo "test failed - Janitorial subordinate found."
|
||||
echo "This is a regression of ITS8667"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo ">>>>> Test succeeded"
|
||||
|
||||
exit 0
|
63
tests/data/regressions/its8667/janitorial.ldif
Normal file
63
tests/data/regressions/its8667/janitorial.ldif
Normal file
@ -0,0 +1,63 @@
|
||||
dn: ou=Janitorial,dc=example,dc=com
|
||||
objectClass: organizationalunit
|
||||
objectClass: top
|
||||
ou: Janitorial
|
||||
|
||||
dn: cn=Clark Soto,ou=Janitorial,dc=example,dc=com
|
||||
objectClass: inetOrgPerson
|
||||
objectClass: organizationalPerson
|
||||
objectClass: person
|
||||
objectClass: top
|
||||
cn: Clark Soto
|
||||
sn: Soto
|
||||
carLicense: PPTYC3Z
|
||||
departmentNumber: 7897
|
||||
description: This is Clark Soto's description
|
||||
employeeType: Employee
|
||||
facsimileTelephoneNumber: +1 510 450-7054
|
||||
givenName: Clark
|
||||
homePhone: +1 804 304-2863
|
||||
initials: C. S.
|
||||
l: San Francisco
|
||||
mail: Clark_Soto@example.com
|
||||
manager: cn=Gerianne Skrebels
|
||||
mobile: +1 206 393-4632
|
||||
ou: Janitorial
|
||||
pager: +1 510 651-1646
|
||||
postalAddress: example # 395
|
||||
roomNumber: 5847
|
||||
secretary: cn=Vrouwerff Komenda
|
||||
telephoneNumber: +1 415 574-1770
|
||||
title: Junior Janitorial Sales Rep
|
||||
uid: Clark_Soto
|
||||
userPassword:: b3RvU2tyYWxD
|
||||
|
||||
dn: cn=Edmx Beaty,ou=Janitorial,dc=example,dc=com
|
||||
objectClass: inetOrgPerson
|
||||
objectClass: organizationalPerson
|
||||
objectClass: person
|
||||
objectClass: top
|
||||
cn: Edmx Beaty
|
||||
sn: Beaty
|
||||
carLicense: 4XOW1HI
|
||||
departmentNumber: 1279
|
||||
description: This is Edmx Beaty's description
|
||||
employeeType: Contract
|
||||
facsimileTelephoneNumber: +1 408 460-7625
|
||||
givenName: Edmx
|
||||
homePhone: +1 206 683-8029
|
||||
initials: E. B.
|
||||
l: San Mateo
|
||||
mail: Edmx_Beaty@example.com
|
||||
manager: cn=Jilleen Funston
|
||||
mobile: +1 303 400-9306
|
||||
ou: Janitorial
|
||||
pager: +1 408 324-7874
|
||||
postalAddress: example # 331
|
||||
roomNumber: 389
|
||||
secretary: cn=Chick Bulifant
|
||||
telephoneNumber: +1 303 427-6104
|
||||
title: Chief Janitorial Vice President
|
||||
uid: Edmx_Beaty
|
||||
userPassword:: eXRhZUJ4bWRF
|
||||
|
46
tests/data/regressions/its8667/root.ldif
Normal file
46
tests/data/regressions/its8667/root.ldif
Normal file
@ -0,0 +1,46 @@
|
||||
dn: dc=example,dc=com
|
||||
objectClass: dcObject
|
||||
objectClass: organization
|
||||
objectClass: top
|
||||
dc: example
|
||||
o: example
|
||||
|
||||
dn: ou=NonSub00,dc=example,dc=com
|
||||
objectClass: top
|
||||
objectClass: organizationalUnit
|
||||
ou: NonSub00
|
||||
|
||||
dn: ou=NonSub01,dc=example,dc=com
|
||||
objectClass: top
|
||||
objectClass: organizationalUnit
|
||||
ou: NonSub01
|
||||
|
||||
dn: ou=NonSub02,dc=example,dc=com
|
||||
objectClass: top
|
||||
objectClass: organizationalUnit
|
||||
ou: NonSub02
|
||||
|
||||
dn: cn=NonSubTestPerson00,ou=NonSub00,dc=example,dc=com
|
||||
objectClass: top
|
||||
objectClass: person
|
||||
objectClass: organizationalPerson
|
||||
objectClass: inetOrgPerson
|
||||
cn: NonSubTestPerson00
|
||||
sn: TP00
|
||||
|
||||
dn: cn=NonSubTestPerson01,ou=NonSub01,dc=example,dc=com
|
||||
objectClass: top
|
||||
objectClass: person
|
||||
objectClass: organizationalPerson
|
||||
objectClass: inetOrgPerson
|
||||
cn: NonSubTestPerson01
|
||||
sn: TP01
|
||||
|
||||
dn: cn=NonSubTestPerson02,ou=NonSub02,dc=example,dc=com
|
||||
objectClass: top
|
||||
objectClass: person
|
||||
objectClass: organizationalPerson
|
||||
objectClass: inetOrgPerson
|
||||
cn: NonSubTestPerson02
|
||||
sn: TP02
|
||||
|
97
tests/data/regressions/its8667/slapd.ldif
Normal file
97
tests/data/regressions/its8667/slapd.ldif
Normal file
@ -0,0 +1,97 @@
|
||||
dn: cn=config
|
||||
objectClass: olcGlobal
|
||||
cn: config
|
||||
olcLogLevel: Sync
|
||||
olcLogLevel: Stats
|
||||
olcPidFile: @TESTDIR@/slapd.1.pid
|
||||
olcArgsFile: @TESTDIR@/slapd.1.args
|
||||
|
||||
dn: cn=schema,cn=config
|
||||
objectClass: olcSchemaConfig
|
||||
cn: schema
|
||||
|
||||
include: file://@TESTWD@/@SCHEMADIR@/core.ldif
|
||||
include: file://@TESTWD@/@SCHEMADIR@/cosine.ldif
|
||||
include: file://@TESTWD@/@SCHEMADIR@/inetorgperson.ldif
|
||||
|
||||
#mod#dn: cn=module{0},cn=config
|
||||
#mod#objectClass: olcModuleList
|
||||
#mod#cn: module{0}
|
||||
#mod#olcModulePath: @TESTWD@/../servers/slapd/back-@BACKEND@/
|
||||
#mod#olcModuleLoad: {0}back_@BACKEND@.la
|
||||
|
||||
#monitormod#dn: cn=module{1},cn=config
|
||||
#monitormod#objectClass: olcModuleList
|
||||
#monitormod#cn: module{1}
|
||||
#monitormod#olcModulePath: @TESTWD@/../servers/slapd/back-monitor/
|
||||
#monitormod#olcModuleLoad: {0}back_monitor.la
|
||||
|
||||
dn: olcDatabase={-1}frontend,cn=config
|
||||
objectClass: olcDatabaseConfig
|
||||
objectClass: olcFrontendConfig
|
||||
olcDatabase: {-1}frontend
|
||||
olcAccess: {0}to dn="" by * read
|
||||
olcAccess: {1}to * by self write by users read by anonymous auth
|
||||
|
||||
dn: olcDatabase={0}config,cn=config
|
||||
objectClass: olcDatabaseConfig
|
||||
olcDatabase: {0}config
|
||||
olcRootPW:< file://@TESTDIR@/configpw
|
||||
olcAccess: {0}to * by * none
|
||||
|
||||
dn: olcDatabase={1}@BACKEND@,cn=config
|
||||
objectClass: olcDatabaseConfig
|
||||
objectClass: olc@BACKEND@Config
|
||||
olcDatabase: {1}@BACKEND@
|
||||
olcSuffix: ou=Accounting,dc=example,dc=com
|
||||
olcSubordinate: advertise
|
||||
olcRootDN: cn=Manager,dc=example,dc=com
|
||||
#~null~#olcDbDirectory: @TESTDIR@/db.1.a
|
||||
#indexdb#olcDbIndex: default eq
|
||||
#indexdb#olcDbIndex: objectClass
|
||||
#indexdb#olcDbIndex: cn
|
||||
#mdb#olcDbMaxSize: 33554432
|
||||
|
||||
dn: olcDatabase={2}@BACKEND@,cn=config
|
||||
objectClass: olcDatabaseConfig
|
||||
objectClass: olc@BACKEND@Config
|
||||
olcDatabase: {2}@BACKEND@
|
||||
olcSuffix: ou=Administrative,dc=example,dc=com
|
||||
olcSubordinate: advertise
|
||||
olcRootDN: cn=Manager,dc=example,dc=com
|
||||
#~null~#olcDbDirectory: @TESTDIR@/db.2.a
|
||||
#indexdb#olcDbIndex: default eq
|
||||
#indexdb#olcDbIndex: objectClass
|
||||
#indexdb#olcDbIndex: cn
|
||||
#mdb#olcDbMaxSize: 33554432
|
||||
|
||||
dn: olcDatabase={3}@BACKEND@,cn=config
|
||||
objectClass: olcDatabaseConfig
|
||||
objectClass: olc@BACKEND@Config
|
||||
olcDatabase: {3}@BACKEND@
|
||||
olcSuffix: ou=Janitorial,dc=example,dc=com
|
||||
olcSubordinate: advertise
|
||||
olcRootDN: cn=Manager,dc=example,dc=com
|
||||
#~null~#olcDbDirectory: @TESTDIR@/db.3.a
|
||||
#indexdb#olcDbIndex: default eq
|
||||
#indexdb#olcDbIndex: objectClass
|
||||
#indexdb#olcDbIndex: cn
|
||||
#mdb#olcDbMaxSize: 33554432
|
||||
|
||||
dn: olcDatabase={4}@BACKEND@,cn=config
|
||||
objectClass: olcDatabaseConfig
|
||||
objectClass: olc@BACKEND@Config
|
||||
olcDatabase: {4}@BACKEND@
|
||||
olcSuffix: dc=example,dc=com
|
||||
olcRootDN: cn=Manager,dc=example,dc=com
|
||||
olcRootPW: secret
|
||||
#~null~#olcDbDirectory: @TESTDIR@/db.4.a
|
||||
#indexdb#olcDbIndex: default eq
|
||||
#indexdb#olcDbIndex: objectClass
|
||||
#indexdb#olcDbIndex: cn
|
||||
#mdb#olcDbMaxSize: 33554432
|
||||
|
||||
dn: olcOverlay={0}glue,olcDatabase={4}@BACKEND@,cn=config
|
||||
objectClass: olcOverlayConfig
|
||||
objectClass: olcConfig
|
||||
olcOverlay: {0}glue
|
Loading…
Reference in New Issue
Block a user