mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

gary_williams
27.34.2009 306e681b66654d3cac4bf25415164f59e3848d27
functional tests backends import(-tasks)/export(-tasks) improvements
9 files added
4 files modified
9348 ■■■■■ changed files
opends/tests/staf-tests/functional-tests/shared/data/backends/Exclude.ldif 22 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/shared/data/backends/nonDefault.ldif 2805 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/backends.xml 39 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/export-tasks/export-tasks.xml 132 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/export-tasks/export-tasks_tests.xml 357 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/export/export.xml 164 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/export/export_tests.xml 2151 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks/import-tasks.xml 159 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks/import-tasks_tests.xml 1715 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/import/import.xml 160 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/import/import_tests.xml 1618 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/shared/functions/dsadm.xml 14 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/shared/functions/dsconfig.xml 12 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/shared/data/backends/Exclude.ldif
@@ -2807,6 +2807,28 @@
roomnumber: 3445
userpassword: expired
dn: ou=unit1, ou=People, dc=example,dc=com
objectclass: top
objectclass: organizationalunit
ou: unit1
dn: uid=arammell, ou=unit1, ou=People, dc=example,dc=com
cn: Andy Rammell
sn: Rammell
givenname: Andy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Departed
l: Santa Clara
uid: arammell
mail: arammell@example.com
telephonenumber: +1 408 555 4663
facsimiletelephonenumber: +1 408 555 0126
roomnumber: 3495
userpassword: expired
dn: cn=Accounting Managers,ou=groups,dc=example,dc=com
objectclass: top
objectclass: groupOfUniqueNames
opends/tests/staf-tests/functional-tests/shared/data/backends/nonDefault.ldif
New file
@@ -0,0 +1,2805 @@
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License, Version 1.0 only
# (the "License").  You may not use this file except in compliance
# with the License.
#
# You can obtain a copy of the license at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE
# or https://OpenDS.dev.java.net/OpenDS.LICENSE.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at
# trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
# add the following below this CDDL HEADER, with the fields enclosed
# by brackets "[]" replaced with your own identifying information:
#      Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#      Copyright 2009 Sun Microsystems, Inc.
#
#
# dc=com sample LDIF file
#
# Notes:
#   160 total entries.
#     1 (objectclass=domain) entries (dc=non-default,dc=com).
#     4 (objectclass=organizationalunit) entries.
#     5 (objectclass=groupofuniquenames) entries.
#   150 (objectclass=person) entries (all under ou=people,dc=non-default,dc=com).
#
dn: dc=non-default,dc=com
objectclass: top
objectclass: domain
dc: non-default
dn: ou=Groups, dc=non-default,dc=com
objectclass: top
objectclass: organizationalunit
ou: Groups
dn: cn=Directory Administrators, ou=Groups, dc=non-default,dc=com
cn: Directory Administrators
objectclass: top
objectclass: groupofuniquenames
ou: Groups
uniquemember: uid=kvaughan, ou=People, dc=non-default,dc=com
uniquemember: uid=rdaugherty, ou=People, dc=non-default,dc=com
uniquemember: uid=hmiller, ou=People, dc=non-default,dc=com
dn: ou=People, dc=non-default,dc=com
objectclass: top
objectclass: organizationalunit
ou: People
dn: ou=Special Users,dc=non-default,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Special Users
description: Special Administrative Accounts
dn: uid=scarter, ou=People, dc=non-default,dc=com
cn: Sam Carter
sn: Carter
givenname: Sam
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: scarter
mail: scarter@non-default.com
telephonenumber: +1 408 555 4798
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 4612
userpassword: sprain
dn: uid=tmorris, ou=People, dc=non-default,dc=com
cn: Ted Morris
sn: Morris
givenname: Ted
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: tmorris
mail: tmorris@non-default.com
telephonenumber: +1 408 555 9187
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 4117
userpassword: irrefutable
dn: uid=kvaughan, ou=People, dc=non-default,dc=com
cn: Kirsten Vaughan
sn: Vaughan
givenname: Kirsten
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: kvaughan
mail: kvaughan@non-default.com
telephonenumber: +1 408 555 5625
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 2871
userpassword: bribery
dn: uid=abergin, ou=People, dc=non-default,dc=com
cn: Andy Bergin
sn: Bergin
givenname: Andy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Cupertino
uid: abergin
mail: abergin@non-default.com
telephonenumber: +1 408 555 8585
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 3472
userpassword: inflict
dn: uid=dmiller, ou=People, dc=non-default,dc=com
cn: David Miller
sn: Miller
givenname: David
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: dmiller
mail: dmiller@non-default.com
telephonenumber: +1 408 555 9423
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 4135
userpassword: gosling
dn: uid=gfarmer, ou=People, dc=non-default,dc=com
cn: Gern Farmer
sn: Farmer
givenname: Gern
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: gfarmer
mail: gfarmer@non-default.com
telephonenumber: +1 408 555 6201
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 1269
userpassword: ruling
dn: uid=kwinters, ou=People, dc=non-default,dc=com
cn: Kelly Winters
sn: Winters
givenname: Kelly
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: kwinters
mail: kwinters@non-default.com
telephonenumber: +1 408 555 9069
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 4178
userpassword: forsook
dn: uid=trigden, ou=People, dc=non-default,dc=com
cn: Torrey Rigden
sn: Rigden
givenname: Torrey
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: trigden
mail: trigden@non-default.com
telephonenumber: +1 408 555 9280
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 3584
userpassword: sensitive
dn: uid=cschmith, ou=People, dc=non-default,dc=com
cn: Chris Schmith
sn: Schmith
givenname: Chris
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: cschmith
mail: cschmith@non-default.com
telephonenumber: +1 408 555 8011
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 0416
userpassword: hypotenuse
dn: uid=jwallace, ou=People, dc=non-default,dc=com
cn: Judy Wallace
sn: Wallace
givenname: Judy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: jwallace
mail: jwallace@non-default.com
telephonenumber: +1 408 555 0319
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 1033
userpassword: linear
dn: uid=jwalker, ou=People, dc=non-default,dc=com
cn: John Walker
sn: Walker
givenname: John
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Cupertino
uid: jwalker
mail: jwalker@non-default.com
telephonenumber: +1 408 555 1476
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 3915
userpassword: dogleg
dn: uid=tclow, ou=People, dc=non-default,dc=com
cn: Torrey Clow
sn: Clow
givenname: Torrey
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: tclow
mail: tclow@non-default.com
telephonenumber: +1 408 555 8825
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 4376
userpassword: cardreader
dn: uid=rdaugherty, ou=People, dc=non-default,dc=com
cn: Robert Daugherty
sn: Daugherty
givenname: Robert
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: rdaugherty
mail: rdaugherty@non-default.com
telephonenumber: +1 408 555 1296
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 0194
userpassword: apples
dn: uid=jreuter, ou=People, dc=non-default,dc=com
cn: Jayne Reuter
sn: Reuter
givenname: Jayne
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Cupertino
uid: jreuter
mail: jreuter@non-default.com
telephonenumber: +1 408 555 1122
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 2942
userpassword: destroy
dn: uid=tmason, ou=People, dc=non-default,dc=com
cn: Torrey Mason
sn: Mason
givenname: Torrey
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: tmason
mail: tmason@non-default.com
telephonenumber: +1 408 555 1596
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 1124
userpassword: squatted
dn: uid=bhall, ou=People, dc=non-default,dc=com
cn: Benjamin Hall
sn: Hall
givenname: Benjamin
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: bhall
mail: bhall@non-default.com
telephonenumber: +1 408 555 6067
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 2511
userpassword: oranges
dn: uid=btalbot, ou=People, dc=non-default,dc=com
cn: Brad Talbot
sn: Talbot
givenname: Brad
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: btalbot
mail: btalbot@non-default.com
telephonenumber: +1 408 555 4992
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 3532
userpassword: trident
dn: uid=mward, ou=People, dc=non-default,dc=com
cn: Marcus Ward
sn: Ward
givenname: Marcus
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: mward
mail: mward@non-default.com
telephonenumber: +1 408 555 5688
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 1707
userpassword: normal
dn: uid=bjablons, ou=People, dc=non-default,dc=com
cn: Barbara Jablonski
sn: Jablonski
givenname: Barbara
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: bjablons
mail: bjablons@non-default.com
telephonenumber: +1 408 555 8815
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 0906
userpassword: strawberry
dn: uid=jmcFarla, ou=People, dc=non-default,dc=com
cn: Judy McFarland
sn: McFarland
givenname: Judy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: jmcFarla
mail: jmcFarla@non-default.com
telephonenumber: +1 408 555 2567
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 2359
userpassword: walnut
dn: uid=llabonte, ou=People, dc=non-default,dc=com
cn: Lee Labonte
sn: Labonte
givenname: Lee
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: llabonte
mail: llabonte@non-default.com
telephonenumber: +1 408 555 0957
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 2854
userpassword: sourdough
dn: uid=jcampaig, ou=People, dc=non-default,dc=com
cn: Jody Campaigne
sn: Campaigne
givenname: Jody
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: jcampaig
mail: jcampaig@non-default.com
telephonenumber: +1 408 555 1660
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 4385
userpassword: grapevine
dn: uid=bhal2, ou=People, dc=non-default,dc=com
cn: Barbara Hall
sn: Hall
givenname: Barbara
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: bhal2
mail: bhal2@non-default.com
telephonenumber: +1 408 555 4491
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 2758
userpassword: truths
dn: uid=alutz, ou=People, dc=non-default,dc=com
cn: Alexander Lutz
sn: Lutz
givenname: Alexander
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: alutz
mail: alutz@non-default.com
telephonenumber: +1 408 555 6505
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 1327
userpassword: northward
dn: uid=btalbo2, ou=People, dc=non-default,dc=com
cn: Bjorn Talbot
sn: Talbot
givenname: Bjorn
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: btalbo2
mail: btalbo2@non-default.com
telephonenumber: +1 408 555 4234
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 1205
userpassword: corduroy
dn: uid=achassin, ou=People, dc=non-default,dc=com
cn: Ashley Chassin
sn: Chassin
givenname: Ashley
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Santa Clara
uid: achassin
mail: achassin@non-default.com
telephonenumber: +1 408 555 9972
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 0466
userpassword: duopolist
dn: uid=hmiller, ou=People, dc=non-default,dc=com
cn: Harry Miller
sn: Miller
givenname: Harry
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: hmiller
mail: hmiller@non-default.com
telephonenumber: +1 408 555 9804
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 4304
userpassword: hillock
dn: uid=jcampai2, ou=People, dc=non-default,dc=com
cn: Jeffrey Campaigne
sn: Campaigne
givenname: Jeffrey
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: jcampai2
mail: jcampai2@non-default.com
telephonenumber: +1 408 555 7393
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 1377
userpassword: nominee
dn: uid=lulrich, ou=People, dc=non-default,dc=com
cn: Lee Ulrich
sn: Ulrich
givenname: Lee
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Sunnyvale
uid: lulrich
mail: lulrich@non-default.com
telephonenumber: +1 408 555 8652
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 0985
userpassword: attribution
dn: uid=mlangdon, ou=People, dc=non-default,dc=com
cn: Marcus Langdon
sn: Langdon
givenname: Marcus
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: mlangdon
mail: mlangdon@non-default.com
telephonenumber: +1 408 555 6249
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 4471
userpassword: threat
dn: uid=striplet, ou=People, dc=non-default,dc=com
cn: Stephen Triplett
sn: Triplett
givenname: Stephen
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: striplet
mail: striplet@non-default.com
telephonenumber: +1 408 555 4519
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 3083
userpassword: compactify
dn: uid=gtriplet, ou=People, dc=non-default,dc=com
cn: Gern Triplett
sn: Triplett
givenname: Gern
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: gtriplet
mail: gtriplet@non-default.com
telephonenumber: +1 408 555 2582
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 4023
userpassword: placeable
dn: uid=jfalena, ou=People, dc=non-default,dc=com
cn: John Falena
sn: Falena
givenname: John
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: jfalena
mail: jfalena@non-default.com
telephonenumber: +1 408 555 8133
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 1917
userpassword: nightly
dn: uid=speterso, ou=People, dc=non-default,dc=com
cn: Sue Peterson
sn: Peterson
givenname: Sue
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: speterso
mail: speterso@non-default.com
telephonenumber: +1 408 555 3613
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 3073
userpassword: quinine
dn: uid=ejohnson, ou=People, dc=non-default,dc=com
cn: Emanuel Johnson
sn: Johnson
givenname: Emanuel
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: ejohnson
mail: ejohnson@non-default.com
telephonenumber: +1 408 555 3287
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 3737
userpassword: marketwise
dn: uid=prigden, ou=People, dc=non-default,dc=com
cn: Peter Rigden
sn: Rigden
givenname: Peter
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: prigden
mail: prigden@non-default.com
telephonenumber: +1 408 555 5099
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 1271
userpassword: epiphyseal
dn: uid=bwalker, ou=People, dc=non-default,dc=com
cn: Brad Walker
sn: Walker
givenname: Brad
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: bwalker
mail: bwalker@non-default.com
telephonenumber: +1 408 555 5476
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 3529
userpassword: interruptible
dn: uid=kjensen, ou=People, dc=non-default,dc=com
cn: Kurt Jensen
sn: Jensen
givenname: Kurt
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: kjensen
mail: kjensen@non-default.com
telephonenumber: +1 408 555 6127
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 1944
userpassword: regulatory
dn: uid=mlott, ou=People, dc=non-default,dc=com
cn: Mike Lott
sn: Lott
givenname: Mike
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: mlott
mail: mlott@non-default.com
telephonenumber: +1 408 555 2234
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 0498
userpassword: cognac
dn: uid=cwallace, ou=People, dc=non-default,dc=com
cn: Cecil Wallace
sn: Wallace
givenname: Cecil
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: cwallace
mail: cwallace@non-default.com
telephonenumber: +1 408 555 6438
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 0349
userpassword: quintus
dn: uid=tpierce, ou=People, dc=non-default,dc=com
cn: Tobias Pierce
sn: Pierce
givenname: Tobias
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: tpierce
mail: tpierce@non-default.com
telephonenumber: +1 408 555 1531
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 1383
userpassword: rascal
dn: uid=rbannist, ou=People, dc=non-default,dc=com
cn: Richard Bannister
sn: Bannister
givenname: Richard
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: rbannist
mail: rbannist@non-default.com
telephonenumber: +1 408 555 1833
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 0983
userpassword: demonstrate
dn: uid=bplante, ou=People, dc=non-default,dc=com
cn: Brian Plante
sn: Plante
givenname: Brian
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: bplante
mail: bplante@non-default.com
telephonenumber: +1 408 555 3550
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 4654
userpassword: tangerine
dn: uid=rmills, ou=People, dc=non-default,dc=com
cn: Randy Mills
sn: Mills
givenname: Randy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: rmills
mail: rmills@non-default.com
telephonenumber: +1 408 555 2072
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 3823
userpassword: condescend
dn: uid=bschneid, ou=People, dc=non-default,dc=com
cn: Benjamin Schneider
sn: Schneider
givenname: Benjamin
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Santa Clara
uid: bschneid
mail: bschneid@non-default.com
telephonenumber: +1 408 555 1012
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 4471
userpassword: biblical
dn: uid=skellehe, ou=People, dc=non-default,dc=com
cn: Sue Kelleher
sn: Kelleher
givenname: Sue
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Santa Clara
uid: skellehe
mail: skellehe@non-default.com
telephonenumber: +1 408 555 3480
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 1608
userpassword: sweltering
dn: uid=brentz, ou=People, dc=non-default,dc=com
cn: Bertram Rentz
sn: Rentz
givenname: Bertram
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Sunnyvale
uid: brentz
mail: brentz@non-default.com
telephonenumber: +1 408 555 5526
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 0617
userpassword: diachronic
dn: uid=dsmith, ou=People, dc=non-default,dc=com
cn: Daniel Smith
sn: Smith
givenname: Daniel
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: dsmith
mail: dsmith@non-default.com
telephonenumber: +1 408 555 9519
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 0368
userpassword: quantitative
dn: uid=scarte2, ou=People, dc=non-default,dc=com
cn: Stephen Carter
sn: Carter
givenname: Stephen
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: scarte2
mail: scarte2@non-default.com
telephonenumber: +1 408 555 6022
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 2013
userpassword: scooter
dn: uid=dthorud, ou=People, dc=non-default,dc=com
cn: David Thorud
sn: Thorud
givenname: David
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: dthorud
mail: dthorud@non-default.com
telephonenumber: +1 408 555 6185
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 1128
userpassword: fulcrum
dn: uid=ekohler, ou=People, dc=non-default,dc=com
cn: Elba Kohler
sn: Kohler
givenname: Elba
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: ekohler
mail: ekohler@non-default.com
telephonenumber: +1 408 555 1926
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 2721
userpassword: guildhall
dn: uid=lcampbel, ou=People, dc=non-default,dc=com
cn: Laurel Campbell
sn: Campbell
givenname: Laurel
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: lcampbel
mail: lcampbel@non-default.com
telephonenumber: +1 408 555 2537
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 2073
userpassword: impress
dn: uid=tlabonte, ou=People, dc=non-default,dc=com
cn: Tim Labonte
sn: Labonte
givenname: Tim
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: tlabonte
mail: tlabonte@non-default.com
telephonenumber: +1 408 555 0058
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 1426
userpassword: express
dn: uid=slee, ou=People, dc=non-default,dc=com
cn: Scott Lee
sn: Lee
givenname: Scott
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: slee
mail: slee@non-default.com
telephonenumber: +1 408 555 2335
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 1806
userpassword: revertive
dn: uid=bfree, ou=People, dc=non-default,dc=com
cn: Bjorn Free
sn: Free
givenname: Bjorn
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: bfree
mail: bfree@non-default.com
telephonenumber: +1 408 555 8588
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 3307
userpassword: etiquette
dn: uid=tschneid, ou=People, dc=non-default,dc=com
cn: Torrey Schneider
sn: Schneider
givenname: Torrey
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: tschneid
mail: tschneid@non-default.com
telephonenumber: +1 408 555 7086
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 2292
userpassword: chaperone
dn: uid=prose, ou=People, dc=non-default,dc=com
cn: Paula Rose
sn: Rose
givenname: Paula
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: prose
mail: prose@non-default.com
telephonenumber: +1 408 555 9998
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 0542
userpassword: regatta
dn: uid=jhunter, ou=People, dc=non-default,dc=com
cn: Janet Hunter
sn: Hunter
givenname: Janet
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: jhunter
mail: jhunter@non-default.com
telephonenumber: +1 408 555 7665
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 4856
userpassword: nanometer
dn: uid=ashelton, ou=People, dc=non-default,dc=com
cn: Alexander Shelton
sn: Shelton
givenname: Alexander
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: ashelton
mail: ashelton@non-default.com
telephonenumber: +1 408 555 1081
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 1987
userpassword: appointe
dn: uid=mmcinnis, ou=People, dc=non-default,dc=com
cn: Marcus Mcinnis
sn: Mcinnis
givenname: Marcus
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: mmcinnis
mail: mmcinnis@non-default.com
telephonenumber: +1 408 555 9655
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 4818
userpassword: calcify
dn: uid=falbers, ou=People, dc=non-default,dc=com
cn: Frank Albers
sn: Albers
givenname: Frank
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: falbers
mail: falbers@non-default.com
telephonenumber: +1 408 555 3094
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 1439
userpassword: degradation
dn: uid=mschneid, ou=People, dc=non-default,dc=com
cn: Martin Schneider
sn: Schneider
givenname: Martin
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: mschneid
mail: mschneid@non-default.com
telephonenumber: +1 408 555 5017
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 3153
userpassword: motorcycle
dn: uid=pcruse, ou=People, dc=non-default,dc=com
cn: Patricia Cruse
sn: Cruse
givenname: Patricia
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Santa Clara
uid: pcruse
mail: pcruse@non-default.com
telephonenumber: +1 408 555 8641
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 3967
userpassword: pauper
dn: uid=tkelly, ou=People, dc=non-default,dc=com
cn: Timothy Kelly
sn: Kelly
givenname: Timothy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
l: Santa Clara
uid: tkelly
mail: tkelly@non-default.com
telephonenumber: +1 408 555 4295
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 3107
userpassword: risible
dn: uid=ahel, ou=People, dc=non-default,dc=com
cn: Andrew Hel
sn: Hel
givenname: Andrew
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: ahel
mail: ahel@non-default.com
telephonenumber: +1 408 555 2666
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 0572
userpassword: sarsaparilla
dn: uid=jburrell, ou=People, dc=non-default,dc=com
cn: James Burrell
sn: Burrell
givenname: James
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: jburrell
mail: jburrell@non-default.com
telephonenumber: +1 408 555 0751
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 4926
userpassword: degrease
dn: uid=smason, ou=People, dc=non-default,dc=com
cn: Sue Mason
sn: Mason
givenname: Sue
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: smason
mail: smason@non-default.com
telephonenumber: +1 408 555 9780
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 4971
userpassword: sensible
dn: uid=ptyler, ou=People, dc=non-default,dc=com
cn: Pete Tyler
sn: Tyler
givenname: Pete
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: ptyler
mail: ptyler@non-default.com
telephonenumber: +1 408 555 3335
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 0327
userpassword: vinegar
dn: uid=calexand, ou=People, dc=non-default,dc=com
cn: Chris Alexander
sn: Alexander
givenname: Chris
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Sunnyvale
uid: calexand
mail: calexand@non-default.com
telephonenumber: +1 408 555 9438
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 2884
userpassword: dauphin
dn: uid=jcruse, ou=People, dc=non-default,dc=com
cn: Jim Cruse
sn: Cruse
givenname: Jim
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Santa Clara
uid: jcruse
mail: jcruse@non-default.com
telephonenumber: +1 408 555 9482
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 0083
userpassword: bridgework
dn: uid=kcarter, ou=People, dc=non-default,dc=com
cn: Karen Carter
sn: Carter
givenname: Karen
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: kcarter
mail: kcarter@non-default.com
telephonenumber: +1 408 555 4675
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 2320
userpassword: radiosonde
dn: uid=rfish, ou=People, dc=non-default,dc=com
cn: Randy Fish
sn: Fish
givenname: Randy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: rfish
mail: rfish@non-default.com
telephonenumber: +1 408 555 9865
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 2317
userpassword: mailbox
dn: uid=phunt, ou=People, dc=non-default,dc=com
cn: Philip Hunt
sn: Hunt
givenname: Philip
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: phunt
mail: phunt@non-default.com
telephonenumber: +1 408 555 1242
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 1183
userpassword: wastewater
dn: uid=rschneid, ou=People, dc=non-default,dc=com
cn: Rachel Schneider
sn: Schneider
givenname: Rachel
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: rschneid
mail: rschneid@non-default.com
telephonenumber: +1 408 555 9908
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 4183
userpassword: decorous
dn: uid=bjensen, ou=People, dc=non-default,dc=com
cn: Barbara Jensen
cn: Babs Jensen
sn: Jensen
givenname: Barbara
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: bjensen
mail: bjensen@non-default.com
telephonenumber: +1 408 555 1862
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 0209
userpassword: hifalutin
dn: uid=jlange, ou=People, dc=non-default,dc=com
cn: Jim Lange
sn: Lange
givenname: Jim
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Santa Clara
uid: jlange
mail: jlange@non-default.com
telephonenumber: +1 408 555 0488
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 3798
userpassword: chastity
dn: uid=rulrich, ou=People, dc=non-default,dc=com
cn: Randy Ulrich
sn: Ulrich
givenname: Randy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: rulrich
mail: rulrich@non-default.com
telephonenumber: +1 408 555 5311
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 1282
userpassword: twinkle
dn: uid=rfrancis, ou=People, dc=non-default,dc=com
cn: Richard Francis
sn: Francis
givenname: Richard
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: rfrancis
mail: rfrancis@non-default.com
telephonenumber: +1 408 555 8157
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 3482
userpassword: hacienda
dn: uid=mwhite, ou=People, dc=non-default,dc=com
cn: Morgan White
sn: White
givenname: Morgan
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: mwhite
mail: mwhite@non-default.com
telephonenumber: +1 408 555 9620
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 3088
userpassword: staple
dn: uid=gjensen, ou=People, dc=non-default,dc=com
cn: Gern Jensen
sn: Jensen
givenname: Gern
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: gjensen
mail: gjensen@non-default.com
telephonenumber: +1 408 555 3299
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 4609
userpassword: primitive
dn: uid=awhite, ou=People, dc=non-default,dc=com
cn: Alan White
sn: White
givenname: Alan
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Sunnyvale
uid: awhite
mail: awhite@non-default.com
telephonenumber: +1 408 555 3232
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 0142
userpassword: placeholder
dn: uid=bmaddox, ou=People, dc=non-default,dc=com
cn: Barbara Maddox
sn: Maddox
givenname: Barbara
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: bmaddox
mail: bmaddox@non-default.com
telephonenumber: +1 408 555 7783
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 2207
userpassword: feedback
dn: uid=mtalbot, ou=People, dc=non-default,dc=com
cn: Martin Talbot
sn: Talbot
givenname: Martin
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: mtalbot
mail: mtalbot@non-default.com
telephonenumber: +1 408 555 9228
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 1415
userpassword: currant
dn: uid=jbrown, ou=People, dc=non-default,dc=com
cn: Judy Brown
sn: Brown
givenname: Judy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Santa Clara
uid: jbrown
mail: jbrown@non-default.com
telephonenumber: +1 408 555 6885
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 4224
userpassword: militiamen
dn: uid=jjensen, ou=People, dc=non-default,dc=com
cn: Jody Jensen
sn: Jensen
givenname: Jody
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: jjensen
mail: jjensen@non-default.com
telephonenumber: +1 408 555 7587
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 4882
userpassword: borderland
dn: uid=mcarter, ou=People, dc=non-default,dc=com
cn: Mike Carter
sn: Carter
givenname: Mike
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: mcarter
mail: mcarter@non-default.com
telephonenumber: +1 408 555 1846
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 3819
userpassword: mainland
dn: uid=dakers, ou=People, dc=non-default,dc=com
cn: David Akers
sn: Akers
givenname: David
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: dakers
mail: dakers@non-default.com
telephonenumber: +1 408 555 4812
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 4944
userpassword: integument
dn: uid=sfarmer, ou=People, dc=non-default,dc=com
cn: Scott Farmer
sn: Farmer
givenname: Scott
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: sfarmer
mail: sfarmer@non-default.com
telephonenumber: +1 408 555 4228
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 0019
userpassword: triumphal
dn: uid=dward, ou=People, dc=non-default,dc=com
cn: Daniel Ward
sn: Ward
givenname: Daniel
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Sunnyvale
uid: dward
mail: dward@non-default.com
telephonenumber: +1 408 555 5322
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 3927
userpassword: armload
dn: uid=tward, ou=People, dc=non-default,dc=com
cn: Tobias Ward
sn: Ward
givenname: Tobias
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: tward
mail: tward@non-default.com
telephonenumber: +1 408 555 7202
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 2238
userpassword: cedilla
dn: uid=pshelton, ou=People, dc=non-default,dc=com
cn: Patricia Shelton
sn: Shelton
givenname: Patricia
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Cupertino
uid: pshelton
mail: pshelton@non-default.com
telephonenumber: +1 408 555 6442
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 2918
userpassword: nosedive
dn: uid=jrentz, ou=People, dc=non-default,dc=com
cn: Jody Rentz
sn: Rentz
givenname: Jody
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: jrentz
mail: jrentz@non-default.com
telephonenumber: +1 408 555 5829
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 3025
userpassword: meander
dn: uid=plorig, ou=People, dc=non-default,dc=com
cn: Peter Lorig
sn: Lorig
givenname: Peter
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: plorig
mail: plorig@non-default.com
telephonenumber: +1 408 555 0624
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 1276
userpassword: calorimeter
dn: uid=ajensen, ou=People, dc=non-default,dc=com
cn: Allison Jensen
sn: Jensen
givenname: Allison
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: ajensen
mail: ajensen@non-default.com
telephonenumber: +1 408 555 7892
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 0784
userpassword: coltsfoot
dn: uid=kschmith, ou=People, dc=non-default,dc=com
cn: Kelly Schmith
sn: Schmith
givenname: Kelly
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: kschmith
mail: kschmith@non-default.com
telephonenumber: +1 408 555 9749
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 2221
userpassword: purvey
dn: uid=pworrell, ou=People, dc=non-default,dc=com
cn: Pete Worrell
sn: Worrell
givenname: Pete
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: pworrell
mail: pworrell@non-default.com
telephonenumber: +1 408 555 1637
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 2449
userpassword: solicitous
dn: uid=mreuter, ou=People, dc=non-default,dc=com
cn: Matthew Reuter
sn: Reuter
givenname: Matthew
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: mreuter
mail: mreuter@non-default.com
telephonenumber: +1 408 555 6879
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 1356
userpassword: oblivious
dn: uid=gtyler, ou=People, dc=non-default,dc=com
cn: Gern Tyler
sn: Tyler
givenname: Gern
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: gtyler
mail: gtyler@non-default.com
telephonenumber: +1 408 555 1020
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 0312
userpassword: typology
dn: uid=tschmith, ou=People, dc=non-default,dc=com
cn: Tobias Schmith
sn: Schmith
givenname: Tobias
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: tschmith
mail: tschmith@non-default.com
telephonenumber: +1 408 555 9626
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 4607
userpassword: compost
dn: uid=bjense2, ou=People, dc=non-default,dc=com
cn: Bjorn Jensen
sn: Jensen
givenname: Bjorn
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: bjense2
mail: bjense2@non-default.com
telephonenumber: +1 408 555 5655
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 4294
userpassword: mortgage
dn: uid=dswain, ou=People, dc=non-default,dc=com
cn: Dietrich Swain
sn: Swain
givenname: Dietrich
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Sunnyvale
uid: dswain
mail: dswain@non-default.com
telephonenumber: +1 408 555 9222
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 4396
userpassword: freedom
dn: uid=ahall, ou=People, dc=non-default,dc=com
cn: Andy Hall
sn: Hall
givenname: Andy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: ahall
mail: ahall@non-default.com
telephonenumber: +1 408 555 6169
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 3050
userpassword: slater
dn: uid=jmuffly, ou=People, dc=non-default,dc=com
cn: Jeff Muffly
sn: Muffly
givenname: Jeff
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: jmuffly
mail: jmuffly@non-default.com
telephonenumber: +1 408 555 5287
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 0997
userpassword: dictate
dn: uid=tjensen, ou=People, dc=non-default,dc=com
cn: Ted Jensen
sn: Jensen
givenname: Ted
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: tjensen
mail: tjensen@non-default.com
telephonenumber: +1 408 555 8622
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 4717
userpassword: ecosystem
dn: uid=ahunter, ou=People, dc=non-default,dc=com
cn: Allison Hunter
sn: Hunter
givenname: Allison
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Sunnyvale
uid: ahunter
mail: ahunter@non-default.com
telephonenumber: +1 408 555 7713
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 1213
userpassword: egregious
dn: uid=jgoldste, ou=People, dc=non-default,dc=com
cn: Jon Goldstein
sn: Goldstein
givenname: Jon
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: jgoldste
mail: jgoldste@non-default.com
telephonenumber: +1 408 555 5769
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 1454
userpassword: yellow
dn: uid=aworrell, ou=People, dc=non-default,dc=com
cn: Alan Worrell
sn: Worrell
givenname: Alan
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: aworrell
mail: aworrell@non-default.com
telephonenumber: +1 408 555 1591
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 3966
userpassword: gargoyle
dn: uid=wlutz, ou=People, dc=non-default,dc=com
cn: Wendy Lutz
sn: Lutz
givenname: Wendy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: wlutz
mail: wlutz@non-default.com
telephonenumber: +1 408 555 3358
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 4912
userpassword: bassinet
dn: uid=jlutz, ou=People, dc=non-default,dc=com
cn: Janet Lutz
sn: Lutz
givenname: Janet
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: jlutz
mail: jlutz@non-default.com
telephonenumber: +1 408 555 4902
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 2544
userpassword: autumn
dn: uid=dlangdon, ou=People, dc=non-default,dc=com
cn: Dan Langdon
sn: Langdon
givenname: Dan
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: dlangdon
mail: dlangdon@non-default.com
telephonenumber: +1 408 555 7044
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 3263
userpassword: botulin
dn: uid=aknutson, ou=People, dc=non-default,dc=com
cn: Ashley Knutson
sn: Knutson
givenname: Ashley
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: aknutson
mail: aknutson@non-default.com
telephonenumber: +1 408 555 2169
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 4736
userpassword: maltose
dn: uid=kmcinnis, ou=People, dc=non-default,dc=com
cn: Kelly Mcinnis
sn: Mcinnis
givenname: Kelly
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: kmcinnis
mail: kmcinnis@non-default.com
telephonenumber: +1 408 555 8596
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 4312
userpassword: stargaze
dn: uid=tcouzens, ou=People, dc=non-default,dc=com
cn: Trent Couzens
sn: Couzens
givenname: Trent
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Sunnyvale
uid: tcouzens
mail: tcouzens@non-default.com
telephonenumber: +1 408 555 8401
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 3994
userpassword: tambourine
dn: uid=lstockto, ou=People, dc=non-default,dc=com
cn: Lee Stockton
sn: Stockton
givenname: Lee
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Santa Clara
uid: lstockto
mail: lstockto@non-default.com
telephonenumber: +1 408 555 0518
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 0169
userpassword: brooklyn
dn: uid=jbourke, ou=People, dc=non-default,dc=com
cn: Jon Bourke
sn: Bourke
givenname: Jon
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Cupertino
uid: jbourke
mail: jbourke@non-default.com
telephonenumber: +1 408 555 8541
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 0034
userpassword: brainwash
dn: uid=dlanoway, ou=People, dc=non-default,dc=com
cn: Dan Lanoway
sn: Lanoway
givenname: Dan
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: dlanoway
mail: dlanoway@non-default.com
telephonenumber: +1 408 555 2017
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 3540
userpassword: manhattan
dn: uid=kcope, ou=People, dc=non-default,dc=com
cn: Karl Cope
sn: Cope
givenname: Karl
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: kcope
mail: kcope@non-default.com
telephonenumber: +1 408 555 2709
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 3040
userpassword: forfeiture
dn: uid=abarnes, ou=People, dc=non-default,dc=com
cn: Anne-Louise Barnes
sn: Barnes
givenname: Anne-Louise
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Santa Clara
uid: abarnes
mail: abarnes@non-default.com
telephonenumber: +1 408 555 9445
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 2290
userpassword: chevron
dn: uid=rjensen, ou=People, dc=non-default,dc=com
cn: Richard Jensen
sn: Jensen
givenname: Richard
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: rjensen
mail: rjensen@non-default.com
telephonenumber: +1 408 555 5957
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 2631
userpassword: disciplinarian
dn: uid=phun2, ou=People, dc=non-default,dc=com
cn: Pete Hunt
sn: Hunt
givenname: Pete
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: phun2
mail: phun2@non-default.com
telephonenumber: +1 408 555 0342
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 0087
userpassword: absorb
dn: uid=mvaughan, ou=People, dc=non-default,dc=com
cn: Matthew Vaughan
sn: Vaughan
givenname: Matthew
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Sunnyvale
uid: mvaughan
mail: mvaughan@non-default.com
telephonenumber: +1 408 555 4692
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 4508
userpassword: submitted
dn: uid=jlut2, ou=People, dc=non-default,dc=com
cn: James Lutz
sn: Lutz
givenname: James
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: jlut2
mail: jlut2@non-default.com
telephonenumber: +1 408 555 9689
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 3541
userpassword: shrank
dn: uid=mjablons, ou=People, dc=non-default,dc=com
cn: Morgan Jablonski
sn: Jablonski
givenname: Morgan
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: mjablons
mail: mjablons@non-default.com
telephonenumber: +1 408 555 0813
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 3160
userpassword: minimal
dn: uid=pchassin, ou=People, dc=non-default,dc=com
cn: Peter Chassin
sn: Chassin
givenname: Peter
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Santa Clara
uid: pchassin
mail: pchassin@non-default.com
telephonenumber: +1 408 555 2816
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 4524
userpassword: barbital
dn: uid=dcope, ou=People, dc=non-default,dc=com
cn: Dan Cope
sn: Cope
givenname: Dan
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Sunnyvale
uid: dcope
mail: dcope@non-default.com
telephonenumber: +1 408 555 9813
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 1737
userpassword: snifter
dn: uid=jrent2, ou=People, dc=non-default,dc=com
cn: Judy Rentz
sn: Rentz
givenname: Judy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Santa Clara
uid: jrent2
mail: jrent2@non-default.com
telephonenumber: +1 408 555 2523
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 4405
userpassword: tachistoscope
dn: uid=tcruse, ou=People, dc=non-default,dc=com
cn: Tobias Cruse
sn: Cruse
givenname: Tobias
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: tcruse
mail: tcruse@non-default.com
telephonenumber: +1 408 555 5980
facsimiletelephonenumber: +1 408 555 4774
roomnumber: 4191
userpassword: flinty
dn: uid=eward, ou=People, dc=non-default,dc=com
cn: Eric Ward
sn: Ward
givenname: Eric
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: eward
mail: eward@non-default.com
telephonenumber: +1 408 555 2320
facsimiletelephonenumber: +1 408 555 7472
roomnumber: 4874
userpassword: episcopal
dn: uid=ttully, ou=People, dc=non-default,dc=com
cn: Torrey Tully
sn: Tully
givenname: Torrey
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: ttully
mail: ttully@non-default.com
telephonenumber: +1 408 555 2274
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 3924
userpassword: schooner
dn: uid=charvey, ou=People, dc=non-default,dc=com
cn: Cecil Harvey
sn: Harvey
givenname: Cecil
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: charvey
mail: charvey@non-default.com
telephonenumber: +1 408 555 1815
facsimiletelephonenumber: +1 408 555 3825
roomnumber: 4583
userpassword: journalese
dn: uid=rfisher, ou=People, dc=non-default,dc=com
cn: Randy Fisher
sn: Fisher
givenname: Randy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: rfisher
mail: rfisher@non-default.com
telephonenumber: +1 408 555 1506
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 1579
userpassword: pomegranate
dn: uid=alangdon, ou=People, dc=non-default,dc=com
cn: Andrew Langdon
sn: Langdon
givenname: Andrew
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: alangdon
mail: alangdon@non-default.com
telephonenumber: +1 408 555 8289
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 2254
userpassword: muzzle
dn: uid=drose, ou=People, dc=non-default,dc=com
cn: David Rose
sn: Rose
givenname: David
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Sunnyvale
uid: drose
mail: drose@non-default.com
telephonenumber: +1 408 555 3963
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 4012
userpassword: gubernatorial
dn: uid=polfield, ou=People, dc=non-default,dc=com
cn: Peter Olfield
sn: Olfield
givenname: Peter
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: polfield
mail: polfield@non-default.com
telephonenumber: +1 408 555 8231
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 1376
userpassword: monologue
dn: uid=awalker, ou=People, dc=non-default,dc=com
cn: Andy Walker
sn: Walker
givenname: Andy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Cupertino
uid: awalker
mail: awalker@non-default.com
telephonenumber: +1 408 555 9199
facsimiletelephonenumber: +1 408 555 3372
roomnumber: 0061
userpassword: detonable
dn: uid=lrentz, ou=People, dc=non-default,dc=com
cn: Lex Rentz
sn: Rentz
givenname: Lex
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: lrentz
mail: lrentz@non-default.com
telephonenumber: +1 408 555 2019
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 2203
userpassword: calcium
dn: uid=jvaughan, ou=People, dc=non-default,dc=com
cn: Jeff Vaughan
sn: Vaughan
givenname: Jeff
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: jvaughan
mail: jvaughan@non-default.com
telephonenumber: +1 408 555 4543
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 1734
userpassword: appoint
dn: uid=bfrancis, ou=People, dc=non-default,dc=com
cn: Barbara Francis
sn: Francis
givenname: Barbara
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Santa Clara
uid: bfrancis
mail: bfrancis@non-default.com
telephonenumber: +1 408 555 9111
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 3743
userpassword: holystone
dn: uid=ewalker, ou=People, dc=non-default,dc=com
cn: Eric Walker
sn: Walker
givenname: Eric
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Payroll
ou: People
l: Cupertino
uid: ewalker
mail: ewalker@non-default.com
telephonenumber: +1 408 555 6387
facsimiletelephonenumber: +1 408 555 8721
roomnumber: 2295
userpassword: beguile
dn: uid=tjames, ou=People, dc=non-default,dc=com
cn: Tobias James
sn: James
givenname: Tobias
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: tjames
mail: tjames@non-default.com
telephonenumber: +1 408 555 2458
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 0730
userpassword: turtle
dn: uid=brigden, ou=People, dc=non-default,dc=com
cn: Bjorn Rigden
sn: Rigden
givenname: Bjorn
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Sunnyvale
uid: brigden
mail: brigden@non-default.com
telephonenumber: +1 408 555 5263
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 1643
userpassword: purple
dn: uid=ecruse, ou=People, dc=non-default,dc=com
cn: Eric Cruse
sn: Cruse
givenname: Eric
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Santa Clara
uid: ecruse
mail: ecruse@non-default.com
telephonenumber: +1 408 555 0648
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 4233
userpassword: platelet
dn: uid=rjense2, ou=People, dc=non-default,dc=com
cn: Randy Jensen
sn: Jensen
givenname: Randy
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Sunnyvale
uid: rjense2
mail: rjense2@non-default.com
telephonenumber: +1 408 555 9045
facsimiletelephonenumber: +1 408 555 1992
roomnumber: 1984
userpassword: transpose
dn: uid=rhunt, ou=People, dc=non-default,dc=com
cn: Richard Hunt
sn: Hunt
givenname: Richard
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Accounting
ou: People
l: Santa Clara
uid: rhunt
mail: rhunt@non-default.com
telephonenumber: +1 408 555 0139
facsimiletelephonenumber: +1 408 555 8473
roomnumber: 0718
userpassword: becloud
dn: uid=bparker, ou=People, dc=non-default,dc=com
cn: Barry Parker
sn: Parker
givenname: Barry
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Sunnyvale
uid: bparker
mail: bparker@non-default.com
telephonenumber: +1 408 555 4647
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 1148
userpassword: lenticular
dn: uid=ealexand, ou=People, dc=non-default,dc=com
cn: Erin Alexander
sn: Alexander
givenname: Erin
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Santa Clara
uid: ealexand
mail: ealexand@non-default.com
telephonenumber: +1 408 555 5563
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 2434
userpassword: galactose
dn: uid=mtyler, ou=People, dc=non-default,dc=com
cn: Matthew Tyler
sn: Tyler
givenname: Matthew
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Human Resources
ou: People
l: Cupertino
uid: mtyler
mail: mtyler@non-default.com
telephonenumber: +1 408 555 7907
facsimiletelephonenumber: +1 408 555 4661
roomnumber: 2701
userpassword: instantiate
dn: uid=elott, ou=People, dc=non-default,dc=com
cn: Emanuel Lott
sn: Lott
givenname: Emanuel
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Testing
ou: People
l: Santa Clara
uid: elott
mail: elott@non-default.com
telephonenumber: +1 408 555 0932
facsimiletelephonenumber: +1 408 555 9751
roomnumber: 3906
userpassword: holdout
dn: uid=cnewport, ou=People, dc=non-default,dc=com
cn: Christoph Newport
sn: Newport
givenname: Christoph
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Sunnyvale
uid: cnewport
mail: cnewport@non-default.com
telephonenumber: +1 408 555 0066
facsimiletelephonenumber: +1 408 555 9332
roomnumber: 0056
userpassword: expertise
dn: uid=jvedder, ou=People, dc=non-default,dc=com
cn: Jeff Vedder
sn: Vedder
givenname: Jeff
objectclass: top
objectclass: person
objectclass: organizationalPerson
objectclass: inetOrgPerson
ou: Product Development
ou: People
l: Santa Clara
uid: jvedder
mail: jvedder@non-default.com
telephonenumber: +1 408 555 4668
facsimiletelephonenumber: +1 408 555 0111
roomnumber: 3445
userpassword: befitting
dn: cn=Accounting Managers,ou=groups,dc=non-default,dc=com
objectclass: top
objectclass: groupOfUniqueNames
cn: Accounting Managers
ou: groups
uniquemember: uid=scarter, ou=People, dc=non-default,dc=com
uniquemember: uid=tmorris, ou=People, dc=non-default,dc=com
description: People who can manage accounting entries
dn: cn=HR Managers,ou=groups,dc=non-default,dc=com
objectclass: top
objectclass: groupOfUniqueNames
cn: HR Managers
ou: groups
uniquemember: uid=kvaughan, ou=People, dc=non-default,dc=com
uniquemember: uid=cschmith, ou=People, dc=non-default,dc=com
description: People who can manage HR entries
dn: cn=QA Managers,ou=groups,dc=non-default,dc=com
objectclass: top
objectclass: groupOfUniqueNames
cn: QA Managers
ou: groups
uniquemember: uid=abergin, ou=People, dc=non-default,dc=com
uniquemember: uid=jwalker, ou=People, dc=non-default,dc=com
description: People who can manage QA entries
dn: cn=PD Managers,ou=groups,dc=non-default,dc=com
objectclass: top
objectclass: groupOfUniqueNames
cn: PD Managers
ou: groups
uniquemember: uid=kwinters, ou=People, dc=non-default,dc=com
uniquemember: uid=trigden, ou=People, dc=non-default,dc=com
description: People who can manage engineer entries
dn: ou=Company Servers,dc=non-default,dc=com
objectclass: top
objectclass: organizationalUnit
ou: Company Servers
description: Standard branch for Company Server registration
opends/tests/staf-tests/functional-tests/testcases/backends/backends.xml
@@ -54,12 +54,45 @@
            suiteList = []
            suiteList.append('import')
            suiteList.append('import-tasks')
            suiteList.append('export')
            suiteList.append('export-tasks')
          </script>
          <!-- Run the test suites -->
          <iterate  var="_suite" in="suiteList">
            <sequence>
              <try>
                <sequence>
                  <import machine="STAF_LOCAL_HOSTNAME"
                    file="'%s/testcases/backends/%s/%s.xml' % (TESTS_DIR,_suite,_suite)"/>
                  <call function="'main_%s' % _suite" />
                </sequence>
              <catch exception="'STAFException.TestSuite.SetupException'">
                <sequence>
                  <message log="1" level="'fatal'">'Setup of test suite %s failed.' % _suite</message>
                </sequence>
              </catch>
              <catch exception="'STAFException.TestSuite.MainException'">
                <sequence>
                  <message log="1" level="'fatal'">'Main part of test suite %s failed.' % _suite</message>
                </sequence>
              </catch>
              <catch exception="'STAFException.TestSuite.CleanupException'">
                <sequence>
                  <message log="1" level="'fatal'">'Cleanup of test suite %s failed.' % _suite</message>
                </sequence>
              </catch>
              </try>
            </sequence>
          </iterate>
          <!-- List of backends test suites to run -->
          <script>
            suiteList = []
            suiteList.append('backup')
            suiteList.append('backup-tasks')
            suiteList.append('restore')
            suiteList.append('restore-tasks')
            suiteList.append('export')
            suiteList.append('export-tasks')
          </script>
          <!-- Run the test suites -->
