From 50f8a165bf3b68795f4f8d424286788c1abb2a13 Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Tue, 13 Mar 2007 09:18:27 +0000
Subject: [PATCH] Issue 1354 use block element for test groups and suites
---
opends/tests/functional-tests/testcases/core/core_setup.xml | 124
opends/tests/functional-tests/testcases/backends/import-tasks.xml | 2708 +++---
opends/tests/functional-tests/testcases/backends/backup.xml | 412
opends/tests/functional-tests/testcases/core/core_entry_cache.xml | 378
opends/tests/functional-tests/testcases/backends/import.xml | 2308 ++--
opends/tests/functional-tests/testcases/security/jks/security_jks.xml | 166
opends/tests/functional-tests/testcases/backends/export.xml | 1748 ++--
opends/tests/functional-tests/testcases/aci/aci_target.xml | 2796 +++---
opends/tests/functional-tests/testcases/aci/aci_targetattr.xml | 2546 +++---
opends/tests/functional-tests/testcases/aci/aci_targetfilter_syntax.xml | 3592 ++++----
opends/tests/functional-tests/testcases/core/core_search_timelimit.xml | 590
opends/tests/functional-tests/testcases/schema/schema_rfc_tests.xml | 2008 ++--
opends/tests/functional-tests/testcases/security/pkcs12/security_pkcs12.xml | 164
opends/tests/functional-tests/testcases/schema/schema_setup.xml | 80
opends/tests/functional-tests/testcases/backends/backends.xml | 98
opends/tests/functional-tests/testcases/schema/schema.xml | 160
opends/tests/functional-tests/testcases/aci/aci_setup.xml | 150
opends/tests/functional-tests/testcases/security/account_activation/security_account_activation.xml | 162
opends/tests/functional-tests/testcases/security/pwd_policy_root/security_pwd_policy_root.xml | 142
opends/tests/functional-tests/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax.xml | 192
opends/tests/functional-tests/testcases/security/bind_no_pwd/security_bind_no_pwd.xml | 164
opends/tests/functional-tests/testcases/backends/restore-tasks.xml | 69
opends/tests/functional-tests/testcases/core/core_tf_filters.xml | 234
opends/tests/functional-tests/testcases/backends/restore.xml | 90
opends/tests/functional-tests/testcases/backends/backup-tasks.xml | 116
opends/tests/functional-tests/testcases/security/security.xml | 112
opends/tests/functional-tests/testcases/security/pwd_storage/security_pwd_storage.xml | 248
opends/tests/functional-tests/testcases/security/pwd_policy/security_pwd_policy.xml | 238
opends/tests/functional-tests/testcases/core/core_search_sizelimit.xml | 592
opends/tests/functional-tests/testcases/security/sasl/security_sasl.xml | 190
opends/tests/functional-tests/testcases/setup/setup.xml | 258
opends/tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml | 6
opends/tests/functional-tests/testcases/security/jks/security_setup_jks.xml | 4
opends/tests/functional-tests/testcases/core/core_version_report.xml | 78
opends/tests/functional-tests/testcases/backends/export-tasks.xml | 724
opends/tests/functional-tests/testcases/aci/aci.xml | 168
opends/tests/functional-tests/testcases/backends/backendsetup.xml | 108
opends/tests/functional-tests/testcases/core/core.xml | 192
opends/tests/functional-tests/testcases/quickstart/quickstart.xml | 154
opends/tests/functional-tests/testcases/aci/aci_teardown.xml | 160
opends/tests/functional-tests/testcases/cleanup/cleanup.xml | 46
opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml | 172
opends/tests/functional-tests/testcases/schema/schema_dynamic.xml | 345
43 files changed, 12,666 insertions(+), 12,326 deletions(-)
diff --git a/opends/tests/functional-tests/testcases/aci/aci.xml b/opends/tests/functional-tests/testcases/aci/aci.xml
index 07e6430..e50e03d 100755
--- a/opends/tests/functional-tests/testcases/aci/aci.xml
+++ b/opends/tests/functional-tests/testcases/aci/aci.xml
@@ -31,99 +31,107 @@
<function name="main_aci">
- <sequence>
+ <sequence>
- <script>
- CurrentTestPath['group']='aci'
- </script>
+ <block name="'aci'">
- <call function="'testGroup_Preamble'"/>
+ <sequence>
+
+ <script>
+ CurrentTestPath['group']='aci'
+ </script>
+
+ <call function="'testGroup_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
- <parallel>
-
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
<!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/aci/aci_target.xml' % (TESTS_DIR)"/>
- <call function="'aci_target'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/aci/aci_targetattr.xml' % (TESTS_DIR)"/>
- <call function="'aci_targetattr'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/aci/aci_targetfilter_syntax.xml' % (TESTS_DIR)"/>
- <call function="'aci_targetfilter_syntax'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/aci/aci_teardown.xml' % (TESTS_DIR)"/>
- <call function="'aci_teardown'" />
-
- <!--- Stop DS -->
<sequence>
<message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
</message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
</call>
-
+
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testGroup_Postamble'"/>
- </sequence>
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
+ <call function="'aci_setup'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/aci/aci_target.xml' % (TESTS_DIR)"/>
+ <call function="'aci_target'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/aci/aci_targetattr.xml' % (TESTS_DIR)"/>
+ <call function="'aci_targetattr'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/aci/aci_targetfilter_syntax.xml' % (TESTS_DIR)"/>
+ <call function="'aci_targetfilter_syntax'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/aci/aci_teardown.xml' % (TESTS_DIR)"/>
+ <call function="'aci_teardown'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testGroup_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/aci/aci_setup.xml b/opends/tests/functional-tests/testcases/aci/aci_setup.xml
index e87ab51..e4a0bca 100755
--- a/opends/tests/functional-tests/testcases/aci/aci_setup.xml
+++ b/opends/tests/functional-tests/testcases/aci/aci_setup.xml
@@ -32,80 +32,88 @@
<function name="aci_setup">
<sequence>
+
+ <block name="'setup'">
+
+ <sequence>
- <script>
- CurrentTestPath['suite']='aci-setup'
- </script>
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place group-specific test information here.
- #@TestGroupName ACI
- #@TestGroupPurpose To test the ACI functionality.
-
- Place suite-specific test information here.
- #@TestSuiteName ACI Setup Tests
- #@TestSuitePurpose Configure OpenDS to test ACI functionality.
- #@TestSuiteGroup ACI Setup Tests
- #@TestScript aci_setup.xml
- -->
-
- <!--- Test Case : Add Entries for ACI Tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Setup Tests
- #@TestName ACI Startup Test
- #@TestIssue none
- #@TestPurpose Add entries that are needed for the ACI tests.
- #@TestPreamble none
- #@TestStep Add entries with ldapmodify.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0 for all operations
- -->
- <testcase name="'ACI: ACI Setup: Add Initial Entries'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: ACI Setup: Adding Initial Entries'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_startup.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: ACI Setup: Enabling ACI'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/aci_handler.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
+ <call function="'testSuite_Preamble'"/>
+
+ <!---
+ Place group-specific test information here.
+ #@TestGroupName ACI
+ #@TestGroupPurpose To test the ACI functionality.
+
+ Place suite-specific test information here.
+ #@TestSuiteName ACI Setup Tests
+ #@TestSuitePurpose Configure OpenDS to test ACI functionality.
+ #@TestSuiteGroup ACI Setup Tests
+ #@TestScript aci_setup.xml
+ -->
+
+ <!--- Test Case : Add Entries for ACI Tests -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Setup Tests
+ #@TestName ACI Startup Test
+ #@TestIssue none
+ #@TestPurpose Add entries that are needed for the ACI tests.
+ #@TestPreamble none
+ #@TestStep Add entries with ldapmodify.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0 for all operations
+ -->
+ <testcase name="'ACI: ACI Setup: Add Initial Entries'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: ACI Setup: Adding Initial Entries'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_startup.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: ACI Setup: Enabling ACI'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/aci_handler.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
+
</sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
+
+ </block>
</sequence>
diff --git a/opends/tests/functional-tests/testcases/aci/aci_target.xml b/opends/tests/functional-tests/testcases/aci/aci_target.xml
index 7131529..303f0bb 100755
--- a/opends/tests/functional-tests/testcases/aci/aci_target.xml
+++ b/opends/tests/functional-tests/testcases/aci/aci_target.xml
@@ -32,1403 +32,1411 @@
<function name="aci_target">
<sequence>
+
+ <block name="'aci-target'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!---
+ Place suite-specific test information here.
+ #@TestSuiteName ACI Target Tests
+ #@TestSuitePurpose Test the basic ACI Target Support. (targetattr="*" and allow(read))
+ #@TestSuiteGroup Basic ACI Target Tests
+ #@TestScript aci_target.xml
+ -->
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Preamble
+ #@TestIssue 434
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Client searches entry with a branch dn.
+ #@TestStep Client searches entry with another branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Target: Preamble'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Preamble - existing branch, user searching entry that will be targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Preamble - existing branch, user searching entry that will be non-targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target equals dn
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Client searches entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ and entry is returned only for step 1.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Target: Target Equals DN'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target equals dn - new branch
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn - new branch
+ #@TestPreamble Admin adds entries under two branches, one with an aci with the target equal to the dn of one branch.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Client searches entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted branch dn.
+ #@TestPostamble Admin removes branches.
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ and entry is returned only for step 1.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+
+ <testcase name="'ACI: Target: Target Equals DN - new branch'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN - new branch, preamble adding entries'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_target/add_entries1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN - new branch, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN - new branch, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=new non-aci branch,o=More Branches,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=new non-aci branch,o=More Branches,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN - new branch, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci_from_entries.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN - new branch, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN - new branch, postamble admin deleting new entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=More Branches,o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target equals dn with trailing wildcard
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn with a trailing wildcard
+ #@TestPreamble Admin adds an aci with the target equal to the dn with a trailing wildcard.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Client searches entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ and entry is returned only for step 1.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Target: Target Equals DN With Trailing Wildcard'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN with trailing wildcard, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with trailing wildcard, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with trailing wildcard, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with trailing wildcard, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with trailing wildcard, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target equals dn with leading wildcard
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn with leading wildcard
+ #@TestPreamble Admin adds an aci with the target equal to the dn with a leading wildcard.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Client searches entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ and entry is returned only for step 1.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Target: Target Equals DN With Leading Wildcard'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN with leading wildcard, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with leading wildcard, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with leading wildcard, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with leading wildcard, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with leading wildcard, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target equals dn with internal wildcard
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn with an internal wildcard
+ #@TestPreamble Admin adds an aci with the target equal to the dn with an internal wildcard.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Client searches entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ and entry is returned only for step 1.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Target: Target Equals DN With Internal Wildcard'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN with internal wildcard, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci5.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with internal wildcard, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with internal wildcard, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with internal wildcard, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with internal wildcard, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target equals dn with multiple wildcards
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn with multiple wildcards
+ #@TestPreamble Admin adds an aci with the target equal to the dn with multiple wildcards.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Client searches entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ and entry is returned only for step 1.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Target: Target Equals DN With Multiple Wildcards'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN with multiple wildcards, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci6.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with multiple wildcards, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with multiple wildcards, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with multiple wildcards, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN with multiple wildcards, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target contains keyword self
+ #@TestIssue 434
+ #@TestPurpose Test if target can contain the keyword self
+ #@TestPreamble none
+ #@TestStep Admin adds an aci that contains the keyword
+ self to an existing entry
+ #@TestStep Admin checks if aci was added.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21,
+ and the aci has not been added.
+ -->
+ <!-- cross reference to syntax.ksh Test Case 1 -->
+ <testcase name="'ACI: Target: Target Equals DN With Keyword self'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN With Keyword self - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci8.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN With Keyword self - check aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target set to a dn above the entry
+ #@TestIssue 434
+ #@TestPurpose Test if the target can contain a DN above the
+ level of the entry
+ #@TestPreamble none
+ #@TestStep Client adds an aci to its entry
+ that has a DN above the entry's level.
+ #@TestStep Admin checks if aci was added.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 50,
+ and the aci has not been added.
+ -->
+ <!-- cross reference to syntax.ksh Test Case 2 -->
+ <testcase name="'ACI: Target: Target Equals DN Above Entry'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN Above Entry - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci9.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 50">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN Above Entry - check aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target set to a dn below the entry
+ #@TestIssue 434
+ #@TestPurpose Test if the target can contain a DN above the
+ level of the entry
+ #@TestPreamble none
+ #@TestStep Client adds an aci to its entry
+ that has a DN below the entry's level.
+ #@TestStep Admin checks if aci was added.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ and entry is returned only for step 1.
+ -->
+ <!-- cross reference to syntax.ksh Test Case 2 -->
+ <testcase name="'ACI: Target: Target Equals DN Below Entry'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Target Equals DN Below Entry - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci9a.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN Below Entry, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN Below Entry, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN Below Entry, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Target Equals DN Below Entry, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
- <script>
- CurrentTestPath['suite']='aci-target'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Target Tests
- #@TestSuitePurpose Test the basic ACI Target Support. (targetattr="*" and allow(read))
- #@TestSuiteGroup Basic ACI Target Tests
- #@TestScript aci_target.xml
- -->
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Preamble
- #@TestIssue 434
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Client searches entry with a branch dn.
- #@TestStep Client searches entry with another branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and no entries are returned
- for all operations.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Target: Preamble'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Preamble - existing branch, user searching entry that will be targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Preamble - existing branch, user searching entry that will be non-targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Multiple targets
+ #@TestIssue 434
+ #@TestPurpose Test if an aci is allowed to contain multiple targets
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to an existing entry
+ that has multiple targets
+ #@TestStep Admin checks if aci was added.
+ #@TestStep Client searches entry with the targeted dn.
+ #@TestStep Client searches entry with a non-targeted dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21,
+ and the aci has not been added.
+ -->
+ <!-- cross reference to syntax.ksh Test Case 3 -->
+ <testcase name="'ACI: Target: Multiple Targets'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Multiple Targets - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci10.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Multiple Targets - check aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target with mispelled keyword target
+ #@TestIssue 434
+ #@TestPurpose Test if an aci is allowed that contains the keyword target misspelled
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to an existing entry
+ that has the keyword target misspelled
+ #@TestStep Admin checks if aci was added.
+ #@TestStep Client searches entry with the targeted dn.
+ #@TestStep Client searches entry with a non-targeted dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21,
+ and the aci has not been added.
+ -->
+ <!-- cross reference to syntax.ksh Test Case 13 -->
+ <testcase name="'ACI: Target: Keyword Target Misspelled'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Keyword Target Misspelled - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/add_aci11.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Keyword Target Misspelled - check aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
<!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target equals dn
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Client searches entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- and entry is returned only for step 1.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Target: Target Equals DN'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Postamble
+ #@TestIssue 434
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Client searches entry with a branch dn.
+ #@TestStep Client searches entry with another branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Target: Postamble'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Target: Postamble - existing branch, user searching entry that was targeted in past tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Target: Postamble - existing branch, user searching entry that was non-targeted in past tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target equals dn - new branch
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn - new branch
- #@TestPreamble Admin adds entries under two branches, one with an aci with the target equal to the dn of one branch.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Client searches entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted branch dn.
- #@TestPostamble Admin removes branches.
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- and entry is returned only for step 1.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
-
- <testcase name="'ACI: Target: Target Equals DN - new branch'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN - new branch, preamble adding entries'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_target/add_entries1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN - new branch, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN - new branch, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=new non-aci branch,o=More Branches,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=new non-aci branch,o=More Branches,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN - new branch, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci_from_entries.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN - new branch, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=new aci branch,o=More Branches,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN - new branch, postamble admin deleting new entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=More Branches,o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target equals dn with trailing wildcard
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn with a trailing wildcard
- #@TestPreamble Admin adds an aci with the target equal to the dn with a trailing wildcard.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Client searches entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- and entry is returned only for step 1.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Target: Target Equals DN With Trailing Wildcard'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN with trailing wildcard, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with trailing wildcard, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with trailing wildcard, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with trailing wildcard, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with trailing wildcard, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target equals dn with leading wildcard
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn with leading wildcard
- #@TestPreamble Admin adds an aci with the target equal to the dn with a leading wildcard.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Client searches entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- and entry is returned only for step 1.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Target: Target Equals DN With Leading Wildcard'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN with leading wildcard, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with leading wildcard, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with leading wildcard, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with leading wildcard, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with leading wildcard, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target equals dn with internal wildcard
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn with an internal wildcard
- #@TestPreamble Admin adds an aci with the target equal to the dn with an internal wildcard.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Client searches entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- and entry is returned only for step 1.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Target: Target Equals DN With Internal Wildcard'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN with internal wildcard, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci5.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with internal wildcard, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with internal wildcard, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with internal wildcard, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with internal wildcard, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target equals dn with multiple wildcards
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn with multiple wildcards
- #@TestPreamble Admin adds an aci with the target equal to the dn with multiple wildcards.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Client searches entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- and entry is returned only for step 1.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Target: Target Equals DN With Multiple Wildcards'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN with multiple wildcards, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci6.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with multiple wildcards, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with multiple wildcards, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with multiple wildcards, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN with multiple wildcards, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target contains keyword self
- #@TestIssue 434
- #@TestPurpose Test if target can contain the keyword self
- #@TestPreamble none
- #@TestStep Admin adds an aci that contains the keyword
- self to an existing entry
- #@TestStep Admin checks if aci was added.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21,
- and the aci has not been added.
- -->
- <!-- cross reference to syntax.ksh Test Case 1 -->
- <testcase name="'ACI: Target: Target Equals DN With Keyword self'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN With Keyword self - add aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci8.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN With Keyword self - check aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' ,
- 'attributes' : 'aci' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'aci:' }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target set to a dn above the entry
- #@TestIssue 434
- #@TestPurpose Test if the target can contain a DN above the
- level of the entry
- #@TestPreamble none
- #@TestStep Client adds an aci to its entry
- that has a DN above the entry's level.
- #@TestStep Admin checks if aci was added.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 50,
- and the aci has not been added.
- -->
- <!-- cross reference to syntax.ksh Test Case 2 -->
- <testcase name="'ACI: Target: Target Equals DN Above Entry'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN Above Entry - add aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci9.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 50">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN Above Entry - check aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' ,
- 'attributes' : 'aci' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'aci:' }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target set to a dn below the entry
- #@TestIssue 434
- #@TestPurpose Test if the target can contain a DN above the
- level of the entry
- #@TestPreamble none
- #@TestStep Client adds an aci to its entry
- that has a DN below the entry's level.
- #@TestStep Admin checks if aci was added.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- and entry is returned only for step 1.
- -->
- <!-- cross reference to syntax.ksh Test Case 2 -->
- <testcase name="'ACI: Target: Target Equals DN Below Entry'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Target Equals DN Below Entry - add aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci9a.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN Below Entry, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN Below Entry, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN Below Entry, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Target Equals DN Below Entry, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Multiple targets
- #@TestIssue 434
- #@TestPurpose Test if an aci is allowed to contain multiple targets
- #@TestPreamble none
- #@TestStep Admin adds an aci to an existing entry
- that has multiple targets
- #@TestStep Admin checks if aci was added.
- #@TestStep Client searches entry with the targeted dn.
- #@TestStep Client searches entry with a non-targeted dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21,
- and the aci has not been added.
- -->
- <!-- cross reference to syntax.ksh Test Case 3 -->
- <testcase name="'ACI: Target: Multiple Targets'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Multiple Targets - add aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci10.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Multiple Targets - check aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' ,
- 'attributes' : 'aci' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'aci:' }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Target with mispelled keyword target
- #@TestIssue 434
- #@TestPurpose Test if an aci is allowed that contains the keyword target misspelled
- #@TestPreamble none
- #@TestStep Admin adds an aci to an existing entry
- that has the keyword target misspelled
- #@TestStep Admin checks if aci was added.
- #@TestStep Client searches entry with the targeted dn.
- #@TestStep Client searches entry with a non-targeted dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21,
- and the aci has not been added.
- -->
- <!-- cross reference to syntax.ksh Test Case 13 -->
- <testcase name="'ACI: Target: Keyword Target Misspelled'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Keyword Target Misspelled - add aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/add_aci11.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Keyword Target Misspelled - check aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' ,
- 'attributes' : 'aci' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'aci:' }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Postamble
- #@TestIssue 434
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Client searches entry with a branch dn.
- #@TestStep Client searches entry with another branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and no entries are returned
- for all operations.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Target: Postamble'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Postamble - existing branch, user searching entry that was targeted in past tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Target: Postamble - existing branch, user searching entry that was non-targeted in past tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/aci/aci_targetattr.xml b/opends/tests/functional-tests/testcases/aci/aci_targetattr.xml
index 464bb0d..43a24c2 100755
--- a/opends/tests/functional-tests/testcases/aci/aci_targetattr.xml
+++ b/opends/tests/functional-tests/testcases/aci/aci_targetattr.xml
@@ -30,746 +30,757 @@
<defaultcall function="aci_targetattr"/>
<function name="aci_targetattr">
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Targetattr Tests
- #@TestSuitePurpose Test the basic ACI Targetattr Support. (allow(read))
- #@TestSuiteGroup Basic ACI Targetattr Tests allow(read)
- #@TestScript aci_targetattr.xml
- -->
- <sequence>
+
+ <sequence>
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Preamble
- #@TestIssue 435
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Client searches entry for an attribute in a branch dn.
- #@TestStep Client searches entry for an attribute in another branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and no entries are returned
- for all operations.
- -->
- <testcase name="'ACI: Targetattr: Preamble'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Preamble - existing branch, user searching entry that will be targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Preamble - existing branch, user searching entry that will be non-targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Targetattr equals one attribute
- #@TestIssue 435
- #@TestPurpose Test with the targetattr set equal to a specific attribute
- #@TestPreamble Admin adds an aci to one branch with the targetattr equal to a specific attribute.
- #@TestStep Client searches entry with the targeted dn for the targetattr.
- #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted dn for the targetattr.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- and only with the specified attribute.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetattr: Targetattr Equals One Attribute'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Targetattr Equals One Attribute, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals One Attribute, user searching targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals One Attribute, user searching non-targeted entry but with targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals One Attribute, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals One Attribute, user searching previously targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Targetattr not equals one attribute
- #@TestIssue 435
- #@TestPurpose Test with the targetattr set to not equal (!=) a specific attribute
- #@TestPreamble Admin adds an aci to one branch with the targetattr not equal to a specific attribute.
- #@TestStep Client searches entry with the targeted dn for the targetattr.
- #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted dn for the targetattr.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- with all the attributes except the specified attribute.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetattr: Targetattr Not Equals One Attribute'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Targetattr Not Equals One Attribute, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals One Attribute, user searching targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'telephonenumber=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals One Attribute, user searching non-targeted entry but with targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'telephonenumber=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals One Attribute, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals One Attribute, user searching previously targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'telephonenumber=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
+ <block name="'aci-targetattr'">
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Targetattr equals three attributes
- #@TestIssue 435
- #@TestPurpose Test with the targetattr set equal to three specific attributes
- #@TestPreamble Admin adds an aci with the targetattr equal to three specific attributes in one branch.
- #@TestStep Client searches entry with the targeted dn for the targetattrs.
- #@TestStep Client searches entry that does not have the targeted dn for the targetattrs.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted dn for the targetattr.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- and only with the three specified attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetattr: Targetattr Equals Three Attributes'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Targetattr Equals Three Attributes, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals Three Attributes, user searching targeted entry and targeted attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <!---
+ Place suite-specific test information here.
+ #@TestSuiteName ACI Targetattr Tests
+ #@TestSuitePurpose Test the basic ACI Targetattr Support. (allow(read))
+ #@TestSuiteGroup Basic ACI Targetattr Tests allow(read)
+ #@TestScript aci_targetattr.xml
+ -->
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Preamble
+ #@TestIssue 435
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Client searches entry for an attribute in a branch dn.
+ #@TestStep Client searches entry for an attribute in another branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <testcase name="'ACI: Targetattr: Preamble'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Preamble - existing branch, user searching entry that will be targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Preamble - existing branch, user searching entry that will be non-targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Targetattr equals one attribute
+ #@TestIssue 435
+ #@TestPurpose Test with the targetattr set equal to a specific attribute
+ #@TestPreamble Admin adds an aci to one branch with the targetattr equal to a specific attribute.
+ #@TestStep Client searches entry with the targeted dn for the targetattr.
+ #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted dn for the targetattr.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ and only with the specified attribute.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetattr: Targetattr Equals One Attribute'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Targetattr Equals One Attribute, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals One Attribute, user searching targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals One Attribute, user searching non-targeted entry but with targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals One Attribute, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals One Attribute, user searching previously targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Targetattr not equals one attribute
+ #@TestIssue 435
+ #@TestPurpose Test with the targetattr set to not equal (!=) a specific attribute
+ #@TestPreamble Admin adds an aci to one branch with the targetattr not equal to a specific attribute.
+ #@TestStep Client searches entry with the targeted dn for the targetattr.
+ #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted dn for the targetattr.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ with all the attributes except the specified attribute.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetattr: Targetattr Not Equals One Attribute'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals One Attribute, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals One Attribute, user searching targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'telephonenumber=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals One Attribute, user searching non-targeted entry but with targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'telephonenumber=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals One Attribute, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals One Attribute, user searching previously targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'telephonenumber=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Targetattr equals three attributes
+ #@TestIssue 435
+ #@TestPurpose Test with the targetattr set equal to three specific attributes
+ #@TestPreamble Admin adds an aci with the targetattr equal to three specific attributes in one branch.
+ #@TestStep Client searches entry with the targeted dn for the targetattrs.
+ #@TestStep Client searches entry that does not have the targeted dn for the targetattrs.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted dn for the targetattr.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ and only with the three specified attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetattr: Targetattr Equals Three Attributes'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Targetattr Equals Three Attributes, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals Three Attributes, user searching targeted entry and targeted attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'sn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals Three Attributes, user searching non-targeted entry but with targeted attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals Three Attributes, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals Three Attributes, user searching previously targeted entry and targeted attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Targetattr not equals three attributes
+ #@TestIssue 435
+ #@TestPurpose Test with the targetattr set to not equal (!=) to three specific attributes
+ #@TestPreamble Admin adds an aci with the targetattr not equal (!=) to three specific attributes in one branch.
+ #@TestStep Client searches entry with the targeted dn for the targetattr.
+ #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted dn for the targetattr.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ with all the attributes except the specified attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetattr: Targetattr Not Equals Three Attributes'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals Three Attributes, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals Three Attributes, user searching targeted entry and targeted attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'telephonenumber=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'sn:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals Three Attributes, user searching non-targeted entry but with targeted attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'telephonenumber=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals Three Attributes, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals Three Attributes, user searching previously targeted entry and targeted attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'telephonenumber=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'sn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals Three Attributes, user searching non-targeted entry but with targeted attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals Three Attributes, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals Three Attributes, user searching previously targeted entry and targeted attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
+ </testcase>
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Targetattr not equals three attributes
- #@TestIssue 435
- #@TestPurpose Test with the targetattr set to not equal (!=) to three specific attributes
- #@TestPreamble Admin adds an aci with the targetattr not equal (!=) to three specific attributes in one branch.
- #@TestStep Client searches entry with the targeted dn for the targetattr.
- #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted dn for the targetattr.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- with all the attributes except the specified attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetattr: Targetattr Not Equals Three Attributes'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Targetattr Not Equals Three Attributes, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals Three Attributes, user searching targeted entry and targeted attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'telephonenumber=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'sn:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals Three Attributes, user searching non-targeted entry but with targeted attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'telephonenumber=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals Three Attributes, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals Three Attributes, user searching previously targeted entry and targeted attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'telephonenumber=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <!---
+ <!---
Place test-specific test information here.
The tag, TestMarker, must be the same as the tag, TestSuiteName.
#@TestMarker ACI Targetattr Tests
@@ -783,540 +794,545 @@
#@TestPostamble none
#@TestResult Success if OpenDS returns 0 for all ldap operations
and no attributes are returned.
- -->
- <testcase name="'ACI: Targetattr: Bad Targetattr'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Bad Targetattr, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci5.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Bad Targetattr, user searching targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
+ -->
+ <testcase name="'ACI: Targetattr: Bad Targetattr'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Bad Targetattr, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci5.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Bad Targetattr, user searching targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Bad Targetattr, user searching non-targeted entry but with targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Bad Targetattr, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Bad Targetattr, user searching previously targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Multiple targetattrs
+ #@TestIssue 435
+ #@TestPurpose Test if an aci is allowed to contain multiple targetattrs
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to an existing entry
+ that has multiple targetattrs.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21
+ -->
+ <!-- cross reference to syntax.ksh Test Case 5 -->
+ <testcase name="'ACI: Targetattr: Multiple Targets'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Multiple Targetattrs - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci6.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Multiple Targets - check aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName targetattr mispelled
+ #@TestIssue 435
+ #@TestPurpose Test if an aci is allowed that has the keyword targetattr mispelled
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to an existing entry
+ that has multiple targetattrs.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21
+ -->
+ <testcase name="'ACI: Targetattr: Keyword Targetattr Mispelled'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Keyword Targetattr Mispelled - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci7.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Keyword Targetattr Mispelled - check aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName targetattr with missing quotes
+ #@TestIssue 435
+ #@TestPurpose Test if an aci is allowed that has the keyword targetattr with missing quotes
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to an existing entry
+ that has a targetattr missing quotes.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21
+ -->
+ <testcase name="'ACI: Targetattr: Targetattr With Missing Quotes'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Targetattr With Missing Quotes - add aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci8.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr With Missing Quotes - check aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Targetattr With Spaces
+ #@TestIssue 435
+ #@TestPurpose Test with the targetattr that has spaces
+ #@TestPreamble Admin adds an aci to one branch with a targetattr with spaces.
+ #@TestStep Client searches entry with the targeted dn for the targetattr.
+ #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry with the previously targeted dn for the targetattr.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ and only with the specified attribute.
+ -->
+ <testcase name="'ACI: Targetattr: Targetattr With Spaces'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Targetattr With Spaces, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci9.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr With Spaces, user searching targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr With Spaces, user searching non-targeted entry but with targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr With Spaces, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Targetattr With Spaces, user searching previously targeted entry and targeted attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Postamble
+ #@TestIssue 435
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Client searches entry for an attribute in a branch dn.
+ #@TestStep Client searches entry for an attribute in another branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <testcase name="'ACI: Targetattr: Postamble'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetattr: Postamble - existing branch, user searching entry that will be targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetattr: Postamble - existing branch, user searching entry that will be non-targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
+ </testcase>
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Bad Targetattr, user searching non-targeted entry but with targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Bad Targetattr, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Bad Targetattr, user searching previously targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Multiple targetattrs
- #@TestIssue 435
- #@TestPurpose Test if an aci is allowed to contain multiple targetattrs
- #@TestPreamble none
- #@TestStep Admin adds an aci to an existing entry
- that has multiple targetattrs.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21
- -->
- <!-- cross reference to syntax.ksh Test Case 5 -->
- <testcase name="'ACI: Targetattr: Multiple Targets'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Multiple Targetattrs - add aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci6.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Multiple Targets - check aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'extraParams' : '-s base' ,
- 'attributes' : 'aci' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'aci:' }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ </sequence>
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName targetattr mispelled
- #@TestIssue 435
- #@TestPurpose Test if an aci is allowed that has the keyword targetattr mispelled
- #@TestPreamble none
- #@TestStep Admin adds an aci to an existing entry
- that has multiple targetattrs.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21
- -->
- <testcase name="'ACI: Targetattr: Keyword Targetattr Mispelled'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Keyword Targetattr Mispelled - add aci'
- </message>
+ </block>
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci7.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Keyword Targetattr Mispelled - check aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'extraParams' : '-s base' ,
- 'attributes' : 'aci' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'aci:' }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName targetattr with missing quotes
- #@TestIssue 435
- #@TestPurpose Test if an aci is allowed that has the keyword targetattr with missing quotes
- #@TestPreamble none
- #@TestStep Admin adds an aci to an existing entry
- that has a targetattr missing quotes.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21
- -->
- <testcase name="'ACI: Targetattr: Targetattr With Missing Quotes'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Targetattr With Missing Quotes - add aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci8.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr With Missing Quotes - check aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'extraParams' : '-s base' ,
- 'attributes' : 'aci' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'aci:' }
- </call>
-
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Targetattr With Spaces
- #@TestIssue 435
- #@TestPurpose Test with the targetattr that has spaces
- #@TestPreamble Admin adds an aci to one branch with a targetattr with spaces.
- #@TestStep Client searches entry with the targeted dn for the targetattr.
- #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
- #@TestStep Remove aci.
- #@TestStep Client searches entry with the previously targeted dn for the targetattr.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- and only with the specified attribute.
- -->
- <testcase name="'ACI: Targetattr: Targetattr With Spaces'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Targetattr With Spaces, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/add_aci9.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr With Spaces, user searching targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr With Spaces, user searching non-targeted entry but with targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr With Spaces, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetattr/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Targetattr With Spaces, user searching previously targeted entry and targeted attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Postamble
- #@TestIssue 435
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Client searches entry for an attribute in a branch dn.
- #@TestStep Client searches entry for an attribute in another branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and no entries are returned
- for all operations.
- -->
- <testcase name="'ACI: Targetattr: Postamble'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Postamble - existing branch, user searching entry that will be targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetattr: Postamble - existing branch, user searching entry that will be non-targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- </sequence>
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/aci/aci_targetfilter_syntax.xml b/opends/tests/functional-tests/testcases/aci/aci_targetfilter_syntax.xml
index 43511bd..ceb17c2 100755
--- a/opends/tests/functional-tests/testcases/aci/aci_targetfilter_syntax.xml
+++ b/opends/tests/functional-tests/testcases/aci/aci_targetfilter_syntax.xml
@@ -30,1801 +30,1811 @@
<defaultcall function="aci_targetfilter_syntax"/>
<function name="aci_targetfilter_syntax">
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Targetfilter Tests - syntax
- #@TestSuitePurpose Test the basic ACI Targetfilter Support. (allow(read))
- #@TestSuiteGroup Basic ACI Targetfilter Tests allow(read)
- #@TestScript aci_targetfilter.xml
- -->
- <sequence>
+
+ <sequence>
+
+ <block name="'aci-targetfilter-syntax'">
- <script>
- CurrentTestPath['suite']='aci_targetfilter_syntax'
- </script>
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!---
+ Place suite-specific test information here.
+ #@TestSuiteName ACI Targetfilter Tests - syntax
+ #@TestSuitePurpose Test the basic ACI Targetfilter Support. (allow(read))
+ #@TestSuiteGroup Basic ACI Targetfilter Tests allow(read)
+ #@TestScript aci_targetfilter.xml
+ -->
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Preamble
- #@TestIssue 436
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Client searches entry in a branch.
- #@TestStep Client searches entry in another branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and no entries are returned
- for all operations.
- -->
- <testcase name="'ACI: Targetfilter: Preamble'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Preamble - user searching entry that will be targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Preamble - user searching entry that will be non-targeted in future tests'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with one statement
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with one statement
- #@TestPreamble Admin adds an aci with the targetfilter containing one statement.
- #@TestStep Client searches entry which should be allowed with the targetfilter.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- and only with the appropriate attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Equals One Statement'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with one statement 2
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with one statement
- #@TestPreamble Admin adds an aci with the targetfilter containing one statement.
- #@TestStep Client searches entry which should be allowed with the targetfilter.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- but with no attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Equals One Statement 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 2, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 2, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 2, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 2, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 2, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with one statement 3
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with one statement
- #@TestPreamble Admin adds an aci with the targetfilter containing one statement.
- #@TestStep Client searches entry which should be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- and only with the appropriate attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Equals One Statement 3'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 3, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 3, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 3, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 3, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 3, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter set to negative of one statement
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with (not equals) one statement
- #@TestPreamble Admin adds an aci with the targetfilter containing a negative of one statement.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Client searches entry which should be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 2
- and only with the appropriate attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Not Equals One Statement'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals One Statement, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching non-targeted entry in ACI branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals One Statement, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching previously non-targeted entry in ACI branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with three statements with or, one statement true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with or and one statement is true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with or.
- #@TestStep Client searches entry which should be allowed with the targetfilter.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- and only with the appropriate attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with three statements with or, no statement true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with or and no statement is true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with or.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- No entries are returned in any steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with three statements with and, one statement true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with and and one statement is true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with and.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- No entries are returned in any steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci5.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with three statements with and, all statements true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with and and all statements are true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with and.
- #@TestStep Client searches entry which should be allowed with the targetfilter.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Client searches entry which is outside of the scope of the aci.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for step 1
- and only with the appropriate attributes.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci6.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching non-targeted entry outside of the scope of the aci'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with extra spaces
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with extra spaces
- #@TestPreamble Admin adds an aci with the targetfilter containing extra spaces.
- #@TestStep Client searches entry which should not be allowed with the targetfilter.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously not allowed with the targetfilter.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- No entries are returned for any steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter With Extra Spaces'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter With Extra Spaces, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci7.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Extra Spaces, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Extra Spaces, admin deleting aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Extra Spaces, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with missing quotes
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with missing quotes
- #@TestPreamble none
- #@TestStep Admin adds an aci with the targetfilter with missing quotes.
- #@TestStep Client searches entry which should not be allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21
- and the aci was not addded.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter With Missing Quotes'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter With Missing Quotes, preamble adding aci'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci8.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Missing Quotes, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Preamble
+ #@TestIssue 436
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Client searches entry in a branch.
+ #@TestStep Client searches entry in another branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <testcase name="'ACI: Targetfilter: Preamble'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Preamble - user searching entry that will be targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Preamble - user searching entry that will be non-targeted in future tests'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with one statement
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with one statement
+ #@TestPreamble Admin adds an aci with the targetfilter containing one statement.
+ #@TestStep Client searches entry which should be allowed with the targetfilter.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ and only with the appropriate attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Equals One Statement'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with one statement 2
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with one statement
+ #@TestPreamble Admin adds an aci with the targetfilter containing one statement.
+ #@TestStep Client searches entry which should be allowed with the targetfilter.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ but with no attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Equals One Statement 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 2, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 2, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 2, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 2, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 2, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with one statement 3
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with one statement
+ #@TestPreamble Admin adds an aci with the targetfilter containing one statement.
+ #@TestStep Client searches entry which should be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ and only with the appropriate attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Equals One Statement 3'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 3, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 3, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 3, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 3, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 3, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter set to negative of one statement
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with (not equals) one statement
+ #@TestPreamble Admin adds an aci with the targetfilter containing a negative of one statement.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Client searches entry which should be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 2
+ and only with the appropriate attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Not Equals One Statement'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals One Statement, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching non-targeted entry in ACI branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals One Statement, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals One Statement, user searching previously non-targeted entry in ACI branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with three statements with or, one statement true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with or and one statement is true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with or.
+ #@TestStep Client searches entry which should be allowed with the targetfilter.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ and only with the appropriate attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with three statements with or, no statement true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with or and no statement is true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with or.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ No entries are returned in any steps.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with three statements with and, one statement true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with and and one statement is true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with and.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ No entries are returned in any steps.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci5.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with three statements with and, all statements true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with and and all statements are true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with and.
+ #@TestStep Client searches entry which should be allowed with the targetfilter.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Client searches entry which is outside of the scope of the aci.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for step 1
+ and only with the appropriate attributes.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci6.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching non-targeted entry outside of the scope of the aci'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with extra spaces
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with extra spaces
+ #@TestPreamble Admin adds an aci with the targetfilter containing extra spaces.
+ #@TestStep Client searches entry which should not be allowed with the targetfilter.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously not allowed with the targetfilter.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ No entries are returned for any steps.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter With Extra Spaces'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Extra Spaces, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci7.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Extra Spaces, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Extra Spaces, admin deleting aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_target/del_aci.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Extra Spaces, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with missing quotes
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with missing quotes
+ #@TestPreamble none
+ #@TestStep Admin adds an aci with the targetfilter with missing quotes.
+ #@TestStep Client searches entry which should not be allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21
+ and the aci was not addded.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter With Missing Quotes'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Missing Quotes, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci8.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Missing Quotes, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests - syntax
+ #@TestName Targetfilter with misplaced quotes
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with misplaced quotes
+ #@TestPreamble none
+ #@TestStep Admin adds an aci with the targetfilter with misplaced quotes.
+ #@TestStep Client searches entry which should not be allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21
+ and the aci was not addded.
+ -->
+ <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
+ <!-- cross reference to DS6 docs -->
+ <testcase name="'ACI: Targetfilter: Targetfilter With Missing Quotes 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Missing Quotes 2, preamble adding aci'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci9.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 21">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Missing Quotes 2, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Postamble
+ #@TestIssue 436
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Client searches entry in one branch.
+ #@TestStep Client searches entry in another branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <testcase name="'ACI: Targetfilter: Postamble'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: Targetfilter: Postamble - user searching entry that was targeted'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Targetfilter: Postamble - user searching entry that was non-targeted'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid roomnumber telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter Tests - syntax
- #@TestName Targetfilter with misplaced quotes
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with misplaced quotes
- #@TestPreamble none
- #@TestStep Admin adds an aci with the targetfilter with misplaced quotes.
- #@TestStep Client searches entry which should not be allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21
- and the aci was not addded.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="'ACI: Targetfilter: Targetfilter With Missing Quotes 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Targetfilter With Missing Quotes 2, preamble adding aci'
- </message>
+ </sequence>
+
+ </block>
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_targetfilter/add_aci9.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 21">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Missing Quotes 2, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetattr Tests
- #@TestName Postamble
- #@TestIssue 436
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Client searches entry in one branch.
- #@TestStep Client searches entry in another branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and no entries are returned
- for all operations.
- -->
- <testcase name="'ACI: Targetfilter: Postamble'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Postamble - user searching entry that was targeted'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=ACI Tests' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Targetfilter: Postamble - user searching entry that was non-targeted'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid roomnumber telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/aci/aci_teardown.xml b/opends/tests/functional-tests/testcases/aci/aci_teardown.xml
index 4b1348a..9dc31a8 100755
--- a/opends/tests/functional-tests/testcases/aci/aci_teardown.xml
+++ b/opends/tests/functional-tests/testcases/aci/aci_teardown.xml
@@ -32,84 +32,92 @@
<function name="aci_teardown">
<sequence>
-
- <script>
- CurrentTestPath['suite']='aci-teardown'
- </script>
+
+ <block name="'teardown'">
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place group-specific test information here.
- #@TestGroupName ACI
- #@TestGroupPurpose To test the ACI functionality.
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!---
+ Place group-specific test information here.
+ #@TestGroupName ACI
+ #@TestGroupPurpose To test the ACI functionality.
+
+ Place suite-specific test information here.
+ #@TestSuiteName ACI Teardown Tests
+ #@TestSuitePurpose Unconfigure OpenDS after testing ACI functionality.
+ #@TestSuiteGroup ACI Teardown Tests
+ #@TestScript aci_teardown.xml
+ -->
+
+ <!--- Test Case : Remove Entries for ACI Tests -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Teardown Tests
+ #@TestName ACI Teardown Test
+ #@TestIssue none
+ #@TestPurpose Remove entries that were needed for the ACI tests.
+ #@TestPreamble none
+ #@TestStep Disable ACI with ldapmodify.
+ #@TestStep Remove entries.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0 for all operations
+ -->
+ <testcase name="'ACI: ACI Teardown: Remove Initial Entries'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'ACI: ACI Teardown: Disabling ACI'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_disable.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: ACI Teardown: Removing Initial Entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- Place suite-specific test information here.
- #@TestSuiteName ACI Teardown Tests
- #@TestSuitePurpose Unconfigure OpenDS after testing ACI functionality.
- #@TestSuiteGroup ACI Teardown Tests
- #@TestScript aci_teardown.xml
- -->
-
- <!--- Test Case : Remove Entries for ACI Tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Teardown Tests
- #@TestName ACI Teardown Test
- #@TestIssue none
- #@TestPurpose Remove entries that were needed for the ACI tests.
- #@TestPreamble none
- #@TestStep Disable ACI with ldapmodify.
- #@TestStep Remove entries.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0 for all operations
- -->
- <testcase name="'ACI: ACI Teardown: Remove Initial Entries'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: ACI Teardown: Disabling ACI'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_disable.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: ACI Teardown: Removing Initial Entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/backends.xml b/opends/tests/functional-tests/testcases/backends/backends.xml
index 4f5a04b..5039627 100644
--- a/opends/tests/functional-tests/testcases/backends/backends.xml
+++ b/opends/tests/functional-tests/testcases/backends/backends.xml
@@ -31,56 +31,64 @@
<function name="main_backends">
- <sequence>
+ <sequence>
- <script>
- CurrentTestPath['group']='backends'
- </script>
+ <block name="'backends'">
- <call function="'testGroup_Preamble'"/>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/import.xml' % (TESTS_DIR)"/>
- <call function="'main_import'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/import-tasks.xml' % (TESTS_DIR)"/>
- <call function="'main_import-tasks'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/backendsetup.xml' % (TESTS_DIR)"/>
- <call function="'main_backend-setup'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/backup-tasks.xml' % (TESTS_DIR)"/>
- <call function="'main_backup-tasks'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/backup.xml' % (TESTS_DIR)"/>
- <call function="'main_backup'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/restore-tasks.xml' % (TESTS_DIR)"/>
- <call function="'main_restore-tasks'" />
+ <sequence>
+
+ <script>
+ CurrentTestPath['group']='backends'
+ </script>
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/restore.xml' % (TESTS_DIR)"/>
- <call function="'main_restore'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/export-tasks.xml' % (TESTS_DIR)"/>
- <call function="'main_export-tasks'" />
+ <call function="'testGroup_Preamble'"/>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/import.xml' % (TESTS_DIR)"/>
+ <call function="'main_import'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/import-tasks.xml' % (TESTS_DIR)"/>
+ <call function="'main_import-tasks'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/backendsetup.xml' % (TESTS_DIR)"/>
+ <call function="'main_backend-setup'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/backup-tasks.xml' % (TESTS_DIR)"/>
+ <call function="'main_backup-tasks'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/backup.xml' % (TESTS_DIR)"/>
+ <call function="'main_backup'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/restore-tasks.xml' % (TESTS_DIR)"/>
+ <call function="'main_restore-tasks'" />
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/backends/export.xml' % (TESTS_DIR)"/>
- <call function="'main_export'" />
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/restore.xml' % (TESTS_DIR)"/>
+ <call function="'main_restore'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/export-tasks.xml' % (TESTS_DIR)"/>
+ <call function="'main_export-tasks'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/export.xml' % (TESTS_DIR)"/>
+ <call function="'main_export'" />
+
+ <!-- Set the server backup the way it was before the backend tests -->
+ <call function="'main_quickstart'" />
+
+ <call function="'testGroup_Postamble'"/>
- <!-- Set the server backup the way it was before the backend tests -->
- <call function="'main_quickstart'" />
-
- <call function="'testGroup_Postamble'"/>
-
- </sequence>
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/backendsetup.xml b/opends/tests/functional-tests/testcases/backends/backendsetup.xml
index a0f9157..dad13a7 100644
--- a/opends/tests/functional-tests/testcases/backends/backendsetup.xml
+++ b/opends/tests/functional-tests/testcases/backends/backendsetup.xml
@@ -34,60 +34,68 @@
<sequence>
- <script>
- CurrentTestPath['suite']='setup'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!--- Test Suite information
- #@TestSuiteName Backend Setup
- #@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/
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export, Backup, and Restore Tests
- #@TestName Import: LDIF Default
- #@TestID LDIF Default
- #@TestPurpose Add entries that are required for these Backend Tests.
- #@TestPreamble
- #@TestSteps ./import-ldif.sh -l data/backends/backend_start.ldif -n "userRoot"
- #@TestPostamble
- #@TestResult
- -->
-
- <testcase name="'Backend: Backend Setup'">
-
+ <block name="'setup'">
+
<sequence>
-
- <call function="'testCase_Preamble'"/>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <message>
- 'Backend: Backend Setup for Export, Backup, and Restore Tests'
- </message>
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/backend_start.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Test Suite information
+ #@TestSuiteName Backend Setup
+ #@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/
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export, Backup, and Restore Tests
+ #@TestName Import: LDIF Default
+ #@TestID LDIF Default
+ #@TestPurpose Add entries that are required for these Backend Tests.
+ #@TestPreamble
+ #@TestSteps ./import-ldif.sh -l data/backends/backend_start.ldif -n "userRoot"
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Backend: Backend Setup'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Backend: Backend Setup for Export, Backup, and Restore Tests'
+ </message>
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/backend_start.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
- <call function="'testCase_Postamble'"/>
-
+ <call function="'testSuite_Postamble'"/>
+
</sequence>
-
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/backup-tasks.xml b/opends/tests/functional-tests/testcases/backends/backup-tasks.xml
index 4b65643..4600aad 100755
--- a/opends/tests/functional-tests/testcases/backends/backup-tasks.xml
+++ b/opends/tests/functional-tests/testcases/backends/backup-tasks.xml
@@ -34,67 +34,75 @@
<sequence>
- <script>
- CurrentTestPath['suite']='backup-tasks'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!--- Start DS -->
+ <block name="'backup-tasks'">
+
<sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <testcase name="'Backend: Backup Tasks 1'">
-
- <sequence>
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend ExportTasks1: Backup the data in OpenDS by scheduling a task'
- </message>
- <call function="'backupTask'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
- 'taskID' : '3',
- 'backupDir' : '%s/backends/' % STAGED_DATA_DIR
- }
- </call>
-
- <call function="'checktestRC'">
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
-
- <call function="'testCase_Postamble'"/>
+
+ <testcase name="'Backend: Backup Tasks 1'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend ExportTasks1: Backup the data in OpenDS by scheduling a task'
+ </message>
+ <call function="'backupTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : '3',
+ 'backupDir' : '%s/backends/' % STAGED_DATA_DIR
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+
+ <call function="'testSuite_Postamble'"/>
- </sequence>
-
- </testcase>
-
-
- <call function="'testSuite_Postamble'"/>
-
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/backup.xml b/opends/tests/functional-tests/testcases/backends/backup.xml
index cf101c9..e5c5fa5 100644
--- a/opends/tests/functional-tests/testcases/backends/backup.xml
+++ b/opends/tests/functional-tests/testcases/backends/backup.xml
@@ -34,213 +34,221 @@
<sequence>
- <script>
- CurrentTestPath['suite']='backup'
- </script>
+ <block name="'backup'">
- <call function="'testSuite_Preamble'"/>
-
- <!--- Test Suite information
- #@TestSuiteName Backend Backup Tests
- #@TestSuitePurpose Verify that the basic backup functionality is working in the Directory Server.
- #@TestSuiteID Backup Tests
- #@TestSuiteGroup Backup
- #@TestGroup Backend
- #@TestScript backup.xml
- #@TestHTMLLink http://opends.dev.java.net/
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Backup Tests
- #@TestName Export: Backup 1
- #@TestID Backup1
- #@TestPurpose Backup the data in OpenDS.
- #@TestPreamble
- #@TestSteps Client calls backup with the parameters
- default backendID, and backupDirectory
- #@TestPostamble
- #@TestResult Success if backup returns 0
- -->
-
- <testcase name="'Backend: Backup 1'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Backup1: Create a backup of the data in OpenDS'
- </message>
- <call function="'backup'">
- {
- 'backupDir' : '%s/backends/backup1' % STAGED_DATA_DIR
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Backup Tests
- #@TestName Export: Backup 2
- #@TestID Backup2
- #@TestPurpose Create an incremental backup of the data in OpenDS.
- #@TestPreamble
- #@TestSteps Client calls backup with the parameters
- default backendID, backupDir, and incremental
- #@TestPostamble
- #@TestResult Success if backup returns 0
- -->
-
- <testcase name="'Backend: Backup 2'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Backup2: Create an incremental backup of the data in OpenDS'
- </message>
- <call function="'backup'">
- {
- 'backupDir' : '%s/backends/backup1' % STAGED_DATA_DIR,
- 'extraParams' : '-i'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Backup Tests
- #@TestName Export: Backup 3
- #@TestID Backup3
- #@TestPurpose Create a backup of the data in OpenDS with a backup id.
- #@TestPreamble
- #@TestSteps Client calls backup with the parameters
- default backendID, backupDir, and backupID
- #@TestPostamble
- #@TestResult Success if backup returns 0
- -->
-
- <testcase name="'Backend: Backup 3'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Backup3: Create a backup of the data in OpenDS with a backup id'
- </message>
- <call function="'backup'">
- {
- 'backupDir' : '%s/backends/backup2' % STAGED_DATA_DIR,
- 'extraParams' : '-I 20070714142807Z'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Backup Tests
- #@TestName Export: Backup 4
- #@TestID Backup4
- #@TestPurpose Create an incremental backup of the data in OpenDS with a backup id.
- #@TestPreamble
- #@TestSteps Client calls backup with the parameters
- default backendID, backupDir, incremental, and backupID
- #@TestPostamble
- #@TestResult Success if backup returns 0
- -->
-
- <testcase name="'Backend: Backup 4'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Backup4: Create an incremental backup of the data in OpenDS with a backup id'
- </message>
- <call function="'backup'">
- {
- 'backupDir' : '%s/backends/backup2' % STAGED_DATA_DIR,
- 'extraParams' : '-B 20070714142807Z -i'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Backup Tests
- #@TestName Export: Backup 5
- #@TestID Backup5
- #@TestPurpose Create a compressed backup of the data in OpenDS.
- #@TestPreamble
- #@TestSteps Client calls backup with the parameters
- default backendID, backupDir, and compress
- #@TestPostamble
- #@TestResult Success if backup returns 0
- -->
-
- <testcase name="'Backend: Backup 5'">
-
- <sequence>
+ <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Backup5: Create a compressed backup of the data in OpenDS'
- </message>
- <call function="'backup'">
- {
- 'backupDir' : '%s/backends/backup1' % STAGED_DATA_DIR,
- 'extraParams' : '-c'
- }
- </call>
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Test Suite information
+ #@TestSuiteName Backend Backup Tests
+ #@TestSuitePurpose Verify that the basic backup functionality is working in the Directory Server.
+ #@TestSuiteID Backup Tests
+ #@TestSuiteGroup Backup
+ #@TestGroup Backend
+ #@TestScript backup.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Backup Tests
+ #@TestName Export: Backup 1
+ #@TestID Backup1
+ #@TestPurpose Backup the data in OpenDS.
+ #@TestPreamble
+ #@TestSteps Client calls backup with the parameters
+ default backendID, and backupDirectory
+ #@TestPostamble
+ #@TestResult Success if backup returns 0
+ -->
+
+ <testcase name="'Backend: Backup:1'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Backup1: Create a backup of the data in OpenDS'
+ </message>
+ <call function="'backup'">
+ {
+ 'backupDir' : '%s/backends/backup1' % STAGED_DATA_DIR
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
- <call function="'testSuite_Postamble'"/>
+ <!--- Test Case information
+ #@TestMarker Backend Backup Tests
+ #@TestName Export: Backup 2
+ #@TestID Backup2
+ #@TestPurpose Create an incremental backup of the data in OpenDS.
+ #@TestPreamble
+ #@TestSteps Client calls backup with the parameters
+ default backendID, backupDir, and incremental
+ #@TestPostamble
+ #@TestResult Success if backup returns 0
+ -->
+
+ <testcase name="'Backend: Backup 2'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Backup2: Create an incremental backup of the data in OpenDS'
+ </message>
+ <call function="'backup'">
+ {
+ 'backupDir' : '%s/backends/backup1' % STAGED_DATA_DIR,
+ 'extraParams' : '-i'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Backup Tests
+ #@TestName Export: Backup 3
+ #@TestID Backup3
+ #@TestPurpose Create a backup of the data in OpenDS with a backup id.
+ #@TestPreamble
+ #@TestSteps Client calls backup with the parameters
+ default backendID, backupDir, and backupID
+ #@TestPostamble
+ #@TestResult Success if backup returns 0
+ -->
+
+ <testcase name="'Backend: Backup 3'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Backup3: Create a backup of the data in OpenDS with a backup id'
+ </message>
+ <call function="'backup'">
+ {
+ 'backupDir' : '%s/backends/backup2' % STAGED_DATA_DIR,
+ 'extraParams' : '-I 20070714142807Z'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+ <!--- Test Case information
+ #@TestMarker Backend Backup Tests
+ #@TestName Export: Backup 4
+ #@TestID Backup4
+ #@TestPurpose Create an incremental backup of the data in OpenDS with a backup id.
+ #@TestPreamble
+ #@TestSteps Client calls backup with the parameters
+ default backendID, backupDir, incremental, and backupID
+ #@TestPostamble
+ #@TestResult Success if backup returns 0
+ -->
+
+ <testcase name="'Backend: Backup 4'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Backup4: Create an incremental backup of the data in OpenDS with a backup id'
+ </message>
+ <call function="'backup'">
+ {
+ 'backupDir' : '%s/backends/backup2' % STAGED_DATA_DIR,
+ 'extraParams' : '-B 20070714142807Z -i'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Backup Tests
+ #@TestName Export: Backup 5
+ #@TestID Backup5
+ #@TestPurpose Create a compressed backup of the data in OpenDS.
+ #@TestPreamble
+ #@TestSteps Client calls backup with the parameters
+ default backendID, backupDir, and compress
+ #@TestPostamble
+ #@TestResult Success if backup returns 0
+ -->
+
+ <testcase name="'Backend: Backup 5'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Backup5: Create a compressed backup of the data in OpenDS'
+ </message>
+ <call function="'backup'">
+ {
+ 'backupDir' : '%s/backends/backup1' % STAGED_DATA_DIR,
+ 'extraParams' : '-c'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/export-tasks.xml b/opends/tests/functional-tests/testcases/backends/export-tasks.xml
index b5defe8..c068b15 100644
--- a/opends/tests/functional-tests/testcases/backends/export-tasks.xml
+++ b/opends/tests/functional-tests/testcases/backends/export-tasks.xml
@@ -34,369 +34,377 @@
<sequence>
- <script>
- CurrentTestPath['suite']='export-tasks'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
+ <block name="'export-tasks'">
+
+ <sequence>
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Suite information
- #@TestSuiteName Backend Export Tasks Tests
- #@TestSuitePurpose Verify that the basic export task functionality is working in the Directory Server.
- #@TestSuiteID Export Tasks Tests
- #@TestSuiteGroup Export Tasks
- #@TestGroup Backend
- #@TestScript export.xml
- #@TestHTMLLink http://opends.dev.java.net/
- -->
-
- <!--- 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
- -->
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
-
- <testcase name="'Backend: Export Tasks 1'">
-
-
- <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' % STAGED_DATA_DIR
- }
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
</call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
-
- <call function="'testCase_Postamble'"/>
+
+ <!--- Test Suite information
+ #@TestSuiteName Backend Export Tasks Tests
+ #@TestSuitePurpose Verify that the basic export task functionality is working in the Directory Server.
+ #@TestSuiteID Export Tasks Tests
+ #@TestSuiteGroup Export Tasks
+ #@TestGroup Backend
+ #@TestScript export.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+
+ <!--- 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
+ -->
+
+
+ <testcase name="'Backend: Export Tasks 1'">
+
+
+ <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' % STAGED_DATA_DIR
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+ </sequence>
+
+ <call function="'testSuite_Postamble'"/>
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
- </sequence>
-
- <call function="'testSuite_Postamble'"/>
-
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/export.xml b/opends/tests/functional-tests/testcases/backends/export.xml
index caec888..085a04c 100644
--- a/opends/tests/functional-tests/testcases/backends/export.xml
+++ b/opends/tests/functional-tests/testcases/backends/export.xml
@@ -34,880 +34,888 @@
<sequence>
- <script>
- CurrentTestPath['suite']='export'
- </script>
+ <block name="'export'">
- <call function="'testSuite_Preamble'"/>
-
- <!--- 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/
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 1
- #@TestID Export1
- #@TestPurpose Export the data in OpenDS.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, and ldifFile
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 1'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export1: Export the data in OpenDS'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export1.ldif' % STAGED_DATA_DIR
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 2
- #@TestID Export2
- #@TestPurpose Export the data in OpenDS by appending to an ldif file.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and append
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 2'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export2: Export the data in OpenDS by appending to an ldif file'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export1.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-a'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 3
- #@TestID Export3
- #@TestPurpose Export the data in OpenDS with one includeAttribute parameter.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and includeAttribute
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 3'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export3: Export the data in OpenDSwith one includeAttribute parameter '
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export3.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-i telephonenumber'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 4
- #@TestID Export4
- #@TestPurpose Export the data in OpenDS with three includeAttribute parameters.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and includeAttribute
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 4'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export4: Export the data in OpenDS with three includeAttribute parameters'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export4.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-i telephonenumber -i mail -i roomnumber'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 5
- #@TestID Export5
- #@TestPurpose Export the data in OpenDS with one excludeAttribute parameter.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and excludeAttribute
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 5'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export5: Export the data in OpenDS with one excludeAttribute parameter'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export5.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-e telephonenumber'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 6
- #@TestID Export6
- #@TestPurpose Export the data in OpenDS with three excludeAttribute parameters.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and excludeAttribute
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 6'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export6: Export the data in OpenDS with three excludeAttribute parameters'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export6.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-e telephonenumber -e mail -e roomnumber'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 7
- #@TestID Export7
- #@TestPurpose Export the data in OpenDS with one includeFilter parameter.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and includeFilter
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 7'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export7: Export the data in OpenDS with one includeFilter parameter'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export7.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-I "(&(uid=jwalker)(roomnumber=*))'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 8
- #@TestID Export8
- #@TestPurpose Export the data in OpenDS with three includeFilter parameters.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and includeFilter
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 8'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export8: Export the data in OpenDS with three includeFilter parameters'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export8.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-I "(&(uid=jwalker)(roomnumber=*))" -I "(&(uid=jwalker)(l=Cupertino))" -I "(&(uid=jwallace)(roomnumber=*))"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 9
- #@TestID Export9
- #@TestPurpose Export the data in OpenDS with one excludeFilter parameter.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and excludeFilter
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 9'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export9: Export the data in OpenDS with one excludeFilter parameter'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export9.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-E "(&(uid=jwalker)(roomnumber=*))"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 10
- #@TestID Export10
- #@TestPurpose Export the data in OpenDS with three excludeFilter parameters.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and excludeFilter
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 10'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export10: Export the data in OpenDS with three excludeFilter parameters'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export10.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-E "(&(uid=jwalker)(roomnumber=*))" -E "(&(uid=jwalker)(l=Cupertino))" -E "(&(uid=jwallace)(roomnumber=*))"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 11
- #@TestID Export11
- #@TestPurpose Export the data in OpenDS with one includeBranch parameter.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and includeBranch
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 11'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export11: Export the data in OpenDS with one includeBranch parameter'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export11.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-b "o=backend tests,dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 12
- #@TestID Export12
- #@TestPurpose Export the data in OpenDS with one excludeBranch parameter.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and excludeBranch
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 12'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export12: Export the data in OpenDS with one excludeBranch parameter'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export12.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-B "ou=People,o=backend tests,dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 13
- #@TestID Export13
- #@TestPurpose Export the data in OpenDS with one includeAttribute, excludeFilter, and includeBranch parameters.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, includeAttribute, excludeFilter, and includeBranch
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 13'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export13: Export the data in OpenDS with one includeAttribute, excludeFilter, and includeBranch parameters'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export13.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-E "(&(uid=jwalker)(roomnumber=*))" -i telephonenumber -b "o=backend tests,dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 14
- #@TestID Export14
- #@TestPurpose Export the data in OpenDS with one excludeAttribute, includeFilter, and excludeBranch parameters.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, excludeAttribute, includeFilter, and excludeBranch
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 14'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export14: Export the data in OpenDS with one excludeAttribute, includeFilter, and excludeBranch parameters'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export14.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-I "(&(uid=jwalker)(roomnumber=*))" -e telephonenumber -B "ou=groups,o=backend tests,dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 15
- #@TestID Export15
- #@TestPurpose Export the data in OpenDS in compressed format.
- #@TestPreamble
- #@TestSteps Client calls exportLDIF with the parameters
- default backend, ldifFile, and compressLDIF
- #@TestPostamble
- #@TestResult Success if exportLDIF returns 0
- -->
-
- <testcase name="'Backend: Export 15'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Backend Export15: Export the data in OpenDS in compressed format'
- </message>
- <call function="'exportLdif'">
- {
- 'ldifFile' : '%s/backends/Export15.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-c'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
+ <sequence>
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Export 1
- #@TestID Export1
- #@TestPurpose
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- 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/
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 1
+ #@TestID Export1
+ #@TestPurpose Export the data in OpenDS.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, and ldifFile
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 1'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export1: Export the data in OpenDS'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export1.ldif' % STAGED_DATA_DIR
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 2
+ #@TestID Export2
+ #@TestPurpose Export the data in OpenDS by appending to an ldif file.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and append
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 2'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export2: Export the data in OpenDS by appending to an ldif file'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export1.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-a'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 3
+ #@TestID Export3
+ #@TestPurpose Export the data in OpenDS with one includeAttribute parameter.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and includeAttribute
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 3'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export3: Export the data in OpenDSwith one includeAttribute parameter '
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export3.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-i telephonenumber'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 4
+ #@TestID Export4
+ #@TestPurpose Export the data in OpenDS with three includeAttribute parameters.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and includeAttribute
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 4'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export4: Export the data in OpenDS with three includeAttribute parameters'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export4.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-i telephonenumber -i mail -i roomnumber'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 5
+ #@TestID Export5
+ #@TestPurpose Export the data in OpenDS with one excludeAttribute parameter.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and excludeAttribute
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 5'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export5: Export the data in OpenDS with one excludeAttribute parameter'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export5.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-e telephonenumber'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 6
+ #@TestID Export6
+ #@TestPurpose Export the data in OpenDS with three excludeAttribute parameters.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and excludeAttribute
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 6'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export6: Export the data in OpenDS with three excludeAttribute parameters'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export6.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-e telephonenumber -e mail -e roomnumber'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 7
+ #@TestID Export7
+ #@TestPurpose Export the data in OpenDS with one includeFilter parameter.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and includeFilter
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 7'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export7: Export the data in OpenDS with one includeFilter parameter'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export7.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-I "(&(uid=jwalker)(roomnumber=*))'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 8
+ #@TestID Export8
+ #@TestPurpose Export the data in OpenDS with three includeFilter parameters.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and includeFilter
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 8'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export8: Export the data in OpenDS with three includeFilter parameters'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export8.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-I "(&(uid=jwalker)(roomnumber=*))" -I "(&(uid=jwalker)(l=Cupertino))" -I "(&(uid=jwallace)(roomnumber=*))"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 9
+ #@TestID Export9
+ #@TestPurpose Export the data in OpenDS with one excludeFilter parameter.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and excludeFilter
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 9'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export9: Export the data in OpenDS with one excludeFilter parameter'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export9.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-E "(&(uid=jwalker)(roomnumber=*))"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 10
+ #@TestID Export10
+ #@TestPurpose Export the data in OpenDS with three excludeFilter parameters.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and excludeFilter
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 10'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export10: Export the data in OpenDS with three excludeFilter parameters'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export10.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-E "(&(uid=jwalker)(roomnumber=*))" -E "(&(uid=jwalker)(l=Cupertino))" -E "(&(uid=jwallace)(roomnumber=*))"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 11
+ #@TestID Export11
+ #@TestPurpose Export the data in OpenDS with one includeBranch parameter.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and includeBranch
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 11'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export11: Export the data in OpenDS with one includeBranch parameter'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export11.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-b "o=backend tests,dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 12
+ #@TestID Export12
+ #@TestPurpose Export the data in OpenDS with one excludeBranch parameter.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and excludeBranch
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 12'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export12: Export the data in OpenDS with one excludeBranch parameter'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export12.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-B "ou=People,o=backend tests,dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 13
+ #@TestID Export13
+ #@TestPurpose Export the data in OpenDS with one includeAttribute, excludeFilter, and includeBranch parameters.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, includeAttribute, excludeFilter, and includeBranch
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 13'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export13: Export the data in OpenDS with one includeAttribute, excludeFilter, and includeBranch parameters'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export13.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-E "(&(uid=jwalker)(roomnumber=*))" -i telephonenumber -b "o=backend tests,dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 14
+ #@TestID Export14
+ #@TestPurpose Export the data in OpenDS with one excludeAttribute, includeFilter, and excludeBranch parameters.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, excludeAttribute, includeFilter, and excludeBranch
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 14'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export14: Export the data in OpenDS with one excludeAttribute, includeFilter, and excludeBranch parameters'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export14.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-I "(&(uid=jwalker)(roomnumber=*))" -e telephonenumber -B "ou=groups,o=backend tests,dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 15
+ #@TestID Export15
+ #@TestPurpose Export the data in OpenDS in compressed format.
+ #@TestPreamble
+ #@TestSteps Client calls exportLDIF with the parameters
+ default backend, ldifFile, and compressLDIF
+ #@TestPostamble
+ #@TestResult Success if exportLDIF returns 0
+ -->
+
+ <testcase name="'Backend: Export 15'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Backend Export15: Export the data in OpenDS in compressed format'
+ </message>
+ <call function="'exportLdif'">
+ {
+ 'ldifFile' : '%s/backends/Export15.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-c'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: LDIF Default
- #@TestID LDIF Default
- #@TestPurpose Verify an export of a LDIF file on the default backend.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Fractional Mix
- #@TestID Fractional Mix
- #@TestPurpose Verify an export of a LDIF file specifying a mix of fractional attributes and branches.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName 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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Compress LDIF
- #@TestID Compress LDIF
- #@TestPurpose Verify an export where the LDIF file is compressed.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Encrypt LDIF
- #@TestID Encrypt LDIF
- #@TestPurpose Verify an export where the LDIF file is encrypted.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- 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
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Wrap Column
- #@TestID Wrap Column
- #@TestPurpose Verify an export of a LDIF file containing wrapped columns
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Export Tests
- #@TestName Export: Error Codes
- #@TestID Error Codes
- #@TestPurpose Verify an export fails with an error code.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <call function="'testSuite_Postamble'"/>
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Export 1
+ #@TestID Export1
+ #@TestPurpose
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: LDIF Default
+ #@TestID LDIF Default
+ #@TestPurpose Verify an export of a LDIF file on the default backend.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Fractional Mix
+ #@TestID Fractional Mix
+ #@TestPurpose Verify an export of a LDIF file specifying a mix of fractional attributes and branches.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName 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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Compress LDIF
+ #@TestID Compress LDIF
+ #@TestPurpose Verify an export where the LDIF file is compressed.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Encrypt LDIF
+ #@TestID Encrypt LDIF
+ #@TestPurpose Verify an export where the LDIF file is encrypted.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- 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
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Wrap Column
+ #@TestID Wrap Column
+ #@TestPurpose Verify an export of a LDIF file containing wrapped columns
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Export Tests
+ #@TestName Export: Error Codes
+ #@TestID Error Codes
+ #@TestPurpose Verify an export fails with an error code.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
</sequence>
diff --git a/opends/tests/functional-tests/testcases/backends/import-tasks.xml b/opends/tests/functional-tests/testcases/backends/import-tasks.xml
index 419fdbb..33a1aeb 100644
--- a/opends/tests/functional-tests/testcases/backends/import-tasks.xml
+++ b/opends/tests/functional-tests/testcases/backends/import-tasks.xml
@@ -34,1354 +34,29 @@
<sequence>
- <script>
- CurrentTestPath['suite']='import-tasks'
- </script>
+ <block name="'import-tasks'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
- <parallel>
-
- <!--- Block : DS -->
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- Block : DS -->
- </block>
-
- <!--- Block : Test Cases -->
- <block name="'Block Test Cases Active'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Suite information
- #@TestSuiteName Backend Import Tasks Tests
- #@TestSuitePurpose Verify that the basic import using the task based functionality is working in the Directory Server.
- #@TestSuiteID Import Tasks Tests
- #@TestSuiteGroup Import-Tasks
- #@TestGroup Backend
- #@TestScript import-tasks.xml
- #@TestHTMLLink http://opends.dev.java.net/
- -->
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: LDIF Default'">
-
- <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' % STAGED_DATA_DIR,
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@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
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Include Branch'">
-
- <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' % STAGED_DATA_DIR,
- 'includeBranches' : 'dc=com',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Include Branches'">
-
- <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' % STAGED_DATA_DIR,
- 'includeBranches' : ['dc=com','dc=example,dc=com']
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Exclude Branch'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeBranches' : 'ou=Departed,ou=People,dc=example,dc=com',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Exclude Branches'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeBranches' : ['ou=Departed,ou=People,dc=example,dc=com',
- 'cn=QA Managers,ou=groups,dc=example,dc=com']
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Branches Mix'">
-
- <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' % STAGED_DATA_DIR,
- 'includeBranches' : 'dc=com',
- 'excludeBranches' : 'ou=Departed,ou=People,dc=example,dc=com',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Include Attribute'">
-
- <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' % STAGED_DATA_DIR,
- 'includeAttributes' : 'dc',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['dc=com','dc=example,dc=com'],
- 'missingEntries' : ['ou=People,dc=example,dc=com'],
- 'startDS' : 'no'
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Include Attributes'">
-
- <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' % STAGED_DATA_DIR,
- 'includeAttributes' : ['dc','cn','ou','sn']
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Exclude Attribute'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeAttributes' : 'userpassword'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
- 'missingAttributes' : ['userpassword'],
- 'startDS' : 'no'
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Exclude Attributes'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeAttributes' : ['userpassword','mail','roomnumber']
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
- 'missingAttributes' : ['userpassword','mail','roomnumber'],
- 'startDS' : 'no'
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Mix'">
-
- <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' % STAGED_DATA_DIR,
- '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="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Filtered Include'">
-
- <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' % STAGED_DATA_DIR,
- 'includeFilters' : 'objectclass=*',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Filtered Exclude'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeFilters' : 'objectclass=person',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Filtered Includes'">
-
- <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' % STAGED_DATA_DIR,
- 'includeFilters' : ['objectclass=domain*','objectclass=organizationalunit']
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Filtered Excludes'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeFilters' : ['objectclass=person','objectclass=organizationalunit'],
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['dc=example,dc=com'],
- 'missingEntries' : ['ou=People,dc=example,dc=com'],
- 'startDS' : 'no'
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Filtered Includes Complex'">
-
- <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' % STAGED_DATA_DIR,
- 'includeFilters' : '|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Filtered Excludes Complex'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeFilters' : '&(objectclass=person)(ou=Departed)',
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Fractional Filtered Mix'">
-
- <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' % STAGED_DATA_DIR,
- 'excludeFilters' : '&(objectclass=person)(ou=Departed)',
- 'includeBranches' : 'dc=com',
- 'excludeAttributes' : 'userpassword'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
- 'missingAttributes' : ['userpassword'],
- 'startDS' : 'no'
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Append'">
-
- <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' % STAGED_DATA_DIR,
- 'append' : 'TRUE'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Append Replace Existing'">
-
- <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' % STAGED_DATA_DIR,
- 'append' : 'TRUE',
- 'replaceExisting' : 'TRUE'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Compressed'">
-
- <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' % STAGED_DATA_DIR,
- 'isCompressed' : 'TRUE'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Encrypted'">
-
- <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' % STAGED_DATA_DIR,
- '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>
-
- <!-- This test should fail. -->
- <tcstatus result="'fail'"/>
- <message log="1" level="'Error'">
- 'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
- </message>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <!-- Test Not Implemented. Feature not avaliable -->
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Rejects File'">
-
- <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' % STAGED_DATA_DIR,
- 'rejectsFile' : './rejects'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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 -->
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Rejects File'">
-
- <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' % STAGED_DATA_DIR,
- 'rejectsFile' : './rejects',
- 'overwriteRejectsFile' : 'TRUE'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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 -->
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import Tasks: Skip Schema Validation Accept'">
-
- <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' % STAGED_DATA_DIR,
- 'skipSchemaValidation' : 'TRUE'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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 invalided schema is rejected when skip schema validation is not specified
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <testcase name="'Backend: Import Tasks: Skip Schema Validation Reject'">
-
- <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' % STAGED_DATA_DIR,
- 'skipSchemaValidation' : 'FALSE'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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 -->
-
- <!--- Stop DS -->
+ <!--- Block : DS -->
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
<sequence>
<message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
</message>
- <!--- Stop DS -->
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
</call>
<call function="'checkRC'">
@@ -1390,16 +65,1349 @@
</call>
</sequence>
-
- </sequence>
-
- <!--- Block : Test Cases -->
- </block>
-
- </parallel>
+
+ <!--- Block : DS -->
+ </block>
+
+ <!--- Block : Test Cases -->
+ <block name="'Block Test Cases Active'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
- <call function="'testSuite_Postamble'"/>
+ <!--- Test Suite information
+ #@TestSuiteName Backend Import Tasks Tests
+ #@TestSuitePurpose Verify that the basic import using the task based functionality is working in the Directory Server.
+ #@TestSuiteID Import Tasks Tests
+ #@TestSuiteGroup Import-Tasks
+ #@TestGroup Backend
+ #@TestScript import-tasks.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: LDIF Default'">
+
+ <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' % STAGED_DATA_DIR,
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@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
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Include Branch'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeBranches' : 'dc=com',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Include Branches'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeBranches' : ['dc=com','dc=example,dc=com']
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Exclude Branch'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeBranches' : 'ou=Departed,ou=People,dc=example,dc=com',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Exclude Branches'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeBranches' : ['ou=Departed,ou=People,dc=example,dc=com',
+ 'cn=QA Managers,ou=groups,dc=example,dc=com']
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Branches Mix'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeBranches' : 'dc=com',
+ 'excludeBranches' : 'ou=Departed,ou=People,dc=example,dc=com',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Include Attribute'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeAttributes' : 'dc',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['dc=com','dc=example,dc=com'],
+ 'missingEntries' : ['ou=People,dc=example,dc=com'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Include Attributes'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeAttributes' : ['dc','cn','ou','sn']
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Exclude Attribute'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeAttributes' : 'userpassword'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Exclude Attributes'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeAttributes' : ['userpassword','mail','roomnumber']
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword','mail','roomnumber'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Mix'">
+
+ <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' % STAGED_DATA_DIR,
+ '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="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Filtered Include'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeFilters' : 'objectclass=*',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Filtered Exclude'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeFilters' : 'objectclass=person',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Filtered Includes'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeFilters' : ['objectclass=domain*','objectclass=organizationalunit']
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Filtered Excludes'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeFilters' : ['objectclass=person','objectclass=organizationalunit'],
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['dc=example,dc=com'],
+ 'missingEntries' : ['ou=People,dc=example,dc=com'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Filtered Includes Complex'">
+
+ <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' % STAGED_DATA_DIR,
+ 'includeFilters' : '|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Filtered Excludes Complex'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeFilters' : '&(objectclass=person)(ou=Departed)',
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Fractional Filtered Mix'">
+
+ <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' % STAGED_DATA_DIR,
+ 'excludeFilters' : '&(objectclass=person)(ou=Departed)',
+ 'includeBranches' : 'dc=com',
+ 'excludeAttributes' : 'userpassword'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Append'">
+
+ <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' % STAGED_DATA_DIR,
+ 'append' : 'TRUE'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Append Replace Existing'">
+
+ <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' % STAGED_DATA_DIR,
+ 'append' : 'TRUE',
+ 'replaceExisting' : 'TRUE'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Compressed'">
+
+ <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' % STAGED_DATA_DIR,
+ 'isCompressed' : 'TRUE'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Encrypted'">
+
+ <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' % STAGED_DATA_DIR,
+ '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>
+
+ <!-- This test should fail. -->
+ <tcstatus result="'fail'"/>
+ <message log="1" level="'Error'">
+ 'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
+ </message>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <!-- Test Not Implemented. Feature not avaliable -->
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Rejects File'">
+
+ <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' % STAGED_DATA_DIR,
+ 'rejectsFile' : './rejects'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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 -->
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Rejects File'">
+
+ <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' % STAGED_DATA_DIR,
+ 'rejectsFile' : './rejects',
+ 'overwriteRejectsFile' : 'TRUE'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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 -->
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import Tasks: Skip Schema Validation Accept'">
+
+ <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' % STAGED_DATA_DIR,
+ 'skipSchemaValidation' : 'TRUE'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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 invalided schema is rejected when skip schema validation is not specified
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Backend: Import Tasks: Skip Schema Validation Reject'">
+
+ <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' % STAGED_DATA_DIR,
+ 'skipSchemaValidation' : 'FALSE'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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 -->
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Stop DS -->
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ </sequence>
+
+ <!--- Block : Test Cases -->
+ </block>
+
+ </parallel>
+
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/import.xml b/opends/tests/functional-tests/testcases/backends/import.xml
index 623fae2..6f1f273 100644
--- a/opends/tests/functional-tests/testcases/backends/import.xml
+++ b/opends/tests/functional-tests/testcases/backends/import.xml
@@ -34,1160 +34,1168 @@
<sequence>
- <script>
- CurrentTestPath['suite']='import'
- </script>
+ <block name="'import'">
- <call function="'testSuite_Preamble'"/>
-
- <!--- 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/
- -->
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: LDIF Default'">
-
<sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
-<!-- Not clear how to create a second backend
- <testcase name="'Backend: Import: LDIF Non Default'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
- 'backEnd' : 'nonDefault' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
--->
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Include Branch'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-b dc=com'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Include Branches'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-b "dc=com" -b "dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Exclude Branch'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-B "ou=Departed,ou=People,dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Exclude Branches'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-B "ou=Departed,ou=People,dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Branches Mix'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-b dc=com -B "ou=Departed,ou=People,dc=example,dc=com"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Include Attribute'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-i dc'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['dc=com','dc=example,dc=com'],
- 'missingEntries' : ['ou=People,dc=example,dc=com']
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Include Attributes'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-i dc -i cn -i ou -i sn'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Exclude Attribute'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-e userpassword'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
- 'missingAttributes' : ['userpassword']
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Exclude Attributes'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-e userpassword -e mail -e roomnumber'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
- 'missingAttributes' : ['userpassword']
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Mix'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-i dc -i cn -i ou -i sn -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="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Filtered Include'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-I "objectclass=*'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Filtered Exclude'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-E "objectclass=person"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Filtered Includes'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-I "objectclass=domain" -I "objectclass=organizationalunit"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Filtered Excludes'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-E "objectclass=person" -E "objectclass=organizationalunit"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'checkImport'">
- { 'expectedEntries' : ['dc=example,dc=com'],
- 'missingEntries' : ['ou=People,dc=example,dc=com']
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Filtered Includes Complex'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-I "|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Filtered Excludes Complex'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-E "&(objectclass=person)(ou=Departed)"'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Fractional Filtered Mix'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-E "&(objectclass=person)(ou=Departed)" -b "dc=com" -e userpassword'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Append'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Append.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-a'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Append Replace Existing'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Append.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-a -r'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Compressed'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Example.ldif.gz' % STAGED_DATA_DIR,
- 'extraParams' : '-c'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Encrypted'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-y'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <!-- This test should fail. -->
- <tcstatus result="'fail'"/>
- <message log="1" level="'Error'">
- 'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
- </message>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <!-- 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
- -->
-
- <testcase name="'Backend: Import: Rejects File'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-R %s/rejects.txt' % TMPDIR
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Rejects File Overwrite'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-R %s/rejects.txt -O' % TMPDIR
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Skip Schema Validation Accept'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Schema.ldif' % STAGED_DATA_DIR,
- 'extraParams' : '-s'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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
- -->
-
- <testcase name="'Backend: Import: Skip Schema Validation Reject'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <call function="'importLdif'">
- { 'ldifFile' : '%s/backends/Schema.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </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>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- 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 -->
-
- <call function="'testSuite_Postamble'"/>
+ <!--- 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/
+ -->
+
+ <!--- 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
+ -->
+ <testcase name="'Backend: Import: LDIF Default'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <!-- Not clear how to create a second backend
+ <testcase name="'Backend: Import: LDIF Non Default'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'backEnd' : 'nonDefault' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+ -->
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Include Branch'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-b dc=com'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Include Branches'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-b "dc=com" -b "dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Exclude Branch'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-B "ou=Departed,ou=People,dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Exclude Branches'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-B "ou=Departed,ou=People,dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Branches Mix'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-b dc=com -B "ou=Departed,ou=People,dc=example,dc=com"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Include Attribute'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-i dc'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['dc=com','dc=example,dc=com'],
+ 'missingEntries' : ['ou=People,dc=example,dc=com']
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Include Attributes'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-i dc -i cn -i ou -i sn'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Exclude Attribute'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-e userpassword'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword']
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Exclude Attributes'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-e userpassword -e mail -e roomnumber'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword']
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Mix'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-i dc -i cn -i ou -i sn -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="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Filtered Include'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-I "objectclass=*'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Filtered Exclude'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-E "objectclass=person"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Filtered Includes'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-I "objectclass=domain" -I "objectclass=organizationalunit"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Filtered Excludes'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-E "objectclass=person" -E "objectclass=organizationalunit"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['dc=example,dc=com'],
+ 'missingEntries' : ['ou=People,dc=example,dc=com']
+ }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Filtered Includes Complex'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-I "|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Filtered Excludes Complex'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-E "&(objectclass=person)(ou=Departed)"'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Fractional Filtered Mix'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-E "&(objectclass=person)(ou=Departed)" -b "dc=com" -e userpassword'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Append'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Append.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-a'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Append Replace Existing'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Append.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-a -r'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Compressed'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Example.ldif.gz' % STAGED_DATA_DIR,
+ 'extraParams' : '-c'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Encrypted'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-y'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <!-- This test should fail. -->
+ <tcstatus result="'fail'"/>
+ <message log="1" level="'Error'">
+ 'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
+ </message>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <!-- 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
+ -->
+
+ <testcase name="'Backend: Import: Rejects File'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-R %s/rejects.txt' % TMPDIR
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Rejects File Overwrite'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-R %s/rejects.txt -O' % TMPDIR
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Skip Schema Validation Accept'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Schema.ldif' % STAGED_DATA_DIR,
+ 'extraParams' : '-s'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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
+ -->
+
+ <testcase name="'Backend: Import: Skip Schema Validation Reject'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <call function="'importLdif'">
+ { 'ldifFile' : '%s/backends/Schema.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </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>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- 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 -->
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/restore-tasks.xml b/opends/tests/functional-tests/testcases/backends/restore-tasks.xml
index 297797c..b2f554c 100755
--- a/opends/tests/functional-tests/testcases/backends/restore-tasks.xml
+++ b/opends/tests/functional-tests/testcases/backends/restore-tasks.xml
@@ -34,36 +34,39 @@
<sequence>
- <script>
- CurrentTestPath['suite']='restore-tasks'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!--- Test Suite information
- #@TestSuiteName Backend Restore Tasks Tests
- #@TestSuitePurpose Verify that the basic restore task functionality is working in the Directory Server.
- #@TestSuiteID Restore Tasks Tests
- #@TestSuiteGroup Restore Tasks
- #@TestGroup Backend
- #@TestScript restore-tasks.xml
- #@TestHTMLLink http://opends.dev.java.net/
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Restore Tasks Tests
- #@TestName Restore Tasks: Restore Tasks 1
- #@TestID RestoreTasks1
- #@TestPurpose Verify an restore task of a LDIF file on the default backend.
- #@TestPreamble
- #@TestSteps An ldif file is created that describes the restore task to be
- scheduled. The task is scheduled by adding the ldif file
- with the static ldapmodify.
- #@TestPostamble
- #@TestResult Success if OpenDS returns 0
- -->
+ <block name="'restore-tasks'">
-
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Test Suite information
+ #@TestSuiteName Backend Restore Tasks Tests
+ #@TestSuitePurpose Verify that the basic restore task functionality is working in the Directory Server.
+ #@TestSuiteID Restore Tasks Tests
+ #@TestSuiteGroup Restore Tasks
+ #@TestGroup Backend
+ #@TestScript restore-tasks.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Restore Tasks Tests
+ #@TestName Restore Tasks: Restore Tasks 1
+ #@TestID RestoreTasks1
+ #@TestPurpose Verify an restore task of a LDIF file on the default backend.
+ #@TestPreamble
+ #@TestSteps An ldif file is created that describes the restore task to be
+ scheduled. The task is scheduled by adding the ldif file
+ with the static ldapmodify.
+ #@TestPostamble
+ #@TestResult Success if OpenDS returns 0
+ -->
+
<testcase name="'Backend: Restore Tasks 1'">
@@ -79,7 +82,7 @@
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'taskID' : '4',
- 'backupDir' : '%s/backends/' % STAGED_DATA_DIR
+ 'backupDir' : '%s/backends/' % STAGED_DATA_DIR
}
</call>
@@ -94,8 +97,12 @@
</testcase>
- <call function="'testSuite_Postamble'"/>
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/backends/restore.xml b/opends/tests/functional-tests/testcases/backends/restore.xml
index 0b69e12..9dfd2f4 100755
--- a/opends/tests/functional-tests/testcases/backends/restore.xml
+++ b/opends/tests/functional-tests/testcases/backends/restore.xml
@@ -34,34 +34,38 @@
<sequence>
- <script>
- CurrentTestPath['suite']='restore'
- </script>
+ <block name="'restore'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
-
- <!--- Test Suite information
- #@TestSuiteName Backend Restore Tests
- #@TestSuitePurpose Test the restore functionality for OpenDS.
- #@TestSuiteID Restore Tests
- #@TestSuiteGroup Restore
- #@TestGroup Backend
- #@TestScript restore.xml
- #@TestHTMLLink http://opends.dev.java.net/
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Restore Tests
- #@TestName Export: Restore 1
- #@TestID Restore1
- #@TestPurpose Restore data to OpenDS.
- #@TestPreamble
- #@TestSteps Client calls restore with the parameters
- default backendID, and backupDirectory
- #@TestPostamble
- #@TestResult Success if restore returns 0
- -->
-
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Test Suite information
+ #@TestSuiteName Backend Restore Tests
+ #@TestSuitePurpose Test the restore functionality for OpenDS.
+ #@TestSuiteID Restore Tests
+ #@TestSuiteGroup Restore
+ #@TestGroup Backend
+ #@TestScript restore.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Restore Tests
+ #@TestName Export: Restore 1
+ #@TestID Restore1
+ #@TestPurpose Restore data to OpenDS.
+ #@TestPreamble
+ #@TestSteps Client calls restore with the parameters
+ default backendID, and backupDirectory
+ #@TestPostamble
+ #@TestResult Success if restore returns 0
+ -->
+
<testcase name="'Backend: Restore 1'">
<sequence>
@@ -88,20 +92,20 @@
</sequence>
</testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Restore Tests
+ #@TestName Export: Restore 2
+ #@TestID Restore2
+ #@TestPurpose Restore compressed data to OpenDS.
+ #@TestPreamble
+ #@TestSteps Client calls restore with the parameters
+ default backendID, backupDirectory, and uncompress
+ is automatically done
+ #@TestPostamble
+ #@TestResult Success if restore returns 0
+ -->
- <!--- Test Case information
- #@TestMarker Backend Restore Tests
- #@TestName Export: Restore 2
- #@TestID Restore2
- #@TestPurpose Restore compressed data to OpenDS.
- #@TestPreamble
- #@TestSteps Client calls restore with the parameters
- default backendID, backupDirectory, and uncompress
- is automatically done
- #@TestPostamble
- #@TestResult Success if restore returns 0
- -->
-
<testcase name="'Backend: Restore 2'">
<sequence>
@@ -127,8 +131,12 @@
</testcase>
- <call function="'testSuite_Postamble'"/>
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/cleanup/cleanup.xml b/opends/tests/functional-tests/testcases/cleanup/cleanup.xml
index 18325fe..1aa1cbf 100755
--- a/opends/tests/functional-tests/testcases/cleanup/cleanup.xml
+++ b/opends/tests/functional-tests/testcases/cleanup/cleanup.xml
@@ -31,27 +31,35 @@
<function name="main_cleanup">
- <sequence>
+ <sequence>
- <!--- Delete file if it exists already-->
- <message>
- 'Delete folder %s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR
- </message>
- <call function="'deleteFile'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'filename' : '%s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR }
- </call>
+ <block name="'cleanup'">
+
+ <sequence>
- <!--- Delete folder if it exists already-->
- <message>
- 'Delete folder %s/functional-tests' % DIRECTORY_INSTANCE_DIR
- </message>
- <call function="'deleteFolder'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'foldername' : '%s/functional-tests' % DIRECTORY_INSTANCE_DIR }
- </call>
-
- </sequence>
+ <!--- Delete file if it exists already-->
+ <message>
+ 'Delete folder %s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR
+ </message>
+ <call function="'deleteFile'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'filename' : '%s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR }
+ </call>
+
+ <!--- Delete folder if it exists already-->
+ <message>
+ 'Delete folder %s/functional-tests' % DIRECTORY_INSTANCE_DIR
+ </message>
+ <call function="'deleteFolder'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'foldername' : '%s/functional-tests' % DIRECTORY_INSTANCE_DIR }
+ </call>
+
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/core/core.xml b/opends/tests/functional-tests/testcases/core/core.xml
index bad02f7..cb97d63 100644
--- a/opends/tests/functional-tests/testcases/core/core.xml
+++ b/opends/tests/functional-tests/testcases/core/core.xml
@@ -33,101 +33,109 @@
<sequence>
- <script>
- CurrentTestPath['group']='core'
- </script>
+ <block name="'core'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['group']='core'
+ </script>
- <call function="'testGroup_Preamble'"/>
-
- <parallel>
+ <call function="'testGroup_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/core/core_setup.xml' % (TESTS_DIR)"/>
- <call function="'core_setup'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/core/core_entry_cache.xml' % (TESTS_DIR)"/>
- <call function="'core_entry_cache'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/core/core_search_sizelimit.xml' % (TESTS_DIR)"/>
- <call function="'core_search_sizelimit'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/core/core_search_timelimit.xml' % (TESTS_DIR)"/>
- <call function="'core_search_timelimit'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/core/core_tf_filters.xml' % (TESTS_DIR)"/>
- <call function="'core_tf_filters'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/core/core_version_report.xml' % (TESTS_DIR)"/>
- <call function="'core_version_report'" />
-
- <!--- Stop DS -->
- <sequence>
-
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testGroup_Postamble'"/>
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/core/core_setup.xml' % (TESTS_DIR)"/>
+ <call function="'core_setup'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/core/core_entry_cache.xml' % (TESTS_DIR)"/>
+ <call function="'core_entry_cache'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/core/core_search_sizelimit.xml' % (TESTS_DIR)"/>
+ <call function="'core_search_sizelimit'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/core/core_search_timelimit.xml' % (TESTS_DIR)"/>
+ <call function="'core_search_timelimit'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/core/core_tf_filters.xml' % (TESTS_DIR)"/>
+ <call function="'core_tf_filters'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/core/core_version_report.xml' % (TESTS_DIR)"/>
+ <call function="'core_version_report'" />
+
+ <!--- Stop DS -->
+ <sequence>
+
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testGroup_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/core/core_entry_cache.xml b/opends/tests/functional-tests/testcases/core/core_entry_cache.xml
index 07286e7..fb2767d 100644
--- a/opends/tests/functional-tests/testcases/core/core_entry_cache.xml
+++ b/opends/tests/functional-tests/testcases/core/core_entry_cache.xml
@@ -33,195 +33,203 @@
<sequence>
- <script>
- CurrentTestPath['suite']='entry-cache'
- </script>
+ <block name="'entry-cache'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : Entry Cache: Default Search -->
- <testcase name="'Core: Entry Cache: Default Search'">
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'Check the response of OpenDS when an ldap search request is conducted with a single pipe character ("|") for an existing entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'cn=version,cn=monitor' ,
- 'dsFilter' : '|' ,
- 'extraParams' : '' }
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <!--- Test Case : Entry Cache: Default Search -->
+ <testcase name="'Core: Entry Cache: Default Search'">
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
- </call>
+ <message>
+ 'Check the response of OpenDS when an ldap search request is conducted with a single pipe character ("|") for an existing entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'cn=version,cn=monitor' ,
+ 'dsFilter' : '|' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Entry Cache: Enable Default -->
+ <testcase name="'Core: Entry Cache: Enable Default'">
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Enable the default entry cache'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/core/ldifs/mod_entrycache2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Entry Cache: Add Attributes -->
+ <testcase name="'Core: Entry Cache: Add Attributes'">
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Add three attributes to cn=Entry Cache,cn=config'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/core/ldifs/mod_entrycache3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Entry Cache: Attribute Already Exists -->
+ <testcase name="'Core: Entry Cache: Attribute Already Exists'">
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Add one attribute that is not allowed under cn=Entry Cache,cn=config'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/core/ldifs/mod_entrycache4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Entry Cache: FIFO Cache-->
+ <testcase name="'Core: Entry Cache: FIFO Cache'">
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Add second entry cache which is an object of the ds-cfg-fifo-entry-cache class'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_entrycache5.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Entry Cache: Search -->
+ <testcase name="'Core: Entry Cache: Cache Search'">
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Check the response of OpenDS when an ldap search request is conducted'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
</sequence>
- </testcase>
-
- <!--- Test Case : Entry Cache: Enable Default -->
- <testcase name="'Core: Entry Cache: Enable Default'">
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'Enable the default entry cache'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/core/ldifs/mod_entrycache2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!--- Test Case : Entry Cache: Add Attributes -->
- <testcase name="'Core: Entry Cache: Add Attributes'">
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'Add three attributes to cn=Entry Cache,cn=config'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/core/ldifs/mod_entrycache3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!--- Test Case : Entry Cache: Attribute Already Exists -->
- <testcase name="'Core: Entry Cache: Attribute Already Exists'">
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'Add one attribute that is not allowed under cn=Entry Cache,cn=config'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/core/ldifs/mod_entrycache4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!--- Test Case : Entry Cache: FIFO Cache-->
- <testcase name="'Core: Entry Cache: FIFO Cache'">
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'Add second entry cache which is an object of the ds-cfg-fifo-entry-cache class'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_entrycache5.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <!--- Test Case : Entry Cache: Search -->
- <testcase name="'Core: Entry Cache: Cache Search'">
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'Check the response of OpenDS when an ldap search request is conducted'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/core/core_search_sizelimit.xml b/opends/tests/functional-tests/testcases/core/core_search_sizelimit.xml
index 17aecbb..7330753 100644
--- a/opends/tests/functional-tests/testcases/core/core_search_sizelimit.xml
+++ b/opends/tests/functional-tests/testcases/core/core_search_sizelimit.xml
@@ -33,304 +33,312 @@
<sequence>
- <script>
- CurrentTestPath['suite']='search-sizelimit'
- </script>
+ <block name="'search-sizelimit'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : Search Size Limit: Size Limit Exceeded -->
- <testcase name="'Core: Search Size Limit: Size Limit Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL1: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined in the command line and the search size is exceeed '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-z 150' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 4 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: Size Limit Not Exceeded -->
- <testcase name="'Core: Search Size Limit: Size Limit Not Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL2: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined in the command line and the search size is not exceeed'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-z 151' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: Server Wide Size Limit 5 -->
- <testcase name="'Core: Search Size Limit: Server Wide Size Limit 5'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL3: Change the server-wide search size limit to 5'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <call function="'testSuite_Preamble'"/>
- <!--- Test Case : Search Size Limit: Server Wide Size Limit Exceeded -->
- <testcase name="'Core: Search Size Limit: Server Wide Size Limit Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL4: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined by the server-wide parameter, ds-cfg-size-limit, and the search size limit is exceeded'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 4 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: Server Wide Size Limit 1000-->
- <testcase name="'Core: Search Size Limit: Server Wide Size Limit 1000'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL5: Change the server-wide search size limit to 1000'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: Server Wide Size Limit Not Exceeded -->
- <testcase name="'Core: Search Size Limit: Server Wide Size Limit Not Exceeded '">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL6: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined by the server-wide parameter, ds-cfg-size-limit, and the search size limit is not exceeded'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: Directory Manager Size Limit 5 -->
- <testcase name="'Core: Search Size Limit: Directory Manager Size Limit 5'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL7: Change the search size limit for cn=Directory Manager to 5'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: User Specific Size Limit Exceeded -->
- <testcase name="'Core: Search Size Limit: User Specific Size Limit Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL8: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined by the user-specific parameter, ds-rlim-size-limit, and the search size limit is exceeded'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 4 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: Size Limit Not Applicable -->
- <testcase name="'Core: Search Size Limit: Size Limit Not Applicable'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL9: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined by the user-specific parameter, ds-rlim-size-limit, and the search is conducted as a bind to a different user'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: Modify Directory Manager Limit -1 -->
- <testcase name="'Core: Search Size Limit: Modify Directory Manager Limit -1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL10: Change the search size limit for cn=Directory Manager to -1'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Size Limit: No Size Limit -->
- <testcase name="'Core: Search Size Limit: No Size Limit'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core SSzL11: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined as "unlimited" by the user-specific parameter, ds-rlim-size-limit, equal to -1 and the search is against 1150 entries'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+
+ <!--- Test Case : Search Size Limit: Size Limit Exceeded -->
+ <testcase name="'Core: Search Size Limit: Size Limit Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL1: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined in the command line and the search size is exceeed '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-z 150' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 4 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
- <call function="'testCase_Postamble'"/>
+ <!--- Test Case : Search Size Limit: Size Limit Not Exceeded -->
+ <testcase name="'Core: Search Size Limit: Size Limit Not Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL2: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined in the command line and the search size is not exceeed'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-z 151' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
- </sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
+ <!--- Test Case : Search Size Limit: Server Wide Size Limit 5 -->
+ <testcase name="'Core: Search Size Limit: Server Wide Size Limit 5'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL3: Change the server-wide search size limit to 5'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: Server Wide Size Limit Exceeded -->
+ <testcase name="'Core: Search Size Limit: Server Wide Size Limit Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL4: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined by the server-wide parameter, ds-cfg-size-limit, and the search size limit is exceeded'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 4 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: Server Wide Size Limit 1000-->
+ <testcase name="'Core: Search Size Limit: Server Wide Size Limit 1000'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL5: Change the server-wide search size limit to 1000'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: Server Wide Size Limit Not Exceeded -->
+ <testcase name="'Core: Search Size Limit: Server Wide Size Limit Not Exceeded '">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL6: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined by the server-wide parameter, ds-cfg-size-limit, and the search size limit is not exceeded'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: Directory Manager Size Limit 5 -->
+ <testcase name="'Core: Search Size Limit: Directory Manager Size Limit 5'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL7: Change the search size limit for cn=Directory Manager to 5'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: User Specific Size Limit Exceeded -->
+ <testcase name="'Core: Search Size Limit: User Specific Size Limit Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL8: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined by the user-specific parameter, ds-rlim-size-limit, and the search size limit is exceeded'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 4 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: Size Limit Not Applicable -->
+ <testcase name="'Core: Search Size Limit: Size Limit Not Applicable'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL9: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined by the user-specific parameter, ds-rlim-size-limit, and the search is conducted as a bind to a different user'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: Modify Directory Manager Limit -1 -->
+ <testcase name="'Core: Search Size Limit: Modify Directory Manager Limit -1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL10: Change the search size limit for cn=Directory Manager to -1'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_searchsizelimit4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Size Limit: No Size Limit -->
+ <testcase name="'Core: Search Size Limit: No Size Limit'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core SSzL11: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined as "unlimited" by the user-specific parameter, ds-rlim-size-limit, equal to -1 and the search is against 1150 entries'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=People,o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/core/core_search_timelimit.xml b/opends/tests/functional-tests/testcases/core/core_search_timelimit.xml
index 4f9176e..8f9de98 100644
--- a/opends/tests/functional-tests/testcases/core/core_search_timelimit.xml
+++ b/opends/tests/functional-tests/testcases/core/core_search_timelimit.xml
@@ -33,302 +33,310 @@
<sequence>
- <script>
- CurrentTestPath['suite']='search-timelimit'
- </script>
+ <block name="'search-timelimit'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : Search Time Limit: Time Limit Exceeded -->
- <testcase name="'Core: Search Time Limit: Time Limit Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL1: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined in the command line and the search time is exceeeded'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-l 1' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 3 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: Time Limit Not Exceeded -->
- <testcase name="'Core: Search Time Limit: Time Limit Not Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL2: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined in the command line and the search time is not exceeed'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-l 100' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: Server Wide Time Limit 1 -->
- <testcase name="'Core: Search Time Limit: Server Wide Time Limit 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL3: Change the server-wide search time limit to 1'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <call function="'testSuite_Preamble'"/>
- <!--- Test Case : Search Time Limit: Server Wide Time Limit Exceeded -->
- <testcase name="'Core: Search Time Limit: Server Wide Time Limit Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL4: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined by the server-wide parameter, ds-cfg-time-limit, and the search time limit is exceeded'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
+
+ <!--- Test Case : Search Time Limit: Time Limit Exceeded -->
+ <testcase name="'Core: Search Time Limit: Time Limit Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL1: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined in the command line and the search time is exceeeded'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-l 1' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 3 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Time Limit Not Exceeded -->
+ <testcase name="'Core: Search Time Limit: Time Limit Not Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL2: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined in the command line and the search time is not exceeed'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-l 100' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Server Wide Time Limit 1 -->
+ <testcase name="'Core: Search Time Limit: Server Wide Time Limit 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL3: Change the server-wide search time limit to 1'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Server Wide Time Limit Exceeded -->
+ <testcase name="'Core: Search Time Limit: Server Wide Time Limit Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL4: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined by the server-wide parameter, ds-cfg-time-limit, and the search time limit is exceeded'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 3 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Server Wide Time Limit 60 -->
+ <testcase name="'Core: Search Time Limit: Server Wide Time Limit 60'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL5: Change the server-wide search time limit to 60'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Server Wide Time Limit Not Exceeded -->
+ <testcase name="'Core: Search Time Limit: Server Wide Time Limit Not Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL6: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined by the server-wide parameter, ds-cfg-time-limit, and the search time limit is not exceeded'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Directory Manager Time Limit 1 -->
+ <testcase name="'Core: Search Time Limit: Directory Manager Time Limit 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL7: Change the search time limit for cn=Directory Manager to 1'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: User Specific Time Limit Exceeded -->
+ <testcase name="'Core: Search Time Limit: User Specific Time Limit Exceeded'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL8: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter, ds-rlim-time-limit, and the search time limit is exceeded'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 3 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Time Limit Not Applicable -->
+ <testcase name="'Core: Search Time Limit: Time Limit Not Applicable'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL9: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter, ds-rlim-time-limit, and the search is conducted as a bind to a different user'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: Directory Manager Time Limit 60 -->
+ <testcase name="'Core: Search Time Limit: Directory Manager Time Limit 60'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL10: Change the search time limit for cn=Directory Manager to 60'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Search Time Limit: No Time Limit -->
+ <testcase name="'Core: Search Time Limit: No Time Limit'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core STmL11: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter ds-rlim-time-limit, equal to 60 and the search is conducted against 1150 entries'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 3 }
- </call>
- <call function="'testCase_Postamble'"/>
</sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: Server Wide Time Limit 60 -->
- <testcase name="'Core: Search Time Limit: Server Wide Time Limit 60'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL5: Change the server-wide search time limit to 60'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: Server Wide Time Limit Not Exceeded -->
- <testcase name="'Core: Search Time Limit: Server Wide Time Limit Not Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL6: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined by the server-wide parameter, ds-cfg-time-limit, and the search time limit is not exceeded'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: Directory Manager Time Limit 1 -->
- <testcase name="'Core: Search Time Limit: Directory Manager Time Limit 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL7: Change the search time limit for cn=Directory Manager to 1'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: User Specific Time Limit Exceeded -->
- <testcase name="'Core: Search Time Limit: User Specific Time Limit Exceeded'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL8: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter, ds-rlim-time-limit, and the search time limit is exceeded'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 3 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: Time Limit Not Applicable -->
- <testcase name="'Core: Search Time Limit: Time Limit Not Applicable'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL9: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter, ds-rlim-time-limit, and the search is conducted as a bind to a different user'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: Directory Manager Time Limit 60 -->
- <testcase name="'Core: Search Time Limit: Directory Manager Time Limit 60'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL10: Change the search time limit for cn=Directory Manager to 60'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/mod_timelimit4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Search Time Limit: No Time Limit -->
- <testcase name="'Core: Search Time Limit: No Time Limit'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core STmL11: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter ds-rlim-time-limit, equal to 60 and the search is conducted against 1150 entries'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=core tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/core/core_setup.xml b/opends/tests/functional-tests/testcases/core/core_setup.xml
index 023df55..9ea149d 100644
--- a/opends/tests/functional-tests/testcases/core/core_setup.xml
+++ b/opends/tests/functional-tests/testcases/core/core_setup.xml
@@ -31,70 +31,78 @@
<function name="core_setup">
- <sequence>
+ <sequence>
- <script>
- CurrentTestPath['suite']='setup'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : Setup: Add required entries -->
- <testcase name="'Core: Setup: Add Core Entries'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Add entries that are required for the Core Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/core_start.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <block name="'setup'">
- <!--- Test Case : To add 1000 extra entries that are required for some of the Core Tests -->
- <testcase name="'Core: Setup: Add 1000 Core Entries'">
<sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Add 1000 extra entries that are required for some of the Core Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/core/ldifs/core_test_1K.ldif' % STAGED_DATA_DIR }
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
+
+ <!--- Test Case : Setup: Add required entries -->
+ <testcase name="'Core: Setup: Add Core Entries'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Add entries that are required for the Core Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/core_start.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : To add 1000 extra entries that are required for some of the Core Tests -->
+ <testcase name="'Core: Setup: Add 1000 Core Entries'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Add 1000 extra entries that are required for some of the Core Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/core/ldifs/core_test_1K.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
</sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/core/core_tf_filters.xml b/opends/tests/functional-tests/testcases/core/core_tf_filters.xml
index 5a522aa..67baead 100644
--- a/opends/tests/functional-tests/testcases/core/core_tf_filters.xml
+++ b/opends/tests/functional-tests/testcases/core/core_tf_filters.xml
@@ -33,123 +33,131 @@
<sequence>
- <script>
- CurrentTestPath['suite']='filters'
- </script>
+ <block name="'filters'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : True False Filters: And Filter -->
- <testcase name="'Core: True False Filters: And Filter'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core TFF1: Check the response of OpenDS when an ldap search request is conducted with a single ampersand character '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'cn=version,cn=monitor' ,
- 'dsFilter' : '&' }
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
+
+ <!--- Test Case : True False Filters: And Filter -->
+ <testcase name="'Core: True False Filters: And Filter'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core TFF1: Check the response of OpenDS when an ldap search request is conducted with a single ampersand character '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'cn=version,cn=monitor' ,
+ 'dsFilter' : '&' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : True False Filters: Or Filter -->
+ <testcase name="'Core: True False Filters: Or Filter'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core TFF2: Check the response of OpenDS when an ldap search request is conducted with a single pipe character'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'cn=version,cn=monitor' ,
+ 'dsFilter' : '|' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : True False Filters: And Filter Entry Not Exists -->
+ <testcase name="'Core: True False Filters: And Filter Entry Not Exists'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core TFF3: Check the response of OpenDS when an ldap search request is conducted with a single ampersand character for a non-existent entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'cn=bad,cn=monitor' ,
+ 'dsFilter' : '&' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 32 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : True False Filters: Or Filter Entry Not Exists -->
+ <testcase name="'Core: True False Filters: Or Filter Entry Not Exists'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core TFF4: Check the response of OpenDS when an ldap search request is conducted with a single pipe character for a non-existent entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'cn=bad,cn=monitor' ,
+ 'dsFilter' : '|' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 32 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
</sequence>
- </testcase>
-
- <!--- Test Case : True False Filters: Or Filter -->
- <testcase name="'Core: True False Filters: Or Filter'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core TFF2: Check the response of OpenDS when an ldap search request is conducted with a single pipe character'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'cn=version,cn=monitor' ,
- 'dsFilter' : '|' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : True False Filters: And Filter Entry Not Exists -->
- <testcase name="'Core: True False Filters: And Filter Entry Not Exists'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core TFF3: Check the response of OpenDS when an ldap search request is conducted with a single ampersand character for a non-existent entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'cn=bad,cn=monitor' ,
- 'dsFilter' : '&' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 32 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : True False Filters: Or Filter Entry Not Exists -->
- <testcase name="'Core: True False Filters: Or Filter Entry Not Exists'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core TFF4: Check the response of OpenDS when an ldap search request is conducted with a single pipe character for a non-existent entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'cn=bad,cn=monitor' ,
- 'dsFilter' : '|' }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 32 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
-
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/core/core_version_report.xml b/opends/tests/functional-tests/testcases/core/core_version_report.xml
index 97bb83c..ca67bda 100644
--- a/opends/tests/functional-tests/testcases/core/core_version_report.xml
+++ b/opends/tests/functional-tests/testcases/core/core_version_report.xml
@@ -33,45 +33,53 @@
<sequence>
- <script>
- CurrentTestPath['suite']='version-report'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : Version Report 1 -->
- <testcase name="'Core: Version Report: Search Version'">
+ <block name="'version-report'">
+
<sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Core VR1: Check the response of OpenDS when an ldap search request is conducted for the current version of OpenDS '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'cn=version,cn=monitor' ,
- 'dsFilter' : 'objectclass=*' }
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
+
+ <!--- Test Case : Version Report 1 -->
+ <testcase name="'Core: Version Report: Search Version'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Core VR1: Check the response of OpenDS when an ldap search request is conducted for the current version of OpenDS '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'cn=version,cn=monitor' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
</sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/quickstart/quickstart.xml b/opends/tests/functional-tests/testcases/quickstart/quickstart.xml
index e658cd1..57c0ece 100755
--- a/opends/tests/functional-tests/testcases/quickstart/quickstart.xml
+++ b/opends/tests/functional-tests/testcases/quickstart/quickstart.xml
@@ -33,85 +33,93 @@
<sequence>
- <parallel>
+ <block name="'quickstart'">
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <message>
- 'Quickstart: Adding quickstart entries'
- </message>
+ <sequence>
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/quickstart/quickstart.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ <parallel>
- </sequence>
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <message>
+ 'Quickstart: Adding quickstart entries'
+ </message>
- </sequence>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/quickstart/quickstart.ldif' % STAGED_DATA_DIR }
+ </call>
- <!--- End Block Clients -->
- </block>
-
- </parallel>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/schema/schema.xml b/opends/tests/functional-tests/testcases/schema/schema.xml
index 88592ae..9558513 100644
--- a/opends/tests/functional-tests/testcases/schema/schema.xml
+++ b/opends/tests/functional-tests/testcases/schema/schema.xml
@@ -33,84 +33,92 @@
<sequence>
- <script>
- CurrentTestPath['group']='schema'
- </script>
-
- <call function="'testGroup_Preamble'"/>
-
- <parallel>
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC , 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 , 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/schema/schema_setup.xml' % (TESTS_DIR)" />
- <call function="'schema_setup'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/schema/schema_rfc_tests.xml' % (TESTS_DIR)" />
- <call function="'schema_rfc_tests'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/schema/schema_dynamic.xml' % (TESTS_DIR)" />
- <call function="'schema-dynamic'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC , 'result' : STAXResult }
- </call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
+ <block name="'schema'">
- <call function="'testGroup_Postamble'"/>
+ <sequence>
+
+ <script>
+ CurrentTestPath['group']='schema'
+ </script>
+
+ <call function="'testGroup_Preamble'"/>
+
+ <parallel>
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC , 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 , 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/schema/schema_setup.xml' % (TESTS_DIR)" />
+ <call function="'schema_setup'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/schema/schema_rfc_tests.xml' % (TESTS_DIR)" />
+ <call function="'schema_rfc_tests'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/schema/schema_dynamic.xml' % (TESTS_DIR)" />
+ <call function="'schema-dynamic'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC , 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testGroup_Postamble'"/>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/schema/schema_dynamic.xml b/opends/tests/functional-tests/testcases/schema/schema_dynamic.xml
index 2cee305..f2e311a 100644
--- a/opends/tests/functional-tests/testcases/schema/schema_dynamic.xml
+++ b/opends/tests/functional-tests/testcases/schema/schema_dynamic.xml
@@ -31,180 +31,187 @@
<defaultcall function="schema-dynamic"/>
<function name="schema-dynamic">
-
- <!---
- #@TestGroupName Schema
- #@TestGroupPurpose To test the Dynamic Schema functionality.
-
- Place suite-specific test information here.
- #@TestSuiteName Dynamic Schema Tests
- #@TestSuitePurpose Test the Dynamic Schema Updates over Protocol and via Files.
- #@TestSuiteGroup Dynamic Schema Tests
- #@TestScript schema_dynamic.xml
- -->
- <sequence>
-
- <!--- Test case: Update Schema via a file -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker Dynamic Schema Tests
- #@TestName Update via a file
- #@TestIssue 367
- #@TestPurpose To make sure the schema can be updated by a file.
- #@TestPreamble none
- #@TestStep Create a task that will cause the server to
- read one or two files into the schema.
- Then try adding a new entry that uses the
- added schema.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- -->
-
- <call function="'testSuite_Preamble'"/>
-
- <testcase name="'Schema: Dynamic Schema: Update via File'">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Dynamic Schema: Update via File'
- </message>
- <call function="'addSchemaTask'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
- 'taskID' : '6',
- 'ldifFile' : '05-DynamicSchemaAdd.ldif'
- }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Schema: Add an entry that uses this new schema'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search for the entry just added and return addschema1AT '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=dynamic-schema-tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=addschema1OC' ,
- 'attributes' : 'addschema1AT' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- <!--- Test case: Update Schema Over Protocol: Add -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker Dynamic Schema Tests
- #@TestName Update Over Protocol: Add
- #@TestIssue 366
- #@TestPurpose To verify the schema can be updated over protocol.
- #@TestPreamble none
- #@TestStep Update the schema over protocol adding
- a new objectclass and attributes.
- Then try adding a new entry that uses these
- new attributes and objectclass.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- -->
- <!--- Test Case : Schema: Update Over Protocol: Add -->
- <testcase name="'Schema: Update Over Protocol: Add'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Update Over Protocol: Add'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/updateSchema.ldif' % STAGED_DATA_DIR }
- </call>
+ <sequence>
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
+ <block name="'dynamic'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!---
+ #@TestGroupName Schema
+ #@TestGroupPurpose To test the Dynamic Schema functionality.
+
+ Place suite-specific test information here.
+ #@TestSuiteName Dynamic Schema Tests
+ #@TestSuitePurpose Test the Dynamic Schema Updates over Protocol and via Files.
+ #@TestSuiteGroup Dynamic Schema Tests
+ #@TestScript schema_dynamic.xml
+ -->
+
+ <!--- Test case: Update Schema via a file -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Dynamic Schema Tests
+ #@TestName Update via a file
+ #@TestIssue 367
+ #@TestPurpose To make sure the schema can be updated by a file.
+ #@TestPreamble none
+ #@TestStep Create a task that will cause the server to
+ read one or two files into the schema.
+ Then try adding a new entry that uses the
+ added schema.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ -->
+
+ <testcase name="'Schema: Dynamic Schema: Update via File'">
+
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Dynamic Schema: Update via File'
+ </message>
+ <call function="'addSchemaTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : '6',
+ 'ldifFile' : '05-DynamicSchemaAdd.ldif'
+ }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Schema: Add an entry that uses this new schema'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search for the entry just added and return addschema1AT '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'dc=dynamic-schema-tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=addschema1OC' ,
+ 'attributes' : 'addschema1AT' }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test case: Update Schema Over Protocol: Add -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Dynamic Schema Tests
+ #@TestName Update Over Protocol: Add
+ #@TestIssue 366
+ #@TestPurpose To verify the schema can be updated over protocol.
+ #@TestPreamble none
+ #@TestStep Update the schema over protocol adding
+ a new objectclass and attributes.
+ Then try adding a new entry that uses these
+ new attributes and objectclass.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ -->
+
+ <!--- Test Case : Schema: Update Over Protocol: Add -->
+ <testcase name="'Schema: Update Over Protocol: Add'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Update Over Protocol: Add'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/schema/ldifs/updateSchema.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Schema: Add an entry that uses this new schema'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search for the entry just added and return addschema2AT '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'dc=dynamic-schema-tests-2,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=addschema2OC' ,
+ 'attributes' : 'addschema2AT' }
- <message>
- 'Schema: Add an entry that uses this new schema'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/dynamic_schema2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search for the entry just added and return addschema2AT '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=dynamic-schema-tests-2,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=addschema2OC' ,
- 'attributes' : 'addschema2AT' }
+ </call>
- </call>
-
- <call function="'checktestRC'">
+ <call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
- </call>
+ </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
-
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+
+ </testcase>
<!--- Test case: Update Schema Over Protocol: Replace -->
<!---
@@ -342,6 +349,10 @@
</sequence>
</testcase>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/schema/schema_rfc_tests.xml b/opends/tests/functional-tests/testcases/schema/schema_rfc_tests.xml
index 9b3212c..92ba0d1 100644
--- a/opends/tests/functional-tests/testcases/schema/schema_rfc_tests.xml
+++ b/opends/tests/functional-tests/testcases/schema/schema_rfc_tests.xml
@@ -33,1023 +33,1031 @@
<sequence>
- <script>
- CurrentTestPath['suite']='rfc'
- </script>
+ <block name="'rfc'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : Schema RFC Test 2079 -->
- <testcase name="'Core: Schema: RFC 2079'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2079'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2079.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2247 -->
- <testcase name="'Core: Schema: RFC 2247 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <call function="'testSuite_Preamble'"/>
- <!--- Test Case : Schema RFC Test 2247 -->
- <testcase name="'Core: Schema: RFC 2247 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_2.ldif' % STAGED_DATA_DIR }
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
</call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+
+ <!--- Test Case : Schema RFC Test 2079 -->
+ <testcase name="'Core: Schema: RFC 2079'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2079'
+ </message>
- <!--- Test Case : Schema RFC Test 2247 -->
- <testcase name="'Core: Schema: RFC 2247 3'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2079.ldif' % STAGED_DATA_DIR }
+ </call>
- <!--- Test Case : Schema RFC 2247 -->
- <testcase name="'Core: Schema: RFC 2247 4'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 2247 -->
+ <testcase name="'Core: Schema: RFC 2247 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2247'
+ </message>
- <!--- Test Case : Schema RFC 2247 -->
- <testcase name="'Core: Schema: RFC 2247 5'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2247'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_5.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2377 -->
- <testcase name="'Core: Schema: RFC 2377'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2377'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2377.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_1.ldif' % STAGED_DATA_DIR }
+ </call>
- <!--- Test Case : Schema RFC Test 2798 -->
- <testcase name="'Core: Schema: RFC 2798'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2798'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2798.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 3045 -->
- <testcase name="'Core: Schema: RFC 3045 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Modify an entry that is covered by rfc 3045'
- </message>
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/rfc3045_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 53 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <!--- Test Case : Schema RFC Test 2247 -->
+ <testcase name="'Core: Schema: RFC 2247 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2247'
+ </message>
- <!--- Test Case : Schema RFC 3045 -->
- <testcase name="'Core: Schema: RFC 3045 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Modify an entry that is covered by rfc 3045'
- </message>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/rfc3045_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 53 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <!--- Test Case : Schema RFC Test 2247 -->
+ <testcase name="'Core: Schema: RFC 2247 3'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2247'
+ </message>
- <!--- Test Case : Schema RFC 4403 -->
- <testcase name="'Core: Schema: RFC 4403 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_3.ldif' % STAGED_DATA_DIR }
+ </call>
- <!--- Test Case : Schema RFC 4403 -->
- <testcase name="'Core: Schema: RFC 4403 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 4403 -->
- <testcase name="'Core: Schema: RFC 4403 3'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 4403 -->
- <testcase name="'Core: Schema: RFC 4403 4'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 4403 -->
- <testcase name="'Core: Schema: RFC 4403 5'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 4403'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_5.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test 2307 -->
- <testcase name="'Core: Schema: Draft Howard RFC 2307bis 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC 2307 -->
- <testcase name="'Core: Schema: Draft Howard RFC 2307bis 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
- <call function="'testCase_Postamble'"/>
+ <!--- Test Case : Schema RFC 2247 -->
+ <testcase name="'Core: Schema: RFC 2247 4'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2247'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC 2247 -->
+ <testcase name="'Core: Schema: RFC 2247 5'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2247'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2247_5.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 2377 -->
+ <testcase name="'Core: Schema: RFC 2377'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2377'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2377.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 2798 -->
+ <testcase name="'Core: Schema: RFC 2798'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2798'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2798.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC 3045 -->
+ <testcase name="'Core: Schema: RFC 3045 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Modify an entry that is covered by rfc 3045'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/schema/ldifs/rfc3045_1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 53 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC 3045 -->
+ <testcase name="'Core: Schema: RFC 3045 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Modify an entry that is covered by rfc 3045'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/schema/ldifs/rfc3045_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 53 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC 4403 -->
+ <testcase name="'Core: Schema: RFC 4403 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC 4403 -->
+ <testcase name="'Core: Schema: RFC 4403 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 4403 -->
+ <testcase name="'Core: Schema: RFC 4403 3'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 4403 -->
+ <testcase name="'Core: Schema: RFC 4403 4'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 4403 -->
+ <testcase name="'Core: Schema: RFC 4403 5'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 4403'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc4403_5.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 2307 -->
+ <testcase name="'Core: Schema: Draft Howard RFC 2307bis 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC 2307 -->
+ <testcase name="'Core: Schema: Draft Howard RFC 2307bis 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+
+ <call function="'testCase_Postamble'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case : Schema RFC 2307 -->
+ <testcase name="'Core: Schema: Draft Howard RFC 2307bis 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test 2307 -->
+ <testcase name="'Core: Schema: Draft Howard RFC 2307bis 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_4.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC draft-furseth-ldap-untypedobject -->
+ <testcase name="'Core: Schema: Draft Furseth LDAP Untypedobject'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-furseth-ldap-untypedobject'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/untypedobject.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
+ <testcase name="'Core: Schema: Draft Good LDAP Changelog 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/changelog_1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
+ <testcase name="'Core: Schema: Draft Good LDAP Changelog 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/changelog_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
+ <testcase name="'Core: Schema: Draft Good LDAP Changelog 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/changelog_3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-howard-namedobject -->
+ <testcase name="'Core: Schema: Draft Howard NamedObject 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-namedobject'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/namedobject_1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-howard-namedobject -->
+ <testcase name="'Core: Schema: Draft Howard NamedObject 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-howard-namedobject'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/namedobject_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
+ <testcase name="'Core: Schema: Draft IETF LDUP Subentry 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
+ <testcase name="'Core: Schema: Draft IETF LDUP Subentry 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
+ <testcase name="'Core: Schema: Draft IETF LDUP Subentry 3'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 53 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema Disable Schema Checking -->
+ <testcase name="'Core: Schema: Disable Schema Checking'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Disable schema checking'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/schema/ldifs/disable_schema_checking.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema: Enable Schema Checking' -->
+ <testcase name="'Core: Schema: Enable Schema Checking'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Enable Schema Checking'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/schema/ldifs/enable_schema_checking.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema: Disable Syntax Checking -->
+ <testcase name="'Core: Schema: Disable Syntax Checking'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Disable syntax checking'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/schema/ldifs/disable_syntax_checking.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema: Disable Syntax Checking -->
+ <testcase name="'Core: Schema: Disable Syntax Checking'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Enable syntax checking'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/schema/ldifs/enable_syntax_checking.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
+ <testcase name="'Core: Schema: Draft IETF Zeilenga LDAP COSINE 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_1.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
+ <testcase name="'Core: Schema: Draft IETF Zeilenga LDAP COSINE 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
+ <testcase name="'Core: Schema: Draft IETF Zeilenga LDAP COSINE 3'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_3.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <testcase name="'Core: Schema: RFC 2739'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2739'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2739.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search the entry just added and return calCalURI '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=tsmith' ,
+ 'attributes' : 'calCalURI' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <testcase name="'Core: Schema: RFC 2714 1'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2714'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2714.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult ,
+ 'expected' : 65 }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <testcase name="'Core: Schema: RFC 2714 2'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2714'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2714_2.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search the entry just added and return corbaRepositoryId '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=corba1' ,
+ 'attributes' : 'corbaRepositoryId' }
+
+ </call>
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <testcase name="'Core: Schema: RFC 2713'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Schema: Add an entry that is covered by rfc 2713'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/rfc2713.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <if expr="RC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'Search the entry just added and return javaClassName '
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=java object,o=rfc tests,dc=example,dc=com' ,
+ 'dsFilter' : 'cn=java1' ,
+ 'attributes' : 'javaClassName' }
+
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
</sequence>
-
- </testcase>
-
- <!--- Test Case : Schema RFC 2307 -->
- <testcase name="'Core: Schema: Draft Howard RFC 2307bis 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
- <!--- Test Case : Schema RFC Test 2307 -->
- <testcase name="'Core: Schema: Draft Howard RFC 2307bis 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-rfc2307bis'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2307bis_4.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC draft-furseth-ldap-untypedobject -->
- <testcase name="'Core: Schema: Draft Furseth LDAP Untypedobject'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-furseth-ldap-untypedobject'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/untypedobject.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
- <testcase name="'Core: Schema: Draft Good LDAP Changelog 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/changelog_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ </block>
- <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
- <testcase name="'Core: Schema: Draft Good LDAP Changelog 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/changelog_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC draft-good-ldap-changelog -->
- <testcase name="'Core: Schema: Draft Good LDAP Changelog 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-good-ldap-changelog'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/changelog_3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-howard-namedobject -->
- <testcase name="'Core: Schema: Draft Howard NamedObject 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-namedobject'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/namedobject_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-howard-namedobject -->
- <testcase name="'Core: Schema: Draft Howard NamedObject 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-howard-namedobject'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/namedobject_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
- <testcase name="'Core: Schema: Draft IETF LDUP Subentry 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
- <testcase name="'Core: Schema: Draft IETF LDUP Subentry 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-ldup-subentry -->
- <testcase name="'Core: Schema: Draft IETF LDUP Subentry 3'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-ldup-subentry'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldup_subentry_3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 53 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema Disable Schema Checking -->
- <testcase name="'Core: Schema: Disable Schema Checking'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Disable schema checking'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/disable_schema_checking.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema: Enable Schema Checking' -->
- <testcase name="'Core: Schema: Enable Schema Checking'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Enable Schema Checking'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/enable_schema_checking.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema: Disable Syntax Checking -->
- <testcase name="'Core: Schema: Disable Syntax Checking'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Disable syntax checking'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/disable_syntax_checking.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema: Disable Syntax Checking -->
- <testcase name="'Core: Schema: Disable Syntax Checking'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Enable syntax checking'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/schema/ldifs/enable_syntax_checking.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
- <testcase name="'Core: Schema: Draft IETF Zeilenga LDAP COSINE 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_1.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
- <testcase name="'Core: Schema: Draft IETF Zeilenga LDAP COSINE 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <!--- Test Case : Schema RFC Test draft-ietf-zeilenga-ldap-cosine -->
- <testcase name="'Core: Schema: Draft IETF Zeilenga LDAP COSINE 3'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by draft-ietf-zeilenga-ldap-cosine'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/ldap_cosine_3.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="'Core: Schema: RFC 2739'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2739'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2739.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search the entry just added and return calCalURI '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=tsmith' ,
- 'attributes' : 'calCalURI' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="'Core: Schema: RFC 2714 1'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2714'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2714.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult ,
- 'expected' : 65 }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="'Core: Schema: RFC 2714 2'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2714'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2714_2.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search the entry just added and return corbaRepositoryId '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=rfc tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=corba1' ,
- 'attributes' : 'corbaRepositoryId' }
-
- </call>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <testcase name="'Core: Schema: RFC 2713'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Schema: Add an entry that is covered by rfc 2713'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/rfc2713.ldif' % STAGED_DATA_DIR }
- </call>
-
- <if expr="RC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'Search the entry just added and return javaClassName '
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=java object,o=rfc tests,dc=example,dc=com' ,
- 'dsFilter' : 'cn=java1' ,
- 'attributes' : 'javaClassName' }
-
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
-
- <call function="'testSuite_Postamble'"/>
-
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/schema/schema_setup.xml b/opends/tests/functional-tests/testcases/schema/schema_setup.xml
index 54ad9ce..fca9986 100644
--- a/opends/tests/functional-tests/testcases/schema/schema_setup.xml
+++ b/opends/tests/functional-tests/testcases/schema/schema_setup.xml
@@ -33,44 +33,52 @@
<sequence>
- <script>
- CurrentTestPath['suite']='setup'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <!--- Test Case : Add required entries -->
- <testcase name="'Core: Schema: Add required entries'">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'Add entries that are required for the Schema Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/schema/ldifs/schema_start.ldif' % STAGED_DATA_DIR }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- <call function="'testCase_Postamble'"/>
- </sequence>
- </testcase>
+ <block name="'setup'">
- <call function="'testSuite_Postamble'"/>
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <!--- Test Case : Add required entries -->
+ <testcase name="'Core: Schema: Add required entries'">
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Add entries that are required for the Schema Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/schema/ldifs/schema_start.ldif' % STAGED_DATA_DIR }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </testcase>
+
+ <call function="'testSuite_Postamble'"/>
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/account_activation/security_account_activation.xml b/opends/tests/functional-tests/testcases/security/account_activation/security_account_activation.xml
index bd6da00..74e6714 100755
--- a/opends/tests/functional-tests/testcases/security/account_activation/security_account_activation.xml
+++ b/opends/tests/functional-tests/testcases/security/account_activation/security_account_activation.xml
@@ -31,95 +31,103 @@
<function name="security_account_activation">
- <sequence>
-
- <script>
- CurrentTestPath['suite']='account-activation'
- </script>
+ <sequence>
- <call function="'testSuite_Preamble'"/>
+ <block name="'account-activation'">
+
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
- <parallel>
-
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
<!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/account_activation/security_setup_account_activation.xml' % (TESTS_DIR)"/>
- <call function="'setup_account_activation'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/account_activation/security_test_account.xml' % (TESTS_DIR)"/>
- <call function="'test_account'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/account_activation/security_account_expiration.xml' % (TESTS_DIR)"/>
- <call function="'account_expiration'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/account_activation/security_teardown_account_activation.xml' % (TESTS_DIR)"/>
- <call function="'teardown_account_activation'" />
-
- <!--- Stop DS -->
<sequence>
<message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
</message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
</call>
-
+
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
- </sequence>
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/account_activation/security_setup_account_activation.xml' % (TESTS_DIR)"/>
+ <call function="'setup_account_activation'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/account_activation/security_test_account.xml' % (TESTS_DIR)"/>
+ <call function="'test_account'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/account_activation/security_account_expiration.xml' % (TESTS_DIR)"/>
+ <call function="'account_expiration'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/account_activation/security_teardown_account_activation.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_account_activation'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax.xml b/opends/tests/functional-tests/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax.xml
index 6be6e7c..e5c0f7b 100755
--- a/opends/tests/functional-tests/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax.xml
+++ b/opends/tests/functional-tests/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax.xml
@@ -31,110 +31,118 @@
<function name="security_auth_pwd_syntax">
- <sequence>
+ <sequence>
- <script>
- CurrentTestPath['suite']='auth-pwd-syntax'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <parallel>
-
- <block name="'Block DS Process Active'">
+ <block name="'auth-pwd-syntax'">
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+
<!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_setup_auth_pwd_syntax.xml' % (TESTS_DIR)"/>
- <call function="'setup_auth_pwd_syntax'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_MD5_policy.xml' % (TESTS_DIR)"/>
- <call function="'auth_pwd_syntax_MD5_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA256_policy.xml' % (TESTS_DIR)"/>
- <call function="'auth_pwd_syntax_SHA256_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA384_policy.xml' % (TESTS_DIR)"/>
- <call function="'auth_pwd_syntax_SHA384_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA512_policy.xml' % (TESTS_DIR)"/>
- <call function="'auth_pwd_syntax_SHA512_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA1_policy.xml' % (TESTS_DIR)"/>
- <call function="'auth_pwd_syntax_SHA1_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_def_policy.xml' % (TESTS_DIR)"/>
- <call function="'auth_pwd_syntax_def_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_teardown_auth_pwd_syntax.xml' % (TESTS_DIR)"/>
- <call function="'teardown_auth_pwd_syntax'" />
-
- <!--- Stop DS -->
<sequence>
<message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
</message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
</call>
-
+
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_setup_auth_pwd_syntax.xml' % (TESTS_DIR)"/>
+ <call function="'setup_auth_pwd_syntax'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_MD5_policy.xml' % (TESTS_DIR)"/>
+ <call function="'auth_pwd_syntax_MD5_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA256_policy.xml' % (TESTS_DIR)"/>
+ <call function="'auth_pwd_syntax_SHA256_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA384_policy.xml' % (TESTS_DIR)"/>
+ <call function="'auth_pwd_syntax_SHA384_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA512_policy.xml' % (TESTS_DIR)"/>
+ <call function="'auth_pwd_syntax_SHA512_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_SHA1_policy.xml' % (TESTS_DIR)"/>
+ <call function="'auth_pwd_syntax_SHA1_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax_def_policy.xml' % (TESTS_DIR)"/>
+ <call function="'auth_pwd_syntax_def_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_teardown_auth_pwd_syntax.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_auth_pwd_syntax'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/bind_no_pwd/security_bind_no_pwd.xml b/opends/tests/functional-tests/testcases/security/bind_no_pwd/security_bind_no_pwd.xml
index c0564fb..3c5a48d 100755
--- a/opends/tests/functional-tests/testcases/security/bind_no_pwd/security_bind_no_pwd.xml
+++ b/opends/tests/functional-tests/testcases/security/bind_no_pwd/security_bind_no_pwd.xml
@@ -33,88 +33,96 @@
<sequence>
- <script>
- CurrentTestPath['suite']='bind-no-pwd'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <parallel>
+ <block name="'bind-no-pwd'">
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/bind_no_pwd/security_setup_bind_no_pwd.xml' % (TESTS_DIR)"/>
- <call function="'setup_bind_no_pwd'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/bind_no_pwd/security_pwd_null.xml' % (TESTS_DIR)"/>
- <call function="'pwd_null'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/bind_no_pwd/security_teardown_bind_no_pwd.xml' % (TESTS_DIR)"/>
- <call function="'teardown_bind_no_pwd'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
+ <sequence>
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
- </sequence>
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/bind_no_pwd/security_setup_bind_no_pwd.xml' % (TESTS_DIR)"/>
+ <call function="'setup_bind_no_pwd'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/bind_no_pwd/security_pwd_null.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_null'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/bind_no_pwd/security_teardown_bind_no_pwd.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_bind_no_pwd'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/jks/security_jks.xml b/opends/tests/functional-tests/testcases/security/jks/security_jks.xml
index 6297016..134f811 100755
--- a/opends/tests/functional-tests/testcases/security/jks/security_jks.xml
+++ b/opends/tests/functional-tests/testcases/security/jks/security_jks.xml
@@ -33,90 +33,98 @@
<sequence>
- <script>
- CurrentTestPath['suite']='jks'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <parallel>
+ <block name="'jks'">
- <block name="'Block DS Process Active'">
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/jks/security_setup_jks.xml' % (TESTS_DIR)"/>
+ <call function="'setup_jks'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/jks/security_bob_jks.xml' % (TESTS_DIR)"/>
+ <call function="'bob_jks'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/jks/security_teardown_jks.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_jks'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
+ </parallel>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/jks/security_setup_jks.xml' % (TESTS_DIR)"/>
- <call function="'setup_jks'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/jks/security_bob_jks.xml' % (TESTS_DIR)"/>
- <call function="'bob_jks'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/jks/security_teardown_jks.xml' % (TESTS_DIR)"/>
- <call function="'teardown_jks'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
+ <call function="'testSuite_Postamble'"/>
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/jks/security_setup_jks.xml b/opends/tests/functional-tests/testcases/security/jks/security_setup_jks.xml
index 0388fc3..afbf37a 100755
--- a/opends/tests/functional-tests/testcases/security/jks/security_setup_jks.xml
+++ b/opends/tests/functional-tests/testcases/security/jks/security_setup_jks.xml
@@ -117,9 +117,9 @@
'dsInstancePort' : DIRECTORY_INSTANCE_SSL_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-Z -X' }
+ 'extraParams' : '-Z -X' }
</call>
<call function="'checktestRC'">
diff --git a/opends/tests/functional-tests/testcases/security/pkcs12/security_pkcs12.xml b/opends/tests/functional-tests/testcases/security/pkcs12/security_pkcs12.xml
index c201f02..08f4e9a 100755
--- a/opends/tests/functional-tests/testcases/security/pkcs12/security_pkcs12.xml
+++ b/opends/tests/functional-tests/testcases/security/pkcs12/security_pkcs12.xml
@@ -33,88 +33,96 @@
<sequence>
- <script>
- CurrentTestPath['suite']='pkcs12'
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <parallel>
+ <block name="'pkcs12'">
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
<sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pkcs12/security_setup_pkcs12.xml' % (TESTS_DIR)"/>
- <call function="'setup_pkcs12'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pkcs12/security_bob_pkcs12.xml' % (TESTS_DIR)"/>
- <call function="'bob_pkcs12'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pkcs12/security_teardown_pkcs12.xml' % (TESTS_DIR)"/>
- <call function="'teardown_pkcs12'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
- <call function="'testSuite_Postamble'"/>
-
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pkcs12/security_setup_pkcs12.xml' % (TESTS_DIR)"/>
+ <call function="'setup_pkcs12'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pkcs12/security_bob_pkcs12.xml' % (TESTS_DIR)"/>
+ <call function="'bob_pkcs12'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pkcs12/security_teardown_pkcs12.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_pkcs12'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
</sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml b/opends/tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml
index 746496b..f5cd16b 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_policy/security_lockout_duration.xml
@@ -83,7 +83,7 @@
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : 'uid=mward,ou=people,ou=password tests,o=Pwd Policy Tests,dc=example,dc=com' ,
'dsInstancePswd' : '%s' % pwds,
- 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
'dsFilter' : 'objectclass=*' ,
'extraParams' : '-s base' }
</call>
@@ -118,7 +118,7 @@
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : 'uid=mward,ou=people,ou=password tests,o=Pwd Policy Tests,dc=example,dc=com' ,
'dsInstancePswd' : 'adminnormal' ,
- 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
'dsFilter' : 'objectclass=*' ,
'extraParams' : '-s base' }
</call>
@@ -177,7 +177,7 @@
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : 'uid=mward,ou=people,ou=password tests,o=Pwd Policy Tests,dc=example,dc=com' ,
'dsInstancePswd' : '%s' % pwds,
- 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
'dsFilter' : 'objectclass=*' ,
'extraParams' : '-s base' }
</call>
diff --git a/opends/tests/functional-tests/testcases/security/pwd_policy/security_pwd_policy.xml b/opends/tests/functional-tests/testcases/security/pwd_policy/security_pwd_policy.xml
index 1b9b437..bb6b76d 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_policy/security_pwd_policy.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_policy/security_pwd_policy.xml
@@ -33,128 +33,136 @@
<sequence>
- <script>
- CurrentTestPath['suite']='pwd-policy'
- </script>
+ <block name="'pwd-policy'">
- <call function="'testSuite_Preamble'"/>
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
- <parallel>
-
- <block name="'Block DS Process Active'">
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_setup_pwd_policy.xml' % (TESTS_DIR)"/>
+ <call function="'setup_pwd_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_user_pwd_policy.xml' % (TESTS_DIR)"/>
+ <call function="'user_pwd_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_force_pwd_change.xml' % (TESTS_DIR)"/>
+ <call function="'force_pwd_change'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_force_pwd_change_all_users.xml' % (TESTS_DIR)"/>
+ <call function="'force_pwd_change_all_users'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_enable_max_pwd_age.xml' % (TESTS_DIR)"/>
+ <call function="'enable_max_pwd_age'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_disable_max_pwd_age.xml' % (TESTS_DIR)"/>
+ <call function="'disable_max_pwd_age'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_min_pwd_age.xml' % (TESTS_DIR)"/>
+ <call function="'min_pwd_age'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_lockout_fail_cnt.xml' % (TESTS_DIR)"/>
+ <call function="'lockout_fail_cnt'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_mult_pwd_policies.xml' % (TESTS_DIR)"/>
+ <call function="'mult_pwd_policies'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_preencoded_pwds.xml' % (TESTS_DIR)"/>
+ <call function="'preencoded_pwds'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_lockout_duration.xml' % (TESTS_DIR)"/>
+ <call function="'lockout_duration'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_last_login.xml' % (TESTS_DIR)"/>
+ <call function="'last_login'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_teardown_pwd_policy.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_pwd_policy'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
+ </parallel>
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
+ <call function="'testSuite_Postamble'"/>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ </sequence>
- </sequence>
+ </block>
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_setup_pwd_policy.xml' % (TESTS_DIR)"/>
- <call function="'setup_pwd_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_user_pwd_policy.xml' % (TESTS_DIR)"/>
- <call function="'user_pwd_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_force_pwd_change.xml' % (TESTS_DIR)"/>
- <call function="'force_pwd_change'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_force_pwd_change_all_users.xml' % (TESTS_DIR)"/>
- <call function="'force_pwd_change_all_users'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_enable_max_pwd_age.xml' % (TESTS_DIR)"/>
- <call function="'enable_max_pwd_age'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_disable_max_pwd_age.xml' % (TESTS_DIR)"/>
- <call function="'disable_max_pwd_age'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_min_pwd_age.xml' % (TESTS_DIR)"/>
- <call function="'min_pwd_age'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_lockout_fail_cnt.xml' % (TESTS_DIR)"/>
- <call function="'lockout_fail_cnt'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_mult_pwd_policies.xml' % (TESTS_DIR)"/>
- <call function="'mult_pwd_policies'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_preencoded_pwds.xml' % (TESTS_DIR)"/>
- <call function="'preencoded_pwds'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_lockout_duration.xml' % (TESTS_DIR)"/>
- <call function="'lockout_duration'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_last_login.xml' % (TESTS_DIR)"/>
- <call function="'last_login'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_teardown_pwd_policy.xml' % (TESTS_DIR)"/>
- <call function="'teardown_pwd_policy'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
-
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/pwd_policy_root/security_pwd_policy_root.xml b/opends/tests/functional-tests/testcases/security/pwd_policy_root/security_pwd_policy_root.xml
index dfcdb2f..df2f8eb 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_policy_root/security_pwd_policy_root.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_policy_root/security_pwd_policy_root.xml
@@ -33,80 +33,88 @@
<sequence>
- <script>
- CurrentTestPath['suite']='pwd-policy-root'
- </script>
+ <block name="'pwd-policy-root'">
- <call function="'testSuite_Preamble'"/>
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <parallel>
-
- <block name="'Block DS Process Active'">
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy_root/security_root_user_tests.xml' % (TESTS_DIR)"/>
+ <call function="'root_user_tests'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
+ </parallel>
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
+ <call function="'testSuite_Postamble'"/>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ </sequence>
- </sequence>
+ </block>
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy_root/security_root_user_tests.xml' % (TESTS_DIR)"/>
- <call function="'root_user_tests'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
-
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/pwd_storage/security_pwd_storage.xml b/opends/tests/functional-tests/testcases/security/pwd_storage/security_pwd_storage.xml
index 5666d56..770e420 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_storage/security_pwd_storage.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_storage/security_pwd_storage.xml
@@ -32,129 +32,137 @@
<function name="security_pwd_storage">
<sequence>
-
- <script>
- CurrentTestPath['suite']='pwd-storage'
- </script>
- <call function="'testSuite_Preamble'"/>
-
- <parallel>
+ <block name="'pwd-storage'">
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_setup_pwd_storage.xml' % (TESTS_DIR)"/>
- <call function="'setup_pwd_storage'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_SSHA.xml' % (TESTS_DIR)"/>
- <call function="'pwd_SSHA'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_SHA.xml' % (TESTS_DIR)"/>
- <call function="'pwd_SHA'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_SSHA256.xml' % (TESTS_DIR)"/>
- <call function="'pwd_SSHA256'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_SSHA384.xml' % (TESTS_DIR)"/>
- <call function="'pwd_SSHA384'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_SSHA512.xml' % (TESTS_DIR)"/>
- <call function="'pwd_SSHA512'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_MD5.xml' % (TESTS_DIR)"/>
- <call function="'pwd_MD5'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_SMD5.xml' % (TESTS_DIR)"/>
- <call function="'pwd_SMD5'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_BASE64.xml' % (TESTS_DIR)"/>
- <call function="'pwd_BASE64'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_CLEAR.xml' % (TESTS_DIR)"/>
- <call function="'pwd_CLEAR'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_multiple_schemes.xml' % (TESTS_DIR)"/>
- <call function="'multiple_schemes'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_deprecated_schemes.xml' % (TESTS_DIR)"/>
- <call function="'deprecated_schemes'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_teardown_pwd_storage.xml' % (TESTS_DIR)"/>
- <call function="'teardown_pwd_storage'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
-
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_setup_pwd_storage.xml' % (TESTS_DIR)"/>
+ <call function="'setup_pwd_storage'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_SSHA.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_SSHA'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_SHA.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_SHA'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_SSHA256.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_SSHA256'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_SSHA384.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_SSHA384'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_SSHA512.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_SSHA512'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_MD5.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_MD5'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_SMD5.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_SMD5'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_BASE64.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_BASE64'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_CLEAR.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_CLEAR'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_multiple_schemes.xml' % (TESTS_DIR)"/>
+ <call function="'multiple_schemes'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_deprecated_schemes.xml' % (TESTS_DIR)"/>
+ <call function="'deprecated_schemes'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_teardown_pwd_storage.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_pwd_storage'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml
index f2fa00c..d8c3b3b 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml
@@ -33,92 +33,100 @@
<sequence>
- <script>
- CurrentTestPath['suite']='pwd-validator'
- </script>
-
- <call function="'testSuite_Preamble'"/>
+ <block name="'pwd-validator'">
- <parallel>
-
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
<sequence>
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_validator/security_setup_pwd_validator.xml' % (TESTS_DIR)"/>
- <call function="'setup_pwd_validator'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_validator/security_pwd_length.xml' % (TESTS_DIR)"/>
- <call function="'pwd_length'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_validator/security_skip_val_for_admins.xml' % (TESTS_DIR)"/>
- <call function="'skip_val_for_admins'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_validator/security_teardown_pwd_validator.xml' % (TESTS_DIR)"/>
- <call function="'teardown_pwd_validator'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
+
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_validator/security_setup_pwd_validator.xml' % (TESTS_DIR)"/>
+ <call function="'setup_pwd_validator'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_validator/security_pwd_length.xml' % (TESTS_DIR)"/>
+ <call function="'pwd_length'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_validator/security_skip_val_for_admins.xml' % (TESTS_DIR)"/>
+ <call function="'skip_val_for_admins'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_validator/security_teardown_pwd_validator.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_pwd_validator'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/sasl/security_sasl.xml b/opends/tests/functional-tests/testcases/security/sasl/security_sasl.xml
index 6ef9909..b29173d 100755
--- a/opends/tests/functional-tests/testcases/security/sasl/security_sasl.xml
+++ b/opends/tests/functional-tests/testcases/security/sasl/security_sasl.xml
@@ -33,100 +33,108 @@
<sequence>
- <script>
- CurrentTestPath['suite']='sasl'
- </script>
+ <block name="'sasl'">
- <call function="'testSuite_Preamble'"/>
-
- <parallel>
+ <sequence>
+
+ <script>
+ CurrentTestPath['suite']=STAXCurrentBlock
+ </script>
- <block name="'Block DS Process Active'">
-
- <!--- Start DS -->
- <sequence>
- <message>
- 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <!--- Start DS -->
- <call function="'StartDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- <!--- End Block DS Process Active -->
- </block>
-
- <block name="'Block Clients'">
-
- <sequence>
-
- <!--- Check that DS started -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/sasl/security_setup_sasl.xml' % (TESTS_DIR)"/>
- <call function="'setup_sasl'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/sasl/security_sasl_anon.xml' % (TESTS_DIR)"/>
- <call function="'sasl_anon'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/sasl/security_sasl_plain.xml' % (TESTS_DIR)"/>
- <call function="'sasl_plain'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/sasl/security_sasl_cram-md5.xml' % (TESTS_DIR)"/>
- <call function="'sasl_cram-md5'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/sasl/security_sasl_digest-md5.xml' % (TESTS_DIR)"/>
- <call function="'sasl_digest-md5'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/sasl/security_teardown_sasl.xml' % (TESTS_DIR)"/>
- <call function="'teardown_sasl'" />
-
- <!--- Stop DS -->
- <sequence>
- <message>
- 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
- </message>
-
- <call function="'StopDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsHost' : DIRECTORY_INSTANCE_HOST,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
- </sequence>
-
- <!--- End Block Clients -->
- </block>
-
- </parallel>
-
- <call function="'testSuite_Postamble'"/>
+ <call function="'testSuite_Preamble'"/>
+
+ <parallel>
+
+ <block name="'Block DS Process Active'">
+ <!--- Start DS -->
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'StartDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ <!--- End Block DS Process Active -->
+ </block>
+
+ <block name="'Block Clients'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/sasl/security_setup_sasl.xml' % (TESTS_DIR)"/>
+ <call function="'setup_sasl'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/sasl/security_sasl_anon.xml' % (TESTS_DIR)"/>
+ <call function="'sasl_anon'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/sasl/security_sasl_plain.xml' % (TESTS_DIR)"/>
+ <call function="'sasl_plain'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/sasl/security_sasl_cram-md5.xml' % (TESTS_DIR)"/>
+ <call function="'sasl_cram-md5'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/sasl/security_sasl_digest-md5.xml' % (TESTS_DIR)"/>
+ <call function="'sasl_digest-md5'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/sasl/security_teardown_sasl.xml' % (TESTS_DIR)"/>
+ <call function="'teardown_sasl'" />
+
+ <!--- Stop DS -->
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <call function="'StopDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ <!--- End Block Clients -->
+ </block>
+
+ </parallel>
+
+ <call function="'testSuite_Postamble'"/>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/security/security.xml b/opends/tests/functional-tests/testcases/security/security.xml
index 6ca0cf2..fa3310f 100755
--- a/opends/tests/functional-tests/testcases/security/security.xml
+++ b/opends/tests/functional-tests/testcases/security/security.xml
@@ -31,61 +31,69 @@
<function name="main_security">
- <sequence>
+ <sequence>
+
+ <block name="'security'">
- <script>
- CurrentTestPath['group']='security'
- </script>
+ <sequence>
+
+ <script>
+ CurrentTestPath['group']='security'
+ </script>
- <call function="'testGroup_Preamble'"/>
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/jks/security_jks.xml' % (TESTS_DIR)"/>
- <call function="'security_jks'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pkcs12/security_pkcs12.xml' % (TESTS_DIR)"/>
- <call function="'security_pkcs12'" />
-<!--
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/startTLS/security_startTLS.xml' % (TESTS_DIR)"/>
- <call function="'security_startTLS'" />
--->
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/sasl/security_sasl.xml' % (TESTS_DIR)"/>
- <call function="'security_sasl'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy/security_pwd_policy.xml' % (TESTS_DIR)"/>
- <call function="'security_pwd_policy'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_policy_root/security_pwd_policy_root.xml' % (TESTS_DIR)"/>
- <call function="'security_pwd_policy_root'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax.xml' % (TESTS_DIR)"/>
- <call function="'security_auth_pwd_syntax'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_validator/security_pwd_validator.xml' % (TESTS_DIR)"/>
- <call function="'security_pwd_validator'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/pwd_storage/security_pwd_storage.xml' % (TESTS_DIR)"/>
- <call function="'security_pwd_storage'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/bind_no_pwd/security_bind_no_pwd.xml' % (TESTS_DIR)"/>
- <call function="'security_bind_no_pwd'" />
-
- <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
- file="'%s/testcases/security/account_activation/security_account_activation.xml' % (TESTS_DIR)"/>
- <call function="'security_account_activation'" />
-
- <call function="'testGroup_Postamble'"/>
+ <call function="'testGroup_Preamble'"/>
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/jks/security_jks.xml' % (TESTS_DIR)"/>
+ <call function="'security_jks'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pkcs12/security_pkcs12.xml' % (TESTS_DIR)"/>
+ <call function="'security_pkcs12'" />
+ <!--
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/startTLS/security_startTLS.xml' % (TESTS_DIR)"/>
+ <call function="'security_startTLS'" />
+ -->
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/sasl/security_sasl.xml' % (TESTS_DIR)"/>
+ <call function="'security_sasl'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy/security_pwd_policy.xml' % (TESTS_DIR)"/>
+ <call function="'security_pwd_policy'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_policy_root/security_pwd_policy_root.xml' % (TESTS_DIR)"/>
+ <call function="'security_pwd_policy_root'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/auth_pwd_syntax/security_auth_pwd_syntax.xml' % (TESTS_DIR)"/>
+ <call function="'security_auth_pwd_syntax'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_validator/security_pwd_validator.xml' % (TESTS_DIR)"/>
+ <call function="'security_pwd_validator'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/pwd_storage/security_pwd_storage.xml' % (TESTS_DIR)"/>
+ <call function="'security_pwd_storage'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/bind_no_pwd/security_bind_no_pwd.xml' % (TESTS_DIR)"/>
+ <call function="'security_bind_no_pwd'" />
+
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/security/account_activation/security_account_activation.xml' % (TESTS_DIR)"/>
+ <call function="'security_account_activation'" />
+
+ <call function="'testGroup_Postamble'"/>
- </sequence>
+ </sequence>
+
+ </block>
+
+ </sequence>
</function>
diff --git a/opends/tests/functional-tests/testcases/setup/setup.xml b/opends/tests/functional-tests/testcases/setup/setup.xml
index e2bf86b..adf9ba9 100755
--- a/opends/tests/functional-tests/testcases/setup/setup.xml
+++ b/opends/tests/functional-tests/testcases/setup/setup.xml
@@ -32,135 +32,143 @@
<function name="main_setup">
<sequence>
-
- <!-- Locally delete any existing files from staging area -->
- <message>'Delete the temporary staging area'</message>
- <call function="'deleteFolder'">
- { 'location' : STAXServiceMachine,
- 'foldername' : '%s' % TMP_DATA_DIR }
- </call>
- <!-- Locally delete any existing files from the zip archive -->
- <message>'Delete existing zip archive.'</message>
- <call function="'deleteFile'">
- { 'location' : STAXServiceMachine,
- 'filename' : '%s/ldifdata.zip' % TMPDIR }
- </call>
-
- <!--- Delete folder if it exists on remote host-->
- <message>
- 'Delete folder %s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
- </message>
- <call function="'deleteFolder'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'foldername' : '%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME),
- }
- </call>
+ <block name="'setup'">
- <!-- Locally copy static data files to temporary staging area -->
- <!-- LDIF (.ldif) files -->
- <message>'Copy ldif data files'</message>
- <call function="'CopyFolderByExtension'">
- { 'location' : STAXServiceMachine,
- 'srcfolder' : TESTS_DIR,
- 'destfolder' : TMP_DATA_DIR,
- 'extension' : 'ldif' }
- </call>
-
- <!-- PWD (.pwd) files -->
- <call function="'CopyFolderByExtension'">
- { 'location' : STAXServiceMachine,
- 'srcfolder' : TESTS_DIR,
- 'destfolder' : TMP_DATA_DIR,
- 'extension' : 'pwd' }
- </call>
-
- <!-- Archive (.gz) files -->
- <message>'Copy gz data files'</message>
- <call function="'CopyFolderByExtension'">
- { 'location' : STAXServiceMachine,
- 'srcfolder' : TESTS_DIR,
- 'destfolder' : TMP_DATA_DIR,
- 'extension' : 'gz' }
- </call>
-
- <!-- Dynamically create ldif files for staging -->
- <!-- Modify SSL port to a user-defined value -->
- <script>
- write_ldaps_ldif_file('%s/shared/data' % (TMP_DATA_DIR), '%s' % (DIRECTORY_INSTANCE_SSL_PORT));
- </script>
+ <sequence>
- <!-- Zip up contents of tests directory -->
- <message>
- 'Zip up data directory.'
- </message>
- <call function="'zipUpFile'">
- { 'location' : STAXServiceMachine,
- 'zipfile' : '%s/ldifdata.zip' % TMPDIR ,
- 'folder' : TMP_DATA_DIR ,
- 'relativeto' : TMPDIR }
- </call>
-
- <!--- Copy staging data to remote host -->
- <message>
- 'Copy tests to %s on %s' % (DIRECTORY_INSTANCE_DIR,STAF_REMOTE_HOSTNAME)
- </message>
- <call function="'copyFile'">
- { 'location' : STAXServiceMachine,
- 'srcfile' : '%s/ldifdata.zip' % TMPDIR,
- 'destfile' : '%s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR,
- 'remotehost' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <!--- Unzip contents of staging data on remote host -->
- <message>
- 'Extract contents of test data %s on %s' % (DIRECTORY_INSTANCE_DIR,STAF_REMOTE_HOSTNAME)
- </message>
- <call function="'unZipFile'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'zipfile' : '%s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR,
- 'unzipdir' : '%s' % DIRECTORY_INSTANCE_DIR,
- }
- </call>
-
- <!--- Install DS Copy zip file -->
- <message>
- 'Copy DS zip archive to %s on %s' % (DSTFILE,STAF_REMOTE_HOSTNAME)
- </message>
- <call function="'copyFile'">
- { 'srcfile' : SRCFILE,
- 'destfile' : DSTFILE,
+ <!-- Locally delete any existing files from staging area -->
+ <message>'Delete the temporary staging area'</message>
+ <call function="'deleteFolder'">
+ { 'location' : STAXServiceMachine,
+ 'foldername' : '%s' % TMP_DATA_DIR }
+ </call>
+
+ <!-- Locally delete any existing files from the zip archive -->
+ <message>'Delete existing zip archive.'</message>
+ <call function="'deleteFile'">
+ { 'location' : STAXServiceMachine,
+ 'filename' : '%s/ldifdata.zip' % TMPDIR }
+ </call>
+
+ <!--- Delete folder if it exists on remote host-->
+ <message>
+ 'Delete folder %s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
+ </message>
+ <call function="'deleteFolder'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'foldername' : '%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME),
+ }
+ </call>
+
+ <!-- Locally copy static data files to temporary staging area -->
+ <!-- LDIF (.ldif) files -->
+ <message>'Copy ldif data files'</message>
+ <call function="'CopyFolderByExtension'">
+ { 'location' : STAXServiceMachine,
+ 'srcfolder' : TESTS_DIR,
+ 'destfolder' : TMP_DATA_DIR,
+ 'extension' : 'ldif' }
+ </call>
+
+ <!-- PWD (.pwd) files -->
+ <call function="'CopyFolderByExtension'">
+ { 'location' : STAXServiceMachine,
+ 'srcfolder' : TESTS_DIR,
+ 'destfolder' : TMP_DATA_DIR,
+ 'extension' : 'pwd' }
+ </call>
+
+ <!-- Archive (.gz) files -->
+ <message>'Copy gz data files'</message>
+ <call function="'CopyFolderByExtension'">
+ { 'location' : STAXServiceMachine,
+ 'srcfolder' : TESTS_DIR,
+ 'destfolder' : TMP_DATA_DIR,
+ 'extension' : 'gz' }
+ </call>
+
+ <!-- Dynamically create ldif files for staging -->
+ <!-- Modify SSL port to a user-defined value -->
+ <script>
+ write_ldaps_ldif_file('%s/shared/data' % (TMP_DATA_DIR), '%s' % (DIRECTORY_INSTANCE_SSL_PORT));
+ </script>
+
+ <!-- Zip up contents of tests directory -->
+ <message>
+ 'Zip up data directory.'
+ </message>
+ <call function="'zipUpFile'">
+ { 'location' : STAXServiceMachine,
+ 'zipfile' : '%s/ldifdata.zip' % TMPDIR ,
+ 'folder' : TMP_DATA_DIR ,
+ 'relativeto' : TMPDIR }
+ </call>
+
+ <!--- Copy staging data to remote host -->
+ <message>
+ 'Copy tests to %s on %s' % (DIRECTORY_INSTANCE_DIR,STAF_REMOTE_HOSTNAME)
+ </message>
+ <call function="'copyFile'">
+ { 'location' : STAXServiceMachine,
+ 'srcfile' : '%s/ldifdata.zip' % TMPDIR,
+ 'destfile' : '%s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR,
'remotehost' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <!--- Install DS Extract zip file -->
- <message>
- 'Extract DS zip archive to %s on %s' % (DIRECTORY_INSTANCE_DIR,STAF_REMOTE_HOSTNAME)
- </message>
- <call function="'unZipFile'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'zipfile' : DSTFILE,
- 'unzipdir' : '%s' % DIRECTORY_INSTANCE_DIR }
- </call>
-
- <!--- Configure DS -->
- <sequence>
- <message>
- 'Configuring DS on %s' % STAF_REMOTE_HOSTNAME
- </message>
- <call function="'ConfigureDsWithScript'">
- { 'location' : STAF_REMOTE_HOSTNAME,
- 'dsPort' : DIRECTORY_INSTANCE_PORT,
- 'dsBindDN' : DIRECTORY_INSTANCE_DN,
- 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD,
- 'dsBaseDN' : DIRECTORY_INSTANCE_SFX }
- </call>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
- </sequence>
-
+ </call>
+
+ <!--- Unzip contents of staging data on remote host -->
+ <message>
+ 'Extract contents of test data %s on %s' % (DIRECTORY_INSTANCE_DIR,STAF_REMOTE_HOSTNAME)
+ </message>
+ <call function="'unZipFile'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'zipfile' : '%s/ldifdata.zip' % DIRECTORY_INSTANCE_DIR,
+ 'unzipdir' : '%s' % DIRECTORY_INSTANCE_DIR,
+ }
+ </call>
+
+ <!--- Install DS Copy zip file -->
+ <message>
+ 'Copy DS zip archive to %s on %s' % (DSTFILE,STAF_REMOTE_HOSTNAME)
+ </message>
+ <call function="'copyFile'">
+ { 'srcfile' : SRCFILE,
+ 'destfile' : DSTFILE,
+ 'remotehost' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <!--- Install DS Extract zip file -->
+ <message>
+ 'Extract DS zip archive to %s on %s' % (DIRECTORY_INSTANCE_DIR,STAF_REMOTE_HOSTNAME)
+ </message>
+ <call function="'unZipFile'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'zipfile' : DSTFILE,
+ 'unzipdir' : '%s' % DIRECTORY_INSTANCE_DIR }
+ </call>
+
+ <!--- Configure DS -->
+ <sequence>
+ <message>
+ 'Configuring DS on %s' % STAF_REMOTE_HOSTNAME
+ </message>
+ <call function="'ConfigureDsWithScript'">
+ { 'location' : STAF_REMOTE_HOSTNAME,
+ 'dsPort' : DIRECTORY_INSTANCE_PORT,
+ 'dsBindDN' : DIRECTORY_INSTANCE_DN,
+ 'dsBindPwd' : DIRECTORY_INSTANCE_PSWD,
+ 'dsBaseDN' : DIRECTORY_INSTANCE_SFX }
+ </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+
+ </sequence>
+
+ </block>
+
</sequence>
</function>
--
Gitblit v1.10.0