@@ -89,7 +122,7 @@
              </try>
            </sequence>
          </iterate>
        </sequence>
      </block>
      <catch exception="'STAXException.TestGroupException'">
opends/tests/staf-tests/functional-tests/testcases/backends/export-tasks/export-tasks.xml
New file
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_export-tasks"/>
  <function name="main_export-tasks" scope="local">
    <sequence>
      <block name="'main_export-tasks'">
        <try>
          <sequence>
            <script>
              CurrentTestPath['group']='backends'
              CurrentTestPath['suite']='export-tasks'
              __group=CurrentTestPath['group']
              __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
            </script>
            <!--- Test Suite information
            #@TestSuiteName       Backend Import Tests
            #@TestSuitePurpose    Verify that the basic export task functionality is working in the Directory Server.
            #@TestSuiteID         Export Task Tests
            #@TestSuiteGroup      Export Task
            #@TestGroup           Backend
            #@TestScript          export.xml
            #@TestHTMLLink        http://opends.dev.java.net/
            -->
            <call function="'testSuite_Preamble'"/>
            <try>
              <sequence>
                <call function="'common_setup'">
                  {
                    'quickStart'  : False ,
                    'startServer' : True ,
                    'loadData'    : False ,
                    'stopServer'  : False
                  }
                </call>
                <!-- List of Import of Test Functions -->
                <script>
                  exportList=[]
                  exportList.append('export-tasks/export-tasks_tests')
                </script>
                <!-- Import the files for this test suite -->
                <iterate var="__export" in="exportList">
                  <import machine="STAF_LOCAL_HOSTNAME"
                    file="'%s/%s.xml' % (__groupdir,__export)"/>
                </iterate>
                <!-- List of Test Cases -->
                <script>
                  testsList=[]
                  testsList.append('backends_export_tasks_001')
                </script>
                <!-- Execute the Tests -->
                <iterate var="__test" in="testsList">
                  <sequence>
                    <call function="'%s' % (__test)" />
                  </sequence>
                </iterate>
              </sequence>
            <catch exception="'STAFException.TestSuite.SetupException'">
              <sequence>
                <message log="1" level="'fatal'">
                  'Setup of test suite failed.'
                </message>
                <rethrow/>
              </sequence>
            </catch>
            <finally>
              <message>'Test Cases Completed.'</message>
            </finally>
            </try>
          </sequence>
          <finally>
            <sequence>
              <!-- Test Suite Cleanup -->
              <message>'Finally: Global Schema Cleanup.'</message>
              <try>
                <call function="'common_cleanup'" />
              <catch exception="'STAFException'">
                <sequence>
                  <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
                </sequence>
              </catch>
              <finally>
                <call function="'testSuite_Postamble'"/>
              </finally>
              </try>
            </sequence>
          </finally>
        </try>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/export-tasks/export-tasks_tests.xml
New file
@@ -0,0 +1,357 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, exclude this CDDL HEADER in each
 ! file and exclude the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Export Tasks 1
    #@TestID              ExportTasks1
    #@TestPurpose         Verify an export task of a LDIF file on the default backend.
    #@TestPreamble
    #@TestSteps           An ldif file is created that describes the export task to be
                          scheduled. The task is scheduled by adding the ldif file
                          with the static ldapmodify.
    #@TestPostamble
    #@TestResult          Success if OpenDS returns 0
  -->
  <function name="backends_export_tasks_001" scope="local">
    <testcase name="getTestCaseName('LDIF Default')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend ExportTasks1: Export the data in OpenDS by scheduling a task'
          </message>
          <call function="'exportLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : '1',
              'ldifFile'       : '%s/backends/ExportTasks1.ldif' % remote.data
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: LDIF Default
    #@TestID              LDIF Default
    #@TestPurpose         Verify an export task of a LDIF file on the default backend.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: LDIF Non Default
    #@TestID              LDIF Non Default
    #@TestPurpose         Verify an export task of a LDIF file on a differrent backend to the default.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Include Branch
    #@TestID              Fractional Include Branch
    #@TestPurpose         Verify an export task of a LDIF file specifying a branch that should be included in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Include Branches
    #@TestID              Fractional Include Branches
    #@TestPurpose         Verify an export task of a LDIF file specifying multiple branches that should be included in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Exclude Branch
    #@TestID              Fractional Exclude Branch
    #@TestPurpose         Verify an export task of a LDIF file specifying a branch that should be excluded in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Exclude Branches
    #@TestID              Fractional Exclude Branches
    #@TestPurpose         Verify an export task of a LDIF file specifying multiple branches that should be excluded in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Branches Mix
    #@TestID              Fractional Branches Mix
    #@TestPurpose         Verify an export task of a LDIF file specifying a mix of include and exclude branches.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Include Attribute
    #@TestID              Fractional Include Attribute
    #@TestPurpose         Verify an export task of a LDIF file specifying an attribute that should be included in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Include Attributes
    #@TestID              Fractional Include Attributes
    #@TestPurpose         Verify an export task of a LDIF file specifying multiple attributes that should be included in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Exclude Attribute
    #@TestID              Fractional Exclude Attribute
    #@TestPurpose         Verify an export task of a LDIF file specifying an attribute that should be excluded in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Exclude Attributes
    #@TestID              Fractional Exclude Attributes
    #@TestPurpose         Verify an export task of a LDIF file specifying multiple attribute that should be excluded in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Mix
    #@TestID              Fractional Mix
    #@TestPurpose         Verify an export task of a LDIF file specifying a mix of fractional attributes and branches.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Filtered Include
    #@TestID              Filtered Include
    #@TestPurpose         Verify an export task of a LDIF file specifying a search filter control which entries are included in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Filtered Includes
    #@TestID              Filtered Includes
    #@TestPurpose         Verify an export task of a LDIF file specifying a search filter control which entries are included in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Filtered Excludes
    #@TestID              Filtered Excludes
    #@TestPurpose         Verify an export task of a LDIF file specifying multiple search filters control which entries are excluded in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Filtered Includes
    #@TestID              Filtered Includes
    #@TestPurpose         Verify an export task of a LDIF file specifying multiple search filters control which entries are included in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Filtered Excludes Complex
    #@TestID              Filtered Excludes Complex
    #@TestPurpose         Verify an export task of a LDIF file specifying complex search filters control which entries are excluded in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Filtered Excludes Complex
    #@TestID              Filtered Excludes Complex
    #@TestPurpose         Verify an export task of a LDIF file specifying complex search filters control which entries are excluded in the export task.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Fractional Filtered Mix
    #@TestID              Fractional Filtered Mix
    #@TestPurpose         Verify an export task of a LDIF file specifying a mix of fractional and filtered.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Append To LDIF
    #@TestID              Append To LDIF
    #@TestPurpose         Verify an export task of a LDIF file specifying that the export task process should append to the existing LDIF file.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Compress LDIF
    #@TestID              Compress LDIF
    #@TestPurpose         Verify an export task where the LDIF file is compressed.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Encrypt LDIF
    #@TestID              Encrypt LDIF
    #@TestPurpose         Verify an export task where the LDIF file is encrypted.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Hash Signed LDIF
    #@TestID              Hash Signed LDIF
    #@TestPurpose         Verify an export task where the LDIF file is hashed/signed.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Wrap Column
    #@TestID              Wrap Column
    #@TestPurpose         Verify an export task of a LDIF file containing wrapped columns
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <!--- Test Case information
    #@TestMarker          Backend Export Tasks Tests
    #@TestName            Export Tasks: Error Codes
    #@TestID              Error Codes
    #@TestPurpose         Verify an export task fails with an error code.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/export/export.xml
New file
@@ -0,0 +1,164 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_export"/>
  <function name="main_export" scope="local">
    <sequence>
      <block name="'main_export'">
        <try>
          <sequence>
            <script>
              CurrentTestPath['group']='backends'
              CurrentTestPath['suite']='export'
              __group=CurrentTestPath['group']
              __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
            </script>
            <!--- Test Suite information
            #@TestSuiteName       Backend Export Tests
            #@TestSuitePurpose    Verify that the basic export functionality is working in the Directory Server.
            #@TestSuiteID         Export Tests
            #@TestSuiteGroup      Export
            #@TestGroup           Backend
            #@TestScript          export.xml
            #@TestHTMLLink        http://opends.dev.java.net/
            -->
            <call function="'testSuite_Preamble'"/>
            <try>
              <sequence>
                <call function="'common_setup'">
                  {
                    'quickStart'  : True ,
                    'startServer' : False ,
                    'loadData'    : False ,
                    'stopServer'  : False ,
                  }
                </call>
                <script>
                  DsInstancePort = int(DIRECTORY_INSTANCE_PORT)+1
                  DsInstanceAdminPort = int(DIRECTORY_INSTANCE_ADMIN_PORT)+1
                  DsInstanceDir = '%s/server2' % DIRECTORY_INSTANCE_DIR
                </script>
                <!-- List of Import of Test Functions -->
                <script>
                  exportList=[]
                  exportList.append('export/export_tests')
                </script>
                <!-- Import the files for this test suite -->
                <iterate var="__export" in="exportList">
                  <import machine="STAF_LOCAL_HOSTNAME"
                    file="'%s/%s.xml' % (__groupdir,__export)"/>
                </iterate>
                <!-- List of Test Cases -->
                <script>
                  testsList=[]
                  testsList.append('backends_export_001')
                  testsList.append('backends_export_002')
                  testsList.append('backends_export_003')
                  testsList.append('backends_export_004')
                  testsList.append('backends_export_005')
                  testsList.append('backends_export_006')
                  testsList.append('backends_export_007')
                  testsList.append('backends_export_008')
                  testsList.append('backends_export_009')
                  testsList.append('backends_export_010')
                  testsList.append('backends_export_011')
                  testsList.append('backends_export_012')
                  testsList.append('backends_export_013')
                  testsList.append('backends_export_014')
                  testsList.append('backends_export_015')
                  testsList.append('backends_export_016')
                  testsList.append('backends_export_017')
                  testsList.append('backends_export_018')
                  testsList.append('backends_export_019')
                  testsList.append('backends_export_020')
                  testsList.append('backends_export_021')
                  testsList.append('backends_export_022')
                  testsList.append('backends_export_023')
                  testsList.append('backends_export_024')
                  testsList.append('backends_export_025')
                  testsList.append('backends_export_026')
                </script>
                <!-- Execute the Tests -->
                <iterate var="__test" in="testsList">
                  <sequence>
                    <call function="'%s' % (__test)" />
                  </sequence>
                </iterate>
              </sequence>
            <catch exception="'STAFException.TestSuite.SetupException'">
              <sequence>
                <message log="1" level="'fatal'">
                  'Setup of test suite failed.'
                </message>
                <rethrow/>
              </sequence>
            </catch>
            <finally>
              <message>'Test Cases Completed.'</message>
            </finally>
            </try>
          </sequence>
          <finally>
            <sequence>
              <!-- Test Suite Cleanup -->
              <message>'Finally: Global Schema Cleanup.'</message>
              <try>
                <call function="'common_cleanup'" />
              <catch exception="'STAFException'">
                <sequence>
                  <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
                </sequence>
              </catch>
              <finally>
                <call function="'testSuite_Postamble'"/>
              </finally>
              </try>
            </sequence>
          </finally>
        </try>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/export/export_tests.xml
New file
@@ -0,0 +1,2151 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <!--- Test Case information
  #@TestMarker          Backend Import Tests
  #@TestName            Backend: Import: Create Second Instance
  #@TestID              Create second instance
  #@TestPurpose         Create second instance of OpenDS to verify export
  #@TestPreamble
  #@TestSteps
  #@TestPostamble
  #@TestResult
  -->
  <function name="backends_export_001" scope="local">
    <testcase name="getTestCaseName('Create Second Instance')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <!-- Create a second instance to import data that was exported from the first instance -->
          <message>
            'Creating another instance for verifing the exports'
          </message>
          <call function="'createInstance'">
            { 'dsHost'      : '%s' % DIRECTORY_INSTANCE_HOST,
              'dsDir'       : DsInstanceDir,
              'dsPort'      : DsInstancePort,
              'dsAdminPort' : DsInstanceAdminPort,
              'dsBindDN'    : '%s' % DIRECTORY_INSTANCE_DN,
              'dsBindPwd'   : '%s' % DIRECTORY_INSTANCE_PSWD,
              'dsBaseDN'    : '%s' % DIRECTORY_INSTANCE_SFX
            }
          </call>
          <!-- Start second server -->
          <call function="'StartDsWithScript'">
            {'dsPath'    : '%s/%s' % (DsInstanceDir, OPENDSNAME)}
          </call>
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <!-- Create a second backend -->
          <script>
            options=[]
            options.append('--backend-name "nonDefault"')
            options.append('--set base-dn:"dc=non-default,dc=com"')
            options.append('--set enabled:true')
            options.append('--set writability-mode:enabled')
            options.append('-t local-db')
            createBackendOptions=' '.join(options)
          </script>
          <call function="'dsconfig'">
            { 'dsPath'              : '%s/%s' % (DsInstanceDir,OPENDSNAME),
              'dsInstanceHost'      : DIRECTORY_INSTANCE_HOST,
              'dsInstanceAdminPort' : DsInstanceAdminPort,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD,
              'subcommand'          : 'create-backend',
              'optionsString'       : createBackendOptions
            }
          </call>
          <!-- Stop second server -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: LDIF Default
        #@TestID              LDIF Default
        #@TestPurpose         Verify an export of a LDIF file on the default backend.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_002" scope="local">
    <testcase name="getTestCaseName('LDIF Default')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <message>
            'Backend: Export: Export default backend'
          </message>
          <call function="'exportLdif'">
            {
              'ldifFile' : '%s/backends/Export_default.ldif' % remote.data,
              'backEnd'  : '%s' % DIRECTORY_INSTANCE_BE
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_default.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            {'dsPath'    : '%s/%s' % (DsInstanceDir, OPENDSNAME)}
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'      : DsInstancePort,
              'dsAdminPort' : DsInstanceAdminPort,
              'startDS'     : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: LDIF Non Default
        #@TestID              LDIF Non Default
        #@TestPurpose         Verify an export of a LDIF file on a differrent backend to the default.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              non-default backend, and ldifFile
        #@TestPostamble
        #@TestResult          Success if Success if exportLDIF, importLDIF returns 0
  -->
  <function name="backends_export_003" scope="local">
    <testcase name="getTestCaseName('LDIF Non Default')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export non-default backend'
          </message>
          <call function="'StartDsWithScript'"/>
          <script>
            options=[]
            options.append('--backend-name "nonDefault"')
            options.append('--set base-dn:"dc=non-default,dc=com"')
            options.append('--set enabled:true')
            options.append('--set writability-mode:enabled')
            options.append('-t local-db')
            createBackendOptions=' '.join(options)
          </script>
          <call function="'dsconfig'">
            { 'subcommand'     : 'create-backend',
              'optionsString'  : createBackendOptions
            }
          </call>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/nonDefault.ldif' % remote.data,
              'backEnd'        : 'nonDefault'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=non-default,dc=com',
                                   'uid=dmiller, ou=People, dc=non-default,dc=com',
                                   'uid=rhunt, ou=People, dc=non-default,dc=com'],
               'startDS'        : 'no'
             }
          </call>
          <call function="'StopDsWithScript'"/>
          <call function="'exportLdif'">
            { 'ldifFile' : '%s/backends/Export_nonDefault.ldif' % remote.data,
              'backEnd'  : 'nonDefault'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_nonDefault.ldif' % remote.data,
              'dsBackEnd'   : 'nonDefault' ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            {'dsPath'    : '%s/%s' % (DsInstanceDir, OPENDSNAME)}
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=non-default,dc=com',
                                   'uid=dmiller, ou=People, dc=non-default,dc=com',
                                   'uid=rhunt, ou=People, dc=non-default,dc=com'],
              'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'      : DsInstancePort,
              'dsAdminPort' : DsInstanceAdminPort,
              'startDS'     : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsAdminPort' : DsInstanceAdminPort,
              'dsBindDN'    : mydn,
              'dsBindPwd'   : mypswd
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Include Branch
        #@TestID              Fractional Include Branch
        #@TestPurpose         Verify an export of a LDIF file specifying a branch that should be included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and -b option. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_004" scope="local">
    <testcase name="getTestCaseName('Fractional Include Branch')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Include Branch'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_IncludeBranch.ldif' % remote.data,
              'extraParams' : '-b "dc=com"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_IncludeBranch.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'      : DsInstancePort,
              'dsAdminPort' : DsInstanceAdminPort,
              'startDS'     : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Include Branches
        #@TestID              Fractional Include Branches
        #@TestPurpose         Verify an export of a LDIF file specifying multiple branches that should be included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and two -b options. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_005" scope="local">
    <testcase name="getTestCaseName('Fractional Include Branches')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Include Branches'
          </message>
          <call function="'exportLdif'">
            {
              'ldifFile'       : '%s/backends/Export_IncludeBranches.ldif' % remote.data,
              'extraParams'    : '-b "dc=com" -b "dc=example,dc=com"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_IncludeBranches.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Exclude Branch
        #@TestID              Fractional Exclude Branch
        #@TestPurpose         Verify an export of a LDIF file specifying a branch that should be excluded in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and -B option. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_006" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Branch')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Exclude Branch'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_ExcludeBranch.ldif' % remote.data,
              'extraParams' : '-B "dc=example,dc=com"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_ExcludeBranch.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'missingEntries'  :  ['uid=tmorris,ou=People,dc=example,dc=com',
                                    'uid=kvaughan,ou=People,dc=example,dc=com'],
              'expectedEntries' : ['dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Exclude Branches
        #@TestID              Fractional Exclude Branches
        #@TestPurpose         Verify an export of a LDIF file specifying multiple branches that should be excluded in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and two -B options. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_007" scope="local">
    <testcase name="getTestCaseName('Export Fractional Exclude Branches')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Exclude Branches'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_ExcludeBranches.ldif' % remote.data,
              'extraParams' : '-B "ou=People,dc=example,dc=com" -B "dc=example,dc=com"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_ExcludeBranches.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'missingEntries'  :  ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com'],
              'expectedEntries' : ['dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Branches Mix
        #@TestID              Fractional Branches Mix
        #@TestPurpose         Verify an export of a LDIF file specifying a mix of include and exclude branches.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, both -b and -B options. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_008" scope="local">
    <testcase name="getTestCaseName('Export Fractional Branches Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Branches Mix'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_MixBranches.ldif' % remote.data,
              'extraParams' : '-b "dc=com" -B "ou=People,dc=example,dc=com"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_MixBranches.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'missingEntries'  : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com'],
              'expectedEntries' : ['dc=com','dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'}
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Include Attribute
        #@TestID              Fractional Include Attribute
        #@TestPurpose         Verify an export of a LDIF file specifying an attribute that should be included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and -i option. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_009" scope="local">
    <testcase name="getTestCaseName('Export Fractional Include Attribute')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Include Attribute'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'       : '%s/backends/Export_IncludeAttr.ldif' % remote.data,
              'extraParams'    : '-i dc'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_IncludeAttr.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=com','dc=example,dc=com'],
              'missingEntries'  : ['ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Include Attributes
        #@TestID              Fractional Include Attributes
        #@TestPurpose         Verify an export of a LDIF file specifying multiple attributes that should be included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and five -i options. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_010" scope="local">
    <testcase name="getTestCaseName('Export Fractional Include Attributes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Include Attributes'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_IncludeAttrs.ldif' % remote.data,
              'extraParams' : '-i dc -i cn -i ou -i sn -i uid'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_IncludeAttrs.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=tmorris,ou=People,dc=example,dc=com',
                                     'uid=kvaughan,ou=People,dc=example,dc=com',
                                     'uid=kwinters,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword'],
              'dsPath'            : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'            : DsInstancePort,
              'dsAdminPort'       : DsInstanceAdminPort,
              'startDS'           : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Exclude Attribute
        #@TestID              Fractional Exclude Attribute
        #@TestPurpose         Verify an export of a LDIF file specifying an attribute that should be excluded in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and -e option. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_011" scope="local">
    <testcase name="getTestCaseName('Export Fractional Exclude Attribute')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Exclude Attribute'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_ExcludeAttr.ldif' % remote.data,
              'extraParams' : '-e userpassword'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_ExcludeAttr.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=tmorris,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword'],
              'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'      : DsInstancePort,
              'dsAdminPort' : DsInstanceAdminPort,
              'startDS'     : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Exclude Attributes
        #@TestID              Fractional Exclude Attributes
        #@TestPurpose         Verify an export of a LDIF file specifying multiple attribute that should be excluded in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and three -e options. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_012" scope="local">
    <testcase name="getTestCaseName('Export Fractional Exclude Attributes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Exclude Attributes'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_ExcludeAttrs.ldif' % remote.data,
              'extraParams' : '-e userpassword -e mail -e roomnumber'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_ExcludeAttrs.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=tmorris,ou=People,dc=example,dc=com',
                                     'uid=kvaughan,ou=People,dc=example,dc=com',
                                     'uid=kwinters,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword','mail','roomnumber'],
              'dsPath'            : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'            : DsInstancePort,
              'dsAdminPort'       : DsInstanceAdminPort,
              'startDS'           : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Mix
        #@TestID              Fractional Mix
        #@TestPurpose         Verify an export of a LDIF file specifying a mix of fractional attributes and branches.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and mixed -i, -b, and -B options. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_013" scope="local">
    <testcase name="getTestCaseName('Export Fractional Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Mix'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FractionalMix.ldif' % remote.data,
              'extraParams' : '-i dc -i cn -i ou -i sn -i uid -b "dc=com" -b "dc=example,dc=com" -b "ou=People,dc=example,dc=com" -B "ou=Departed,ou=People,dc=example,dc=com"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FractionalMix.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=tmorris,ou=People,dc=example,dc=com',
                                     'uid=kvaughan,ou=People,dc=example,dc=com',
                                     'uid=kwinters,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword'],
              'dsPath'            : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'            : DsInstancePort,
              'dsAdminPort'       : DsInstanceAdminPort,
              'startDS'           : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Filtered Include
        #@TestID              Filtered Include
        #@TestPurpose         Verify an export of a LDIF file specifying a search filter control which entries are included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and -I option. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_014" scope="local">
    <testcase name="getTestCaseName('Export Filtered Include')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Filtered Include'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredInclude.ldif' % remote.data,
              'extraParams' : '-I "objectclass=*"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredInclude.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Filtered Includes
        #@TestID              Filtered Includes
        #@TestPurpose         Verify an export of a LDIF file specifying a search filter control which entries are included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and two -I options. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_015" scope="local">
    <testcase name="getTestCaseName('Export Filtered Includes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Filtered Includes'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredIncludes.ldif' % remote.data,
              'extraParams' : '-I "objectclass=domain" -I "objectclass=organizationalunit"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredIncludes.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com', 'dc=com'],
              'missingEntries'  : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'}
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Filtered Exclude
        #@TestID              Filtered Exclude
        #@TestPurpose         Verify an export of a LDIF file specifying search filter control which entries are excluded in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, an ldifFile, and -E option. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_016" scope="local">
    <testcase name="getTestCaseName('Export Filtered Exclude')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Filtered Exclude'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredExclude.ldif' % remote.data,
              'extraParams' : '-E "objectclass=person"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredExclude.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com',
                                   'ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'      : DsInstancePort,
              'dsAdminPort' : DsInstanceAdminPort,
              'startDS'     : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Filtered Excludes
        #@TestID              Filtered Excludes
        #@TestPurpose         Verify an export of a LDIF file specifying multiple search filters control which entries are excluded in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_017" scope="local">
    <testcase name="getTestCaseName('Export Filtered Excludes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Filtered Excludes'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredExcludes.ldif' % remote.data,
              'extraParams' : '-E "objectclass=person" -E "objectclass=organizationalunit"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredExcludes.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com',
                                   'dc=com'],
              'missingEntries'  : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Filtered Includes
        #@TestID              Filtered Includes
        #@TestPurpose         Verify an export of a LDIF file specifying multiple search filters control which entries are included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_018" scope="local">
    <testcase name="getTestCaseName('Export Filtered Includes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Filtered Includes'
          </message>
          <call function="'exportLdif'">
            {
              'ldifFile'       : '%s/backends/Export_FilteredIncludes.ldif' % remote.data,
              'extraParams'    : '-I "objectclass=domain" -I "objectclass=organizationalunit"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredIncludes.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com',
                                   'ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'      : DsInstancePort,
              'dsAdminPort' : DsInstanceAdminPort,
              'startDS'     : 'no'}
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Filtered Includes Complex
        #@TestID              Filtered Includes Complex
        #@TestPurpose         Verify an export of a LDIF file specifying complex search filters control which entries are included in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_019" scope="local">
    <testcase name="getTestCaseName('Export Filtered Includes Complex')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Filtered Includes Complex'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredComplexIncludes.ldif' % remote.data,
              'extraParams' : '-I "|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredComplexIncludes.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
           <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Filtered Excludes Complex
        #@TestID              Filtered Excludes Complex
        #@TestPurpose         Verify an export of a LDIF file specifying complex search filters control which entries are excluded in the export.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_020" scope="local">
    <testcase name="getTestCaseName('Export Filtered Excludes Complex')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Filtered Excludes Complex'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredComplexExcludes.ldif' % remote.data,
              'extraParams' : '-E "&amp;(objectclass=person)(ou=Departed)"'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredComplexExcludes.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Fractional Filtered Mix
        #@TestID              Fractional Filtered Mix
        #@TestPurpose         Verify an export of a LDIF file specifying a mix of fractional and filtered.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_021" scope="local">
    <testcase name="getTestCaseName('Export Fractional Filtered Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Fractional Filtered Mix'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredMix.ldif' % remote.data,
              'extraParams' : '-E "&amp;(objectclass=person)(ou=Departed)" -b "dc=com" -e userpassword'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/Export_FilteredMix.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Append To LDIF
        #@TestID              Append To LDIF
        #@TestPurpose         Verify an export of a LDIF file specifying that the export process should append to the existing LDIF file.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_022" scope="local">
    <testcase name="getTestCaseName('Export Append To LDIF')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Append To LDIF'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/Export_FilteredMix.ldif' % remote.data,
              'extraParams' : '-a'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile'  : '%s/backends/Export_FilteredMix.ldif' % remote.data,
              'dsAppend'    : 'True' ,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Compress LDIF
        #@TestID              Compress LDIF
        #@TestPurpose         Verify an export where the LDIF file is compressed.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_023" scope="local">
    <testcase name="getTestCaseName('Export Compress LDIF')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Compress LDIF'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/ExportCompressed.ldif' % remote.data,
              'extraParams' : '-c'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile'      : '%s/backends/ExportCompressed.ldif' % remote.data,
              'dsIsCompressed'  : 'True' ,
              'dsBackEnd'       : DIRECTORY_INSTANCE_BE ,
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Encrypt LDIF
        #@TestID              Encrypt LDIF
        #@TestPurpose         Verify an export where the LDIF file is encrypted.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_024" scope="local">
    <testcase name="getTestCaseName('Export Encrypt LDIF')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Encrypt LDIF'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/ExportEncrypted.ldif' % remote.data,
              'extraParams' : '-y'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile'    : '%s/backends/ExportEncrypted.ldif' % remote.data,
              'dsIsEncrypted' : 'True' ,
              'dsBackEnd'     : DIRECTORY_INSTANCE_BE ,
              'dsPath'        : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Export: Hash Signed LDIF
        #@TestID              Hash Signed LDIF
        #@TestPurpose         Verify an export where the LDIF file is hashed/signed.
        #@TestPreamble
        #@TestSteps
        #@TestPostamble
        #@TestResult
  -->
  <function name="backends_export_025" scope="local">
    <testcase name="getTestCaseName('Hash Signed LDIF')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Hash Signed LDIF'
          </message>
          <!-- Known issue -->
          <call function="'checktestRC'">
            { 'returncode' : 1 ,
              'expected'   : 0 ,
              'result'     : 'Hash Signed LDIF export is not implemented',
              'issue'      : '839'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Wrap Column
        #@TestID              Wrap Column
        #@TestPurpose         Verify an export of a LDIF file containing wrapped columns
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
  <function name="backends_export_026" scope="local">
    <testcase name="getTestCaseName('Export Wrap Column')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Backend: Export: Export Wrap Column'
          </message>
          <call function="'exportLdif'">
            { 'ldifFile'    : '%s/backends/ExportWrapCol.ldif' % remote.data,
              'extraParams' : '--wrapColumn 25'
            }
          </call>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile' : '%s/backends/ExportWrapCol.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE ,
              'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME)
            }
          </call>
          <!-- StartDS -->
          <call function="'StartDsWithScript'">
            { 'dsPath'   : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
          <!-- Wait for DS to start -->
          <call function="'isAlive'">
            { 'noOfLoops'        : 10 ,
              'noOfMilliSeconds' : 2000,
              'dsPath'           : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsInstancePort'   : DsInstancePort
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=tmorris,ou=People,dc=example,dc=com',
                                   'uid=kvaughan,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'dsPath'          : '%s/%s' % (DsInstanceDir, OPENDSNAME),
              'dsPort'          : DsInstancePort,
              'dsAdminPort'     : DsInstanceAdminPort,
              'startDS'         : 'no'
            }
          </call>
          <!-- StopDS -->
          <call function="'StopDsWithScript'">
            { 'dsPath'      : '%s/%s' % (DsInstanceDir, OPENDSNAME) }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
        #@TestMarker          Backend Export Tests
        #@TestName            Backend: Export: Error Codes
        #@TestID              Error Codes
        #@TestPurpose         Verify an export fails with an error code.
        #@TestPreamble
        #@TestSteps           Client calls exportLDIF with the parameters
                              default backend, and ldifFile. Import the ldifFile to
                              a second instance, then do a search to verify the import.
        #@TestPostamble
        #@TestResult          Success if exportLDIF, importLDIF, and checkImport returns 0
  -->
   <!-- Need to know what the error codes are -->
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks/import-tasks.xml
New file
@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_import-tasks"/>
  <function name="main_import-tasks" scope="local">
    <sequence>
      <block name="'main_import-tasks'">
        <try>
          <sequence>
            <script>
              CurrentTestPath['group']='backends'
              CurrentTestPath['suite']='import-tasks'
              __group=CurrentTestPath['group']
              __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
            </script>
            <!--- Test Suite information
            #@TestSuiteName       Backend Import Tests
            #@TestSuitePurpose    Verify that the basic import task functionality is working in the Directory Server.
            #@TestSuiteID         Import Task Tests
            #@TestSuiteGroup      Import Task
            #@TestGroup           Backend
            #@TestScript          import.xml
            #@TestHTMLLink        http://opends.dev.java.net/
            -->
            <call function="'testSuite_Preamble'"/>
            <try>
              <sequence>
                <call function="'common_setup'">
                  {
                    'quickStart'  : False ,
                    'startServer' : True ,
                    'loadData'    : False ,
                    'stopServer'  : False
                  }
                </call>
                <!-- List of Import of Test Functions -->
                <script>
                  importList=[]
                  importList.append('import-tasks/import-tasks_tests')
                </script>
                <!-- Import the files for this test suite -->
                <iterate var="__import" in="importList">
                  <import machine="STAF_LOCAL_HOSTNAME"
                    file="'%s/%s.xml' % (__groupdir,__import)"/>
                </iterate>
                <!-- List of Test Cases -->
                <script>
                  testsList=[]
                  testsList.append('backends_import_tasks_001')
                  testsList.append('backends_import_tasks_002')
                  testsList.append('backends_import_tasks_003')
                  testsList.append('backends_import_tasks_004')
                  testsList.append('backends_import_tasks_005')
                  testsList.append('backends_import_tasks_006')
                  testsList.append('backends_import_tasks_007')
                  testsList.append('backends_import_tasks_008')
                  testsList.append('backends_import_tasks_009')
                  testsList.append('backends_import_tasks_010')
                  testsList.append('backends_import_tasks_011')
                  testsList.append('backends_import_tasks_012')
                  testsList.append('backends_import_tasks_013')
                  testsList.append('backends_import_tasks_014')
                  testsList.append('backends_import_tasks_015')
                  testsList.append('backends_import_tasks_016')
                  testsList.append('backends_import_tasks_017')
                  testsList.append('backends_import_tasks_018')
                  testsList.append('backends_import_tasks_019')
                  testsList.append('backends_import_tasks_020')
                  testsList.append('backends_import_tasks_021')
                  testsList.append('backends_import_tasks_022')
                  testsList.append('backends_import_tasks_023')
                  testsList.append('backends_import_tasks_024')
                  testsList.append('backends_import_tasks_025')
                  testsList.append('backends_import_tasks_026')
                  testsList.append('backends_import_tasks_027')
                  testsList.append('backends_import_tasks_028')
                </script>
                <!-- Execute the Tests -->
                <iterate var="__test" in="testsList">
                  <sequence>
                    <call function="'%s' % (__test)" />
                  </sequence>
                </iterate>
              </sequence>
            <catch exception="'STAFException.TestSuite.SetupException'">
              <sequence>
                <message log="1" level="'fatal'">
                  'Setup of test suite failed.'
                </message>
                <rethrow/>
              </sequence>
            </catch>
            <finally>
              <message>'Test Cases Completed.'</message>
            </finally>
            </try>
          </sequence>
          <finally>
            <sequence>
              <!-- Test Suite Cleanup -->
              <message>'Finally: Global Schema Cleanup.'</message>
              <try>
                <call function="'common_cleanup'" />
              <catch exception="'STAFException'">
                <sequence>
                  <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
                </sequence>
              </catch>
              <finally>
                <call function="'testSuite_Postamble'"/>
              </finally>
              </try>
            </sequence>
          </finally>
        </try>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/import-tasks/import-tasks_tests.xml
New file
@@ -0,0 +1,1715 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <!--- Test Case information
    #@TestMarker          Backend Import Tasks Tests
    #@TestName            Import Tasks: LDIF Default
    #@TestID              LDIF Default
    #@TestPurpose         Verify an import task of a LDIF file using the default backend.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
  -->
  <function name="backends_import_tasks_001" scope="local">
    <testcase name="getTestCaseName('LDIF Default')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/Example.ldif' % remote.data
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
               'startDS'        : 'no'
             }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import TasksTests
    #@TestName            Backend: Import Tasks: LDIF Non Default
    #@TestID              LDIF Non Default
    #@TestPurpose         Verify an import task of a LDIF file using a differrent backend to the default.
    #@TestPreamble
    #@TestSteps           ./import-ldif.sh -n "nonDefault" -l ../ldif/Example.ldif
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_tasks_002" scope="local">
    <testcase name="getTestCaseName('LDIF Non Default')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <script>
            options=[]
            options.append('--backend-name "nonDefault"')
            options.append('--set base-dn:"dc=non-default,dc=com"')
            options.append('--set enabled:true')
            options.append('--set writability-mode:enabled')
            options.append('-t local-db')
            createBackendOptions=' '.join(options)
          </script>
          <call function="'dsconfig'">
            { 'subcommand'     : 'create-backend',
              'optionsString'  : createBackendOptions
            }
          </call>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/nonDefault.ldif' % remote.data,
              'backEnd'        : 'nonDefault'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=non-default,dc=com',
                                   'uid=dmiller, ou=People, dc=non-default,dc=com',
                                   'uid=rhunt, ou=People, dc=non-default,dc=com'] ,
               'startDS'        : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Include Branch
      #@TestID              Fractional Include Branch
      #@TestPurpose         Verify an import task of a LDIF file specifying a branch that should be included in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_003" scope="local">
    <testcase name="getTestCaseName('Fractional Include Branch')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Include.ldif' % remote.data,
              'includeBranches' : ['dc=com'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Include Branches
      #@TestID              Fractional Include Branches
      #@TestPurpose         Verify an import task of a LDIF file specifying multiple branches that should be included in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_004" scope="local">
    <testcase name="getTestCaseName('Fractional Include Branches')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Include.ldif' % remote.data,
              'includeBranches' : ['dc=com','dc=example,dc=com']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Exclude Branch
      #@TestID              Fractional Exclude Branch
      #@TestPurpose         Verify an import task of a LDIF file specifying a branch that should be excluded in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_005" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Branch')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Exclude.ldif' % remote.data,
              'excludeBranches' : ['ou=Departed,ou=People,dc=example,dc=com'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Exclude Branches
      #@TestID              Fractional Exclude Branches
      #@TestPurpose         Verify an import task of a LDIF file specifying multiple branches that should be excluded in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_006" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Branches')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Exclude.ldif' % remote.data,
              'excludeBranches' : ['ou=Departed,ou=People,dc=example,dc=com',
                                   'cn=QA Managers,ou=groups,dc=example,dc=com']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=bbaret,cn=QA Managers,ou=groups,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Branches Mix
      #@TestID              Fractional Branches Mix
      #@TestPurpose         Verify an import task of a LDIF file specifying a mix of include and exclude branches.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_007" scope="local">
    <testcase name="getTestCaseName('Fractional Branches Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Exclude.ldif' % remote.data,
              'includeBranches' : ['dc=com'],
              'excludeBranches' : ['ou=Departed,ou=People,dc=example,dc=com'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Include Attribute
      #@TestID              Fractional Include Attribute
      #@TestPurpose         Verify an import task of a LDIF file specifying an attribute that should be included in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_008" scope="local">
    <testcase name="getTestCaseName('Fractional Include Attribute')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'    : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'      : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'    : DIRECTORY_INSTANCE_PSWD,
              'taskID'            : STAXCurrentTestcase,
              'ldifFile'          : '%s/backends/Include.ldif' % remote.data,
              'includeAttributes' : ['dc'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=com','dc=example,dc=com'],
              'missingEntries'  : ['ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Include Attributes
      #@TestID              Fractional Include Attributes
      #@TestPurpose         Verify an import task of a LDIF file specifying multiple attributes that should be included in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_009" scope="local">
    <testcase name="getTestCaseName('Fractional Include Attributes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Include.ldif' % remote.data,
              'includeAttributes' : ['dc','cn','ou','sn']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Exclude Attribute
      #@TestID              Fractional Exclude Attribute
      #@TestPurpose         Verify an import task of a LDIF file specifying an attribute that should be excluded in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_010" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Attribute')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'    : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'      : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'    : DIRECTORY_INSTANCE_PSWD,
              'taskID'            : STAXCurrentTestcase,
              'ldifFile'          : '%s/backends/Exclude.ldif' % remote.data,
              'excludeAttributes' : ['userpassword']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=scarter,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Exclude Attributes
      #@TestID              Fractional Exclude Attributes
      #@TestPurpose         Verify an import task of a LDIF file specifying multiple attribute that should be excluded in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_011" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Attributes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'    : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'      : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'    : DIRECTORY_INSTANCE_PSWD,
              'taskID'            : STAXCurrentTestcase,
              'ldifFile'          : '%s/backends/Exclude.ldif' % remote.data,
              'excludeAttributes' : ['userpassword','mail','roomnumber']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=scarter,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword','mail','roomnumber'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Mix
      #@TestID              Fractional Mix
      #@TestPurpose         Verify an import task of a LDIF file specifying a mix of fractional attributes and branches.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_012" scope="local">
    <testcase name="getTestCaseName('Fractional Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'    : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'      : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'    : DIRECTORY_INSTANCE_PSWD,
              'taskID'            : STAXCurrentTestcase,
              'ldifFile'          : '%s/backends/Exclude.ldif' % remote.data,
              'includeBranches'   : ['dc=com','dc=example,dc=com','ou=People,dc=example,dc=com'],
              'excludeBranches'   : ['ou=Departed,ou=People,dc=example,dc=com'],
              'includeAttributes' : ['dc','cn','ou','sn'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Filtered Include
      #@TestID              Filtered Include
      #@TestPurpose         Verify an import task of a LDIF file specifying a search filter control which entries are included in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_013" scope="local">
    <testcase name="getTestCaseName('Filtered Include')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'" />
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Include.ldif' % remote.data,
              'includeFilters'  : ['objectclass=*'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Filtered Exclude
      #@TestID              Filtered Exclude
      #@TestPurpose         Verify an import task of a LDIF file specifying a search filter control which entries are excluded in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_014" scope="local">
    <testcase name="getTestCaseName('Filtered Exclude')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Exclude.ldif' % remote.data,
              'excludeFilters'  : ['objectclass=person'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com',
                                   'ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Filtered Includes
      #@TestID              Filtered Includes
      #@TestPurpose         Verify an import task of a LDIF file specifying multiple search filters control which entries are included in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_015" scope="local">
    <testcase name="getTestCaseName('Filtered Includes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Include.ldif' % remote.data,
              'includeFilters'  : ['objectclass=domain*','objectclass=organizationalunit']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com',
                                   'ou=People,dc=example,dc=com'],
              'missingEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                  'uid=dmiller,ou=People,dc=example,dc=com',
                                  'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Filtered Excludes
      #@TestID              Filtered Excludes
      #@TestPurpose         Verify an import task of a LDIF file specifying multiple search filters control which entries are excluded in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_016" scope="local">
    <testcase name="getTestCaseName('Filtered Excludes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Exclude.ldif' % remote.data,
              'excludeFilters'  : ['objectclass=person','objectclass=organizationalunit'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com'],
              'missingEntries'  : ['ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Filtered Includes Complex
      #@TestID              Filtered Includes Complex
      #@TestPurpose         Verify an import task of a LDIF file specifying complex search filters control which entries are included in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_017" scope="local">
    <testcase name="getTestCaseName('Filtered Includes Complex')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Include.ldif' % remote.data,
              'includeFilters'  : ['|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Filtered Excludes Complex
      #@TestID              Filtered Excludes Complex
      #@TestPurpose         Verify an import task of a LDIF file specifying complex search filters control which entries are excluded in the import.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_018" scope="local">
    <testcase name="getTestCaseName('Filtered Excludes Complex')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Exclude.ldif' % remote.data,
              'excludeFilters'  : ['&amp;(objectclass=person)(ou=Departed)'],
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=rhunt,ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Fractional Filtered Mix
      #@TestID              Fractional Filtered Mix
      #@TestPurpose         Verify an import task of a LDIF file specifying a mix of fractional and filtered.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_019" scope="local">
    <testcase name="getTestCaseName('Fractional Filtered Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'    : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'      : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'    : DIRECTORY_INSTANCE_PSWD,
              'taskID'            : STAXCurrentTestcase,
              'ldifFile'          : '%s/backends/Exclude.ldif' % remote.data,
              'excludeFilters'    : ['&amp;(objectclass=person)(ou=Departed)'],
              'includeBranches'   : ['dc=com'],
              'excludeAttributes' : ['userpassword']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=scarter,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword'],
              'startDS'           : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Append
      #@TestID              Append
      #@TestPurpose         Verify an import task of a LDIF file specifying that the import process should append to the existing database.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_020" scope="local">
    <testcase name="getTestCaseName('Append')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/Append.ldif' % remote.data,
              'append'         : 'TRUE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'  : ['ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=brammage,ou=Departed,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks:Append Replace Existing
      #@TestID              Append Replace Existing
      #@TestPurpose         Verify an import task of a LDIF file specifying that an existing entry should be replaced when appending to an existing database.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_021" scope="local">
    <testcase name="getTestCaseName('Append Replace Existing')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'  : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD,
              'taskID'          : STAXCurrentTestcase,
              'ldifFile'        : '%s/backends/Append.ldif' % remote.data,
              'append'          : 'TRUE',
              'replaceExisting' : 'TRUE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'  : ['ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=brammage,ou=Departed,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Compressed
      #@TestID              Compressed
      #@TestPurpose         Verify an import task of a LDIF file specifying the data to import is compressed.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_022" scope="local">
    <testcase name="getTestCaseName('Compressed')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/Example.ldif.gz' % remote.data,
              'isCompressed'   : 'TRUE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Encrypted
      #@TestID              Encrypted
      #@TestPurpose         Verify an import task of a LDIF file specifying the data to import is encrypted.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_023" scope="local">
    <testcase name="getTestCaseName('Encrypted')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/Example.ldif' % remote.data,
              'isEncrypted'    : 'TRUE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
          <call function="'checktestRC'">
            { 'returncode' : 1 ,
              'expected'   : 0 ,
              'result'     : 'Encrypted LDIF export is not implemented',
              'issue'      : '839'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Hashed Signed
      #@TestID              Hashed Signed
      #@TestPurpose         Verify an import task of a LDIF file specifying the data to import is hashed/signed.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_024" scope="local">
    <testcase name="getTestCaseName('Signed Hash')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/Example.ldif' % remote.data,
              'isEncrypted'    : 'TRUE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
          <call function="'checktestRC'">
            { 'returncode' : 1 ,
              'expected'   : 0 ,
              'result'     : 'Signed Hash import is not implemented',
              'issue'      : '839'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Rejects File
      #@TestID              Rejects File
      #@TestPurpose         Verify an import task of a LDIF file specifying the a path to a file into which rejected entries may be written if they are not accepted during the import process, when the rejects file is not overwritten.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_025" scope="local">
    <testcase name="getTestCaseName('Rejects File')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
              'taskID'         : STAXCurrentTestcase,
              'ldifFile'       : '%s/backends/Example.ldif' % remote.data,
              'rejectsFile'    : './rejects'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
          <!-- Should check there is a rejects file and the contents are correct -->
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Rejects File Overwrite
      #@TestID              Rejects File Overwrite
      #@TestPurpose         Verify an import task of a LDIF file specifying the a path to a file into which rejected entries may be written if they are not accepted during the import process, when the rejects file is overwritten.
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_026" scope="local">
    <testcase name="getTestCaseName('Overwrite Rejects File')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD,
              'taskID'               : STAXCurrentTestcase,
              'ldifFile'             : '%s/backends/Example.ldif' % remote.data,
              'rejectsFile'          : './rejects',
              'overwriteRejectsFile' : 'TRUE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
          <!-- Should check there is a rejects file and the contents are correct -->
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Skip Schema Validation Accept
      #@TestID              Skip Schema Validation Accept
      #@TestPurpose         Verify an import task of a LDIF file containing invalided schema is accepted when skip schema validation is specified
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_027" scope="local">
    <testcase name="getTestCaseName('Skip Schema Validation Accept')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD,
              'taskID'               : STAXCurrentTestcase,
              'ldifFile'             : '%s/backends/Schema.ldif' % remote.data,
              'skipSchemaValidation' : 'TRUE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
      #@TestMarker          Backend Import Tasks Tests
      #@TestName            Backend: Import Tasks: Skip Schema Validation Reject
      #@TestID              Skip Schema Validation Reject
      #@TestPurpose         Verify an import task of a LDIF file containing invalid schema is rejected when skip schema validation is not specified
      #@TestPreamble
      #@TestSteps
      #@TestPostamble
      #@TestResult
    -->
  <function name="backends_import_tasks_028" scope="local">
    <testcase name="getTestCaseName('Skip Schema Validation Reject')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'importLdifTask'">
            { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD,
              'taskID'               : STAXCurrentTestcase,
              'ldifFile'             : '%s/backends/Schema.ldif' % remote.data,
              'skipSchemaValidation' : 'FALSE'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=dmiller,ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com'],
              'startDS'         : 'no'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
          #@TestMarker          Backend Import Tasks Tests
          #@TestName            Backend: Import Tasks: Error Codes
          #@TestID              Error Codes
          #@TestPurpose         Verify an import task fails with an error code.
          #@TestPreamble
          #@TestSteps
          #@TestPostamble
          #@TestResult
    -->
    <!-- Need to know what the error codes are -->
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/import/import.xml
New file
@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_import"/>
  <function name="main_import" scope="local">
    <sequence>
      <block name="'main_import'">
        <try>
          <sequence>
            <script>
              CurrentTestPath['group']='backends'
              CurrentTestPath['suite']='import'
              __group=CurrentTestPath['group']
              __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
            </script>
            <!--- Test Suite information
            #@TestSuiteName       Backend Import Tests
            #@TestSuitePurpose    Verify that the basic import functionality is working in the Directory Server.
            #@TestSuiteID         Import Tests
            #@TestSuiteGroup      Import
            #@TestGroup           Backend
            #@TestScript          import.xml
            #@TestHTMLLink        http://opends.dev.java.net/
            -->
            <call function="'testSuite_Preamble'"/>
            <try>
              <sequence>
                <call function="'common_setup'">
                  {
                    'quickStart'  : False ,
                    'startServer' : False ,
                    'loadData'    : False ,
                    'stopServer'  : False
                  }
                </call>
                <!-- List of Import of Test Functions -->
                <script>
                  importList=[]
                  importList.append('import/import_tests')
                </script>
                <!-- Import the files for this test suite -->
                <iterate var="__import" in="importList">
                  <import machine="STAF_LOCAL_HOSTNAME"
                    file="'%s/%s.xml' % (__groupdir,__import)"/>
                </iterate>
                <!-- List of Test Cases -->
                <script>
                  testsList=[]
                  testsList.append('backends_import_001')
                  testsList.append('backends_import_002')
                  testsList.append('backends_import_003')
                  testsList.append('backends_import_004')
                  testsList.append('backends_import_005')
                  testsList.append('backends_import_006')
                  testsList.append('backends_import_007')
                  testsList.append('backends_import_008')
                  testsList.append('backends_import_009')
                  testsList.append('backends_import_010')
                  testsList.append('backends_import_011')
                  testsList.append('backends_import_012')
                  testsList.append('backends_import_013')
                  testsList.append('backends_import_014')
                  testsList.append('backends_import_015')
                  testsList.append('backends_import_016')
                  testsList.append('backends_import_017')
                  testsList.append('backends_import_018')
                  testsList.append('backends_import_019')
                  testsList.append('backends_import_020')
                  testsList.append('backends_import_021')
                  testsList.append('backends_import_022')
                  testsList.append('backends_import_023')
                  testsList.append('backends_import_024')
                  testsList.append('backends_import_025')
                  testsList.append('backends_import_026')
                  testsList.append('backends_import_027')
                  testsList.append('backends_import_028')
                  testsList.append('backends_import_029')
                </script>
                <!-- Execute the Tests -->
                <iterate var="__test" in="testsList">
                  <sequence>
                    <call function="'%s' % (__test)" />
                  </sequence>
                </iterate>
              </sequence>
            <catch exception="'STAFException.TestSuite.SetupException'">
              <sequence>
                <message log="1" level="'fatal'">
                  'Setup of test suite failed.'
                </message>
                <rethrow/>
              </sequence>
            </catch>
            <finally>
              <message>'Test Cases Completed.'</message>
            </finally>
            </try>
          </sequence>
          <finally>
            <sequence>
              <!-- Test Suite Cleanup -->
              <message>'Finally: Global Schema Cleanup.'</message>
              <try>
                <call function="'common_cleanup'" />
              <catch exception="'STAFException'">
                <sequence>
                  <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
                </sequence>
              </catch>
              <finally>
                <call function="'testSuite_Postamble'"/>
              </finally>
              </try>
            </sequence>
          </finally>
        </try>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/import/import_tests.xml
New file
@@ -0,0 +1,1618 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <!--- Test Case information
  #@TestMarker          Backend Import Tests
  #@TestName            Backend: Import: LDIF Default
  #@TestID              LDIF Default
  #@TestPurpose         Verify an import of a LDIF file using the default backend.
  #@TestPreamble
  #@TestSteps           ./import-ldif.sh -l ../ldif/Example.ldif -n "userRoot"
  #@TestPostamble
  #@TestResult
  -->
  <function name="backends_import_001" scope="local">
    <testcase name="getTestCaseName('LDIF Default')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile'  : '%s/backends/Example.ldif' % remote.data,
              'dsBackEnd'   : DIRECTORY_INSTANCE_BE
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'] }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: LDIF Non Default
    #@TestID              LDIF Non Default
    #@TestPurpose         Verify an import of a LDIF file using a differrent backend to the default.
    #@TestPreamble
    #@TestSteps           ./import-ldif.sh -n "nonDefault" -l ../ldif/Example.ldif
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_002" scope="local">
    <testcase name="getTestCaseName('LDIF Non Default')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'StartDsWithScript'"/>
          <script>
            options=[]
            options.append('--backend-name "nonDefault"')
            options.append('--set base-dn:"dc=non-default,dc=com"')
            options.append('--set enabled:true')
            options.append('--set writability-mode:enabled')
            options.append('-t local-db')
            createBackendOptions=' '.join(options)
          </script>
          <call function="'dsconfig'">
            { 'subcommand'     : 'create-backend',
              'optionsString'  : createBackendOptions
            }
          </call>
          <call function="'StopDsWithScript'"/>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile'  : '%s/backends/nonDefault.ldif' % remote.data,
              'dsBackEnd'   : 'nonDefault'
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=non-default,dc=com',
                                   'uid=dmiller, ou=People, dc=non-default,dc=com',
                                   'uid=rhunt, ou=People, dc=non-default,dc=com'] }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Include Branch
    #@TestID              Fractional Include Branch
    #@TestPurpose         Verify an import of a LDIF file specifying a branch that should be included in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
            -->
  <function name="backends_import_003" scope="local">
    <testcase name="getTestCaseName('Fractional Include Branch')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
            { 'dsLdifFile'      : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeBranch' : ['dc=com'] }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'] }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Include Branch with backend ID
    #@TestID              Fractional Include Branch
    #@TestPurpose         Verify an import of a LDIF file specifying a branch that should be included in the import
                          along with the backendID.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_004" scope="local">
    <testcase name="getTestCaseName('Fractional Include Branch with backend ID')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
            { 'location'        : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'      : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeBranch' : ['dc=com'],
              'dsBackEnd'       : DIRECTORY_INSTANCE_BE
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'] }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Include Branches
    #@TestID              Fractional Include Branches
    #@TestPurpose         Verify an import of a LDIF file specifying multiple branches that should be included in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_005" scope="local">
    <testcase name="getTestCaseName('Fractional Include Branches')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
            { 'location'        : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'      : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeBranch' : ['dc=com','dc=example,dc=com']
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'] }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Exclude Branch
    #@TestID              Fractional Exclude Branch
    #@TestPurpose         Verify an import of a LDIF file specifying a branch that should be excluded in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_006" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Branch')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
            { 'location'        : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'      : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeBranch' : ['ou=Departed,ou=People,dc=example,dc=com'],
              'dsBackEnd'       : DIRECTORY_INSTANCE_BE
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'] ,
               'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Exclude Branches
    #@TestID              Fractional Exclude Branches
    #@TestPurpose         Verify an import of a LDIF file specifying multiple branches that should be excluded in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_007" scope="local">
      <testcase name="getTestCaseName('Fractional Exclude Branches')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
            { 'location'        : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'      : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeBranch' : ['ou=Departed,ou=People,dc=example,dc=com', 'ou=unit1, ou=People, dc=example,dc=com'],
              'dsBackEnd'       : DIRECTORY_INSTANCE_BE
            }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'] ,
               'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=arammell, ou=unit1, ou=People, dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
      </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Branches Mix
    #@TestID              Fractional Branches Mix
    #@TestPurpose         Verify an import of a LDIF file specifying a mix of include and exclude branches.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_008" scope="local">
    <testcase name="getTestCaseName('Fractional Branches Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'        : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'      : '%s/backends/Exclude.ldif' % remote.data,
              'dsIncludeBranch' : ['dc=com'],
              'dsExcludeBranch' : ['ou=Departed,ou=People,dc=example,dc=com']
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'] ,
               'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Include Attribute
    #@TestID              Fractional Include Attribute
    #@TestPurpose         Verify an import of a LDIF file specifying an attribute that should be included in the import.
    #@TestPreamble
    #@TestSteps           ./import-ldif.sh -n "userRoot" -i dc -l Include.ldif
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_009" scope="local">
    <testcase name="getTestCaseName('Fractional Include Attribute')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeAttribute' : ['dc'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=com','dc=example,dc=com'],
              'missingEntries'  : ['ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Include Attributes
    #@TestID              Fractional Include Attributes
    #@TestPurpose         Verify an import of a LDIF file specifying multiple attributes that should be included in the import.
    #@TestPreamble
    #@TestSteps           ./import-ldif.sh -n "userRoot" -i cn -i dc -i ou -i sn -l Include.ldif
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_010" scope="local">
   <testcase name="getTestCaseName('Fractional Include Attributes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeAttribute' : ['dc','cn','ou','sn'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Exclude Attribute
    #@TestID              Fractional Exclude Attribute
    #@TestPurpose         Verify an import of a LDIF file specifying an attribute that should be excluded in the import.
    #@TestPreamble
    #@TestSteps           ./import-ldif.sh -n "userRoot" -e userpassword -l Example.ldif
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_011" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Attribute')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeAttribute' : ['userpassword'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=scarter,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Exclude Attributes
    #@TestID              Fractional Exclude Attributes
    #@TestPurpose         Verify an import of a LDIF file specifying multiple attribute that should be excluded in the import.
    #@TestPreamble
    #@TestSteps           ./import-ldif.sh -n "userRoot" -e userpassword -e mail -e roomnumber -l Example.ldif
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_012" scope="local">
    <testcase name="getTestCaseName('Fractional Exclude Attributes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeAttribute' : ['userpassword','mail','roomnumber'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries'   : ['uid=scarter,ou=People,dc=example,dc=com'],
              'missingAttributes' : ['userpassword']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Mix
    #@TestID              Fractional Mix
    #@TestPurpose         Verify an import of a LDIF file specifying a mix of fractional attributes and branches.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
   <function name="backends_import_013" scope="local">
    <testcase name="getTestCaseName('Fractional Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Example.ldif' % remote.data,
              'dsIncludeAttribute' : ['dc','cn','ou','sn'],
              'dsIncludeBranch'    : ['dc=com','dc=example,dc=com','ou=People,dc=example,dc=com'],
              'dsExcludeBranch'    : ['ou=Departed,ou=People,dc=example,dc=com']
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller, ou=People, dc=example,dc=com',
                                   'uid=rhunt, ou=People, dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                   'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Filtered Include
    #@TestID              Filtered Include
    #@TestPurpose         Verify an import of a LDIF file specifying a search filter control which entries are included in the import.
    #@TestPreamble
    #@TestSteps           ./import-ldif.sh -n "userRoot" -I "objectclass=*" -l Include.ldif
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_014" scope="local">
    <testcase name="getTestCaseName('Filtered Include')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeFilter'    : ['objectclass=*'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Filtered Exclude
    #@TestID              Filtered Exclude
    #@TestPurpose         Verify an import of a LDIF file specifying a search filter control which entries are excluded in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
            -->
  <function name="backends_import_015" scope="local">
    <testcase name="getTestCaseName('Filtered Exclude')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeFilter'    : ['objectclass=person'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com',
                                   'ou=People,dc=example,dc=com'],
               'missingEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Filtered Includes
    #@TestID              Filtered Includes
    #@TestPurpose         Verify an import of a LDIF file specifying multiple search filters control which entries are included in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_016" scope="local">
    <testcase name="getTestCaseName('Filtered Includes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeFilter'    : ['objectclass=domain','objectclass=organizationalunit'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com',
                                   'ou=People,dc=example,dc=com'],
               'missingEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Filtered Excludes
    #@TestID              Filtered Excludes
    #@TestPurpose         Verify an import of a LDIF file specifying multiple search filters control which entries are excluded in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_017" scope="local">
    <testcase name="getTestCaseName('Filtered Excludes')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeFilter'    : ['objectclass=person','objectclass=organizationalunit'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['dc=example,dc=com'],
              'missingEntries'  : ['ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Filtered Includes Complex
    #@TestID              Filtered Includes Complex
    #@TestPurpose         Verify an import of a LDIF file specifying complex search filters control which entries are included in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_018" scope="local">
    <testcase name="getTestCaseName('Filtered Includes Complex')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Include.ldif' % remote.data,
              'dsIncludeFilter'    : ['|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Filtered Excludes Complex
    #@TestID              Filtered Excludes Complex
    #@TestPurpose         Verify an import of a LDIF file specifying complex search filters control which entries are excluded in the import.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_019" scope="local">
    <testcase name="getTestCaseName('Filtered Excludes Complex')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeFilter'    : ['&amp;(objectclass=person)(ou=Departed)'],
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=rhunt,ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Fractional Filtered Mix
    #@TestID              Fractional Filtered Mix
    #@TestPurpose         Verify an import of a LDIF file specifying a mix of fractional and filtered.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_020" scope="local">
    <testcase name="getTestCaseName('Fractional Filtered Mix')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Exclude.ldif' % remote.data,
              'dsExcludeFilter'    : ['&amp;(objectclass=person)(ou=Departed)'],
              'dsIncludeBranch'    : ['dc=com'],
              'dsExcludeAttribute' : ['userpassword']
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=rhunt,ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Append
    #@TestID              Append
    #@TestPurpose         Verify an import of a LDIF file specifying that the import process should append to the existing database.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_021" scope="local">
    <testcase name="getTestCaseName('Append')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Append.ldif' % remote.data,
              'dsAppend'           : 'TRUE',
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            {  'expectedEntries'  : ['ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Append Replace Existing
    #@TestID              Append Replace Existing
    #@TestPurpose         Verify an import of a LDIF file specifying that an existing entry should be replaced when appending to an existing database.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_022" scope="local">
    <testcase name="getTestCaseName('Append Replace Existing')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Append.ldif' % remote.data,
              'dsAppend'           : 'TRUE',
              'dsReplaceExisting'  : 'TRUE',
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            {  'expectedEntries'  : ['ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
                                    'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Compressed
    #@TestID              Compressed
    #@TestPurpose         Verify an import of a LDIF file specifying the data to import is compressed.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_023" scope="local">
    <testcase name="getTestCaseName('Compressed')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Example.ldif.gz' % remote.data,
              'dsIsCompressed'     : 'TRUE',
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Encrypted
    #@TestID              Encrypted
    #@TestPurpose         Verify an import of a LDIF file specifying the data to import is encrypted.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_024" scope="local">
    <testcase name="getTestCaseName('Encrypted')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Example.ldif' % remote.data,
              'dsIsEncrypted'      : 'TRUE',
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
          <!-- Known issue -->
          <call function="'checktestRC'">
            { 'returncode' : 1 ,
              'expected'   : 0 ,
              'result'     : 'Encrypted LDIF import is not implemented',
              'issue'      : '839'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Hashed Signed
    #@TestID              Hashed Signed
    #@TestPurpose         Verify an import of a LDIF file specifying the data to import is hashed/signed.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_025" scope="local">
    <testcase name="getTestCaseName('Hash Signed')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Example.ldif' % remote.data,
              'dsIsEncrypted'      : 'TRUE',
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
          <!-- Known issue -->
          <call function="'checktestRC'">
            { 'returncode' : 1 ,
              'expected'   : 0 ,
              'result'     : 'Hash Signed LDIF import is not implemented',
              'issue'      : '839'
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!-- Test Not Implemented. Feature not avaliable -->
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Rejects File
    #@TestID              Rejects File
    #@TestPurpose         Verify an import of a LDIF file specifying the a path to a file into which rejected entries may be written if they are not accepted during the import process, when the rejects file is not overwritten.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_026" scope="local">
    <testcase name="getTestCaseName('Rejects File')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Example.ldif' % remote.data,
              'dsRejectFile'       : '%s/rejects.txt' % remote.temp,
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Rejects File Overwrite
    #@TestID              Rejects File Overwrite
    #@TestPurpose         Verify an import of a LDIF file specifying the a path to a file into which rejected entries may be written if they are not accepted during the import process, when the rejects file is overwritten.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_027" scope="local">
    <testcase name="getTestCaseName('Rejects File Overwrite')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Example.ldif' % remote.data,
              'dsRejectFile'       : '%s/rejects.txt' % remote.temp,
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=rhunt,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Skip Schema Validation Accept
    #@TestID              Skip Schema Validation Accept
    #@TestPurpose         Verify an import of a LDIF file containing invalided schema is accepted when skip schema validation is specified
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_028" scope="local">
    <testcase name="getTestCaseName('Skip Schema Validation Accept')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'             : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'             : '%s/backends/Schema.ldif' % remote.data,
              'dsSkipSchemaValidation' : 'TRUE',
              'dsBackEnd'              : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=dmiller,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Skip Schema Validation Reject
    #@TestID              skip schema validation reject
    #@TestPurpose         Verify an import of a LDIF file containing invalided schema is rejected when skip schema validation is not specified
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
  <function name="backends_import_029" scope="local">
    <testcase name="getTestCaseName('Skip Schema Validation Reject')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <call function="'ImportLdifWithScript'">
              { 'location'         : STAF_REMOTE_HOSTNAME,
              'dsLdifFile'         : '%s/backends/Schema.ldif' % remote.data,
              'dsBackEnd'          : DIRECTORY_INSTANCE_BE
              }
          </call>
          <call function="'checkImport'">
            { 'expectedEntries' : ['uid=dmiller,ou=People,dc=example,dc=com'],
              'missingEntries'  : ['uid=scarter,ou=People,dc=example,dc=com',
                                   'uid=kwinters,ou=People,dc=example,dc=com']
            }
          </call>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
    <!--- Test Case information
    #@TestMarker          Backend Import Tests
    #@TestName            Backend: Import: Error Codes
    #@TestID              Error Codes
    #@TestPurpose         Verify an import fails with an error code.
    #@TestPreamble
    #@TestSteps
    #@TestPostamble
    #@TestResult
    -->
    <!-- Need to know what the error codes are -->
</stax>
opends/tests/staf-tests/shared/functions/dsadm.xml
@@ -863,19 +863,19 @@
                  
        if dsIncludeBranch:
          for InBranch in dsIncludeBranch:
            STAFCmdParamsList.append('-b %s ' % InBranch)
            STAFCmdParamsList.append('-b "%s" ' % InBranch)
          
        if dsExcludeBranch:
          for ExBranch in dsExcludeBranch:
            STAFCmdParamsList.append('-B %s ' % ExBranch)
            STAFCmdParamsList.append('-B "%s" ' % ExBranch)
          
        if dsIncludeAttribute:
          for InAttr in dsIncludeAttribute:
            STAFCmdParamsList.append('-i %s ' % InAttr)
            STAFCmdParamsList.append('-i "%s" ' % InAttr)
          
        if dsExcludeAttribute:
          for ExAttr in dsExcludeAttribute:
            STAFCmdParamsList.append('-e %s ' % ExAttr)
            STAFCmdParamsList.append('-e "%s" ' % ExAttr)
          
        if dsIncludeFilter:
          for InFilter in dsIncludeFilter:
@@ -1396,7 +1396,9 @@
              'dsInstanceDn'   : mydn ,
              'dsInstancePswd' : mypswd ,
              'dsBaseDN'       : '%s' % expectedEntry ,
              'dsFilter'       : 'objectclass=*'
              'dsScope'        : 'base' ,
              'dsFilter'       : 'objectclass=*',
              'attributes'     : 'dn'
            }
          </call>
          <call function="'checktestRC'">
@@ -1420,7 +1422,9 @@
             'dsInstanceDn'   : mydn ,
             'dsInstancePswd' : mypswd ,
             'dsBaseDN'       : '%s' % missingEntry ,
             'dsScope'        : 'base' ,
             'dsFilter'       : 'objectclass=*' ,
             'attributes'     : 'dn' ,
             'expectedRC'     : 32
            }
          </call>
opends/tests/staf-tests/shared/functions/dsconfig.xml
@@ -405,7 +405,9 @@
        <function-arg-property name="type" value="filepath" />
      </function-arg-def>
      
      <function-arg-def name="dsInstanceHost" type="optional" default="STAF_REMOTE_HOSTNAME">
      <function-arg-def name="dsInstanceHost"
                        type="optional"
                        default="STAF_REMOTE_HOSTNAME">
        <function-arg-description>
          Directory server hostname or IP address
        </function-arg-description>
@@ -421,14 +423,18 @@
        <function-arg-property name="type" value="Port number" />
      </function-arg-def>
      
      <function-arg-def name="dsInstanceDn" type="required">
      <function-arg-def name="dsInstanceDn"
                        type="optional"
                        default="DIRECTORY_INSTANCE_DN">
        <function-arg-description>
          Bind DN
        </function-arg-description>
        <function-arg-property name="type" value="DN" />
      </function-arg-def>
      
      <function-arg-def name="dsInstancePswd" type="required">
      <function-arg-def name="dsInstancePswd"
                        type="optional"
                        default="DIRECTORY_INSTANCE_PSWD">
        <function-arg-description>
          Bind password
        </function-arg-description>