From 2cde66220372d45be03e9320b3490ff93ecb5337 Mon Sep 17 00:00:00 2001
From: Gary Williams <gary.williams@forgerock.com>
Date: Wed, 04 Apr 2012 13:21:57 +0000
Subject: [PATCH] Refactor ACI functonal tests to follow test suite conventions
---
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter_tests.xml | 3245 +++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry.xml | 157
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry.xml | 146
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis.xml | 166
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr.xml | 154
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry.xml | 156
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter.xml | 162
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes_tests.xml | 5565 ++++++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry_tests.xml | 2425 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter.xml | 159
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol.xml | 146
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis.xml | 157
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope.xml | 146
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn_tests.xml | 2197 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry_tests.xml | 1979 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry.xml | 169
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope_tests.xml | 1175 +
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter_tests.xml | 1870 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import.xml | 142
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards_tests.xml | 2256 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis_tests.xml | 1207 +
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth.xml | 152
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards.xml | 161
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol_tests.xml | 725
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights.xml | 157
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import_tests.xml | 268
/dev/null | 3834 ----
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis_tests.xml | 4251 ++++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights_tests.xml | 2825 +++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth_tests.xml | 2597 ++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn.xml | 156
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci.xml | 71
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter_tests.xml | 4039 ++++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target.xml | 171
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr_tests.xml | 1673 +
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter.xml | 161
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes.xml | 174
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry_tests.xml | 3532 +++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target_tests.xml | 4173 ++++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry_tests.xml | 1931 ++
40 files changed, 50,949 insertions(+), 3,881 deletions(-)
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci.xml
index 8da2541..95da1a3 100755
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci.xml
@@ -52,58 +52,35 @@
</script>
<call function="'testGroup_Preamble'"/>
-
+
<!-- List of ACI test suites to run -->
<script>
suiteList=[]
- suiteList.append('global_acis')
- suiteList.append('aci_target')
- suiteList.append('aci_targetattr')
- suiteList.append('aci_targetfilter')
- suiteList.append('aci_targattrfilter')
- suiteList.append('aci_targetscope')
- suiteList.append('aci_targetcontrol')
- suiteList.append('aci_delete_entry')
- suiteList.append('aci_add_entry')
- suiteList.append('aci_modify_entry')
- suiteList.append('aci_modify_filter_tests')
- suiteList.append('aci_compare_tests')
- suiteList.append('multiple_aci_tests')
- suiteList.append('aci_modify_rdn')
- suiteList.append('aci_rdn_wildcards')
- suiteList.append('aci_bindtypes')
- suiteList.append('aci_proxy_auth')
- suiteList.append('aci_effective_rights')
-#OOS #suiteList.append('aci_import')
+# suiteList.append('global_acis')
+# suiteList.append('target')
+# suiteList.append('targetattr')
+# suiteList.append('targetfilter')
+# suiteList.append('targattrfilter')
+# suiteList.append('targetscope')
+ suiteList.append('targetcontrol')
+ suiteList.append('delete_entry')
+ suiteList.append('add_entry')
+ suiteList.append('modify_entry')
+ suiteList.append('compare_entry')
+ suiteList.append('modify_rdn')
+ suiteList.append('modify_filter')
+ suiteList.append('rdn_wildcards')
+ suiteList.append('bindtypes')
+ suiteList.append('proxy_auth')
+ suiteList.append('effective_rights')
+#OOS suiteList.append('import')
+ suiteList.append('multi_acis')
</script>
- <!-- Run the test suites -->
- <iterate var="_suite" in="suiteList">
- <sequence>
- <try>
- <sequence>
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/%s.xml' % (TESTS_DIR,_suite)"/>
- <call function="'%s' % _suite" />
- </sequence>
- <catch exception="'STAFException.TestSuite.SetupException'">
- <sequence>
- <message log="1" level="'fatal'">'Setup of test suite %s failed.' % _suite</message>
- </sequence>
- </catch>
- <catch exception="'STAFException.TestSuite.MainException'">
- <sequence>
- <message log="1" level="'fatal'">'Main part of test suite %s failed.' % _suite</message>
- </sequence>
- </catch>
- <catch exception="'STAFException.TestSuite.CleanupException'">
- <sequence>
- <message log="1" level="'fatal'">'Cleanup of test suite %s failed.' % _suite</message>
- </sequence>
- </catch>
- </try>
- </sequence>
- </iterate>
+ <call function="'testSuite_Run'">
+ { 'suites' : suiteList ,
+ 'group' : 'aci' }
+ </call>
</sequence>
</block>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_add_entry.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_add_entry.xml
deleted file mode 100644
index 2080d8f..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_add_entry.xml
+++ /dev/null
@@ -1,1736 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_add_entry"/>
-
- <function name="aci_add_entry">
-
- <sequence>
-
- <block name="'aci-add-entry'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Add Entry Tests
- #@TestSuitePurpose Test the ACI Support for add.
- #@TestSuiteGroup ACI Add Entry Tests
- #@TestScript aci_add_entry.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Add Entry Tests
- #@TestName Preamble
- #@TestIssue 439
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Add extra branches where new entries will be added
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
-
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Add Preamble - Adding Branches For Add Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/aci_startup_add_entry_tests.ldif' % remote.data }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- general allow(add) tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Add Entry Tests
- #@TestName Add Entry - userdn equals all
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACi where userdn equals all
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Directory Manager searches for added entry in the targeted branch.
- #@TestStep Client adds an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client add an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - userdn equals all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals all, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals all, user adding entry to targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals all, Directory Manager searching added entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals all, user adding entry to non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals all, 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals all, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - userdn equals a dn
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI where userdn equals a dn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Directory Manager searches added entry in the targeted branch.
- #@TestStep Client adds an entry in the targeted branch with a prohibited userdn.
- #@TestStep Client adds an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - userdn equals a dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals a dn, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals a dn, Directory Manager searching added entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=abergin,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in targeted branch with a prohibited userdn'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals a 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - userdn not equals a dn
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI where the userdn not equals a dn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Directory Manager searches added entry in the targeted branch.
- #@TestStep Client adds an entry in the targeted branch with a prohibited userdn.
- #@TestStep Client adds an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to deladd.ksh Test Cases tp4 -->
- <testcase name="getTestCaseName('Add Entry - userdn not equals a dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a dn, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a dn, Directory Manager searching added entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in targeted branch with a prohibited userdn'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - add not allowed
- #@TestIssue 439
- #@TestPurpose Add an entry where the ACI does not allow an add
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - add not allowed')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-delete_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - add not allowed, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - add not allowed, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-delete_entry1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- general targetfilter tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Add Entry Tests
- #@TestName Add Entry - targetfilter with one statement
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI with one targetfilter.
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Directory Manager searches added entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - targetfilter equals one statement')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetfilter_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter equals one statement, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter equals one statement, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter equals one statement, Directory Manager searching added entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=trigden,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter equals one statement, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter equals one statement, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - targetfilter with non-existent attribute
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI with a targetfilter with non-existent attribute
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - targetfilter with non-existent attribute')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetfilter_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter with non-existent attribute, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter with non-existent attribute, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter with non-existent attribute, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter with non-existent 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetfilter with non-existent attribute, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
-<!-- general targetattr tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Add Entry Tests
- #@TestName Add Entry - targetattr with one attribute
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI with a targetattr with one attribute.
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Directory Manager searches added entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - targetattr with one attribute')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetattr_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - targetattr with one attribute, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetattr with one attribute, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetattr_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetattr with one attribute, Directory Manager searching added entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=cschmith,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetattr with one attribute, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetattr_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetattr with 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targetattr with one attribute, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- general targattrfilter tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Add Entry Tests
- #@TestName Add Entry - targattrfilter with add:,del:
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI with a targattrfilter with add:,del:.
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Directory Manager searches added entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - targattrfilter with add:,del:')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targattrfilter_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add:,del:, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add:,del:, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add:,del:, Directory Manager searching added entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=jwallace,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add:,del:, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add:,del:, 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add:,del:, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - targattrfilter with add: only
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI with a targattrfilter with add: only.
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Directory Manager searches added entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - targattrfilter with add: only')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targattrfilter_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: only, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: only, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: only, Directory Manager searching added entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=jcrawler,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: only, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: only, 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: only, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - targattrfilter with add: statement false
- #@TestIssue 439
- #@TestPurpose Add an entry against an ACI with a targattrfilter with add: statement false.
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - targattrfilter with add: statement false')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targattrfilter_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: statement false, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: statement false, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: statement false, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: statement false, 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_add_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - targattrfilter with add: statement false, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- multiple ACI tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Add Entry Tests
- #@TestName Add Entry - Multi ACIs 1, overall deny
- #@TestIssue 439
- #@TestPurpose Add an entry against two ACIs with with overall deny
- #@TestPreamble Admin adds two acis.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - Multi ACIs 1, overall deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 1, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 1, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 1, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 1, 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_add_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 1, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - Multi ACIs 2, overall allow
- #@TestIssue 439
- #@TestPurpose Add an entry against two ACIs with an overall allow
- #@TestPreamble Admin adds two acis.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - Multi ACIs 2, overall allow')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 2, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 2, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 2, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 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_add_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 2, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - Multi ACIs 3, mixed allow and deny
- #@TestIssue 439
- #@TestPurpose Add an entry against multiple ACIs where the allow or deny depends on specific userds
- #@TestPreamble Admin adds two acis.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Client adds an entry in the targeted branch by a prohibited user.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - Multi ACIs 3, mixed allow and deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 3, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in targeted branch by a prohibited user'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 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_add_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - Multi ACIs 4, overall allow with many ACIs
- #@TestIssue 439
- #@TestPurpose Add an entry against many ACIs with an overall allow
- #@TestPreamble Admin adds many acis.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - Multi ACIs 4, overall allow with many ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 4, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 4, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 4, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 4, 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_add_entry/del_multi_acis2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 4, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Add Entry Tests
- #@TestName Add Entry - Multi ACIs 5, mixed allow and deny with many ACIs
- #@TestIssue 439
- #@TestPurpose Add an entry against many ACIs where the allow or deny depends on specific userds
- #@TestPreamble Admin adds many acis.
- #@TestStep Client adds an entry in the targeted branch.
- #@TestStep Client adds an entry in the targeted branch by a prohibited user.
- #@TestStep Client adds an entry in the non-targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Entry - Multi ACIs 5, mixed allow and deny with many ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 5, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in targeted branch by a prohibited user'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in non-targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 5, 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_add_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in previously targeted branch'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_bindtypes.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_bindtypes.xml
deleted file mode 100755
index c591ef3..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_bindtypes.xml
+++ /dev/null
@@ -1,4954 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_bindtypes"/>
-
- <function name="aci_bindtypes">
-
- <sequence>
-
- <block name="'aci-bindtypes'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Bind Type Tests
- #@TestSuitePurpose Test the basic ACI Bind Types Support.
- #@TestSuiteGroup Basic ACI Bind Types Tests
- #@TestScript aci_bindtypes.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Bind Type Tests
- #@TestName Preamble
- #@TestIssue 454
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Admin removes global search ACI
- #@TestStep Admin adds entries
- #@TestStep User searches for an entry in targeted branch
- #@TestStep Admin adds static group
- #@TestStep Admin adds dynamic group
- #@TestStep Admin searches for one of the members of the static group
- #@TestStep Admin searches for one of the members of the dynamic group
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
- No entry is returned in step 3.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Bind Types: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <message>
- 'ACI: Bind Types: Preamble - Adding Entries For Bind Types Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_bindtypes/aci_startup_bindtypes.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: 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=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: Preamble - Adding Static Groups For Bind Type Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_bindtypes/add_static_groups.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: Preamble - Adding Dynamic Groups For Bind Type Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_bindtypes/add_dynamic_groups.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: Preamble - admin searching one entry for isMemberOf of static group'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=cuser,ou=People,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'isMemberOf' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=cuser,ou=People,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'isMemberOf: cn=Marketing' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: Preamble - admin searching one entry for isMemberOf of dynamic group'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=luser,ou=People,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'isMemberOf' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=luser,ou=People,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'isMemberOf: cn=Development' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- GroupDN tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Bind Type Tests
- #@TestName groupdn equals one static group
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn equals one static group
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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.
- -->
- <testcase name="getTestCaseName('groupdn equals one static group')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn equals two static groups
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn equals two static groups
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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 steps 1 and 4.
- -->
- <testcase name="getTestCaseName('groupdn equals two static groups')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn equals two static groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two static groups, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two static groups, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two static groups, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two static groups, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two static groups, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two static groups, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn not equals one static group
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn not equals one static group
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a diifferent group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@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 steps 1 and 3.
- -->
- <testcase name="getTestCaseName('groupdn not equals one static group')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one static group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one static group, user searching targeted entry with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one static group, user searching in non-targeted branch with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one static group, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one static group, user searching with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one static group, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one static group, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn not equals two static groups
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn not equals two static groups
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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 3.
- -->
- <testcase name="getTestCaseName('groupdn not equals two static groups')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two static groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two static groups, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two static groups, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two static groups, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two static groups, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two static groups, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two static groups, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn equals one dynamic group
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn equals one dynamic group
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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.
- -->
- <testcase name="getTestCaseName('groupdn equals one dynamic group')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn equals one dynamic group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one dynamic group, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one dynamic group, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one dynamic group, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one dynamic group, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one dynamic group, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one dynamic group, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn equals two dynamic groups
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn equals two dynamic groups
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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 steps 1 and 4.
- -->
- <testcase name="getTestCaseName('groupdn equals two dynamic groups')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn equals two dynamic groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two dynamic groups, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two dynamic groups, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two dynamic groups, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two dynamic groups, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two dynamic groups, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals two dynamic groups, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn not equals one dynamic group
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn not equals one dynamic group
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a different group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@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 steps 1 and 3.
- -->
- <testcase name="getTestCaseName('groupdn not equals one dynamic group')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one dynamic group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one dynamic group, user searching targeted entry with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one dynamic group, user searching in non-targeted branch with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one dynamic group, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one dynamic group, user searching with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one dynamic group, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals one dynamic group, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn not equals two dynamic groups
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn not equals two dynamic groups
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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 3.
- -->
- <testcase name="getTestCaseName('groupdn not equals two dynamic groups')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two dynamic groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two dynamic groups, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn equals one static group with wildcard
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn of a static group with a wildcard
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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
- no entries are returned for any step.
- -->
- <testcase name="getTestCaseName('groupdn equals one static group with wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group with wildcard, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching in non-targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching with different-group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group with 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn equals one static and one dynamic group
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn equals one static and one dynamic group
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@TestStep Client searches entry in the targeted branch dn as a non-group member.
- #@TestStep Client searches entry in the targeted branch dn as a different group member.
- #@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 steps 1 and 4.
- -->
- <testcase name="getTestCaseName('groupdn equals one static and one dynamic group')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static and one dynamic group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching with non-group member'
- </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static and one dynamic group, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn - selfwrite add member
- #@TestIssue 450
- #@TestPurpose Test behavior with groupdn - selfwrite add member
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Admin adds selfwrite aci to the dn of the group
- #@TestStep Client adds a user as himself to a group.
- #@TestStep Client searches entry in the targeted branch dn as the new group member.
- #@TestStep Client searches entry in a non-targeted branch dn as the new group member.
- #@TestStep Remove selfwrite aci.
- #@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
- entry is returned only for step 3.
- -->
- <testcase name="getTestCaseName('groupdn - selfwrite add member')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add member, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_static_selfwrite.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add member, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add member, adding new static member'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_bindtypes/add_new_member_static1.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add member, user searching targeted entry with new group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add member, user searching in non-targeted branch with new group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add member, admin deleting selfwrite 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_bindtypes/del_static_selfwrite.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn equals one static group, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add member, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn - selfwrite delete member
- #@TestIssue 450
- #@TestPurpose Test behavior with groupdn - selfwrite delete member
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Admin adds selfwrite aci to the dn of the group
- #@TestStep Client deletes a user as himself from a group.
- #@TestStep Remove selfwrite aci.
- #@TestStep Client searches entry in the targeted branch dn as an old group member.
- #@TestStep Remove aci.
- #@TestStep Client searches entry in the targeted branch dn as an old group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations and
- entry returned in step 4.
- -->
- <testcase name="getTestCaseName('groupdn - selfwrite delete member')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_static_selfwrite.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, deleting old static member'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=zyuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_bindtypes/del_old_member_static2.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, admin deleting selfwrite 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_bindtypes/del_static_selfwrite.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, user searching targeted entry with old group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn - selfwrite replace member
- #@TestIssue 450
- #@TestPurpose Test behavior with groupdn - selfwrite replace member
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Admin adds selfwrite aci to the dn of the group
- #@TestStep Client replaces a user as himself from a group.
- #@TestStep Remove selfwrite aci.
- #@TestStep Client searches entry in the targeted branch dn as an old group member.
- #@TestStep Remove aci.
- #@TestStep Client searches entry in the targeted branch dn as an old group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations,
- 50 for step 2, and the entry is returned in step 4.
- -->
- <testcase name="getTestCaseName('groupdn - selfwrite replace member')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite replace member, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_static_selfwrite.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite replace member, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite delete member, replacing old static member'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_bindtypes/replace_member_static3.ldif' % (remote.data) ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite replace member, admin deleting selfwrite 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_bindtypes/del_static_selfwrite.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite replace member, user searching targeted entry with old group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite replace member, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite replace member, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName groupdn - selfwrite add description
- #@TestIssue 450
- #@TestPurpose Test behavior with groupdn - selfwrite add description
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Admin adds selfwrite aci to the dn of the group
- #@TestStep Client adds a description as a user as himself to a group.
- #@TestStep Remove selfwrite aci.
- #@TestStep Client searches entry in the targeted branch dn as an old group member.
- #@TestStep Remove aci.
- #@TestStep Client searches entry in the targeted branch dn as an old group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations,
- 50 for step 2, and the entry is returned in step 4.
- -->
- <testcase name="getTestCaseName('groupdn - selfwrite add description')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add description, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_static_selfwrite2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add description, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add description, add new description'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_bindtypes/add_new_description_static4.ldif' % (remote.data) ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add description, admin deleting selfwrite 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_bindtypes/del_static_selfwrite2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add description, user searching targeted entry with old group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add description, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: groupdn - selfwrite add description, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- userattr tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Bind Type Tests
- #@TestName userattr equals one attribute
- #@TestIssue 455
- #@TestPurpose Test behavior with userattr equals one attribute
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for all attributes.
- #@TestStep Client searches entry in the targeted branch dn for selected attributes including matching attribute.
- #@TestStep Client searches entry in the targeted branch dn for selected attributes not including matching attribute.
- #@TestStep Client searches entry in a non-targeted branch dn for all attributes.
- #@TestStep Client searches entry in the targeted branch dn for entry with no matching attribute.
- #@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 entries is returned only for steps 1, 2, and 3.
- Attribute values returned only for steps 1, 2 and 3.
- -->
- <testcase name="getTestCaseName('userattr equals one attr')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userattr_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, user searching targeted entry with all attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'l:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, user searching targeted entry with selected attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid l'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'l:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, user searching targeted entry with selected attributes without matching attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, user searching in non-targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid l'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, user searching entry with non-matching 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=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid l'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName userattr not equals one attribute
- #@TestIssue 1587
- #@TestPurpose Test behavior with userattr not equals one attribute
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for all attributes.
- #@TestStep Client searches entry in the targeted branch dn for selected attributes including matching attribute.
- #@TestStep Client searches entry in the targeted branch dn for selected attributes not including matching attribute.
- #@TestStep Client searches entry in a non-targeted branch dn for all attributes.
- #@TestStep Client searches entry in the targeted branch dn for entry with no matching attribute including matching attribute.
- #@TestStep Client searches entry in the targeted branch dn for entry with no matching attributenot including matching attribute.
- #@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 entries is returned only for steps 1, 2, 3, 5 and 6.
- Attribute values returned only for steps 1, 2 and 6.
- -->
- <testcase name="getTestCaseName('userattr not equals one attr')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userattr_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, user searching entry with all attributes with no matching attribute value'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'l:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, user searching entry with selected attributes with no matching attribute value'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid l'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'l:' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, user searching entry with selected attributes without matching attribute with no matching attribute value'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, user searching in non-targeted branch with no matching attribute value'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid l'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, user searching entry with matching attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=euser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid l'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, user searching entry without matching attribute'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=euser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,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=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr not equals one attr, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,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 Bind Type Tests
- #@TestName userattr equals one attribute with bindtype
- #@TestIssue 455
- #@TestPurpose Test behavior with userattr equals one attr with bindtype
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with matching manager.
- #@TestStep Client searches entry in a non-targeted branch dn for entry with matching manager.
- #@TestStep Client searches entry in the targeted branch dn for entry with no matching manager.
- #@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 entries is returned only for step 1.
- -->
- <testcase name="getTestCaseName('userattr equals one attr with bindtype')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userattr_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with bindtype, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with bindtype, user searching targeted entry with all attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'manager:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with bindtype, user searching in non-targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with bindtype, user searching entry with non-matching manager'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with bindtype, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with bindtype, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,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 Bind Type Tests
- #@TestName userattr equals one attr with groupdn
- #@TestIssue 455
- #@TestPurpose Test behavior with userattr equals one attr with groupdn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with group member and matching manager.
- #@TestStep Client searches entry in a non-targeted branch dn for entry with group member and matching manager.
- #@TestStep Client searches entry in the targeted branch dn for entry with non-group member and no matching manager.
- #@TestStep Client searches entry in the targeted branch dn for entry with group member and no matching manager.
- #@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 entries is returned only for step 1.
- -->
- <testcase name="getTestCaseName('userattr equals one attr with groupdn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userattr_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'manager:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, user searching in non-targeted branch with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kwinters,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kwinters,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, static group, user searching with non-group member'
- </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=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, user searching with different group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,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 Bind Type Tests
- #@TestName userattr equals one attr with groupdn, url expression
- #@TestIssue 455
- #@TestPurpose Test behavior with userattr equals groupdn with url expression
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with group member and matching manager.
- #@TestStep Client searches entry in the targeted branch dn for entry with non-group member and no matching manager.
- #@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 entries is returned only for step 1.
- -->
- <testcase name="getTestCaseName('userattr equals one attr with groupdn, url expression')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci="(targetattr=\"*\")(version 3.0; acl \"add_userattr_aci5\"; allow (search,read) userattr=\"ldap:///o=ACI Tests,dc=example,dc=com?manager#GROUPDN\";)"
- </script>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'add' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, user searching targeted entry with group member'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'manager:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, user searching with non-group member'
- </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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, url expression,, admin deleting aci'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,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 Bind Type Tests
- #@TestName inheritance with bindtype, deny children
- #@TestIssue 455
- #@TestPurpose Test behavior of inheritance with bindtype, deny children
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
- #@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 entries is returned only for step 1.
- -->
- <testcase name="getTestCaseName('inheritance with bindtype, deny children')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userattr_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, deny children, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, deny children, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'manager:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, deny children, user searching in first child level'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, deny children, user searching in second child level'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, deny children, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, deny children, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,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 Bind Type Tests
- #@TestName inheritance with bindtype, allow one child level
- #@TestIssue 455
- #@TestPurpose Test behavior of inheritance with bindtype, allow one child level
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
- #@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 entries is returned only for steps 1 and 2.
- -->
- <testcase name="getTestCaseName('inheritance with bindtype, allow one child level')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userattr_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow one child level, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'manager:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching in first child level'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching in second child level'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow one child level, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,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 Bind Type Tests
- #@TestName inheritance with bindtype, allow two child levels
- #@TestIssue 455
- #@TestPurpose Test behavior of inheritance with bindtype, allow two child levels
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
- #@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 entries is returned only for steps 1, 2, and 3.
- -->
- <testcase name="getTestCaseName('inheritance with bindtype, allow two child levels')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userattr_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow two child levels, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'manager:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching in first child level'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching in second child level'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow two child levels, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,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 Bind Type Tests
- #@TestName userattr equals one operational attribute with bindtype
- #@TestIssue 1760
- #@TestPurpose Test behavior with userattr equals one operational attr with bindtype
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with matching userdn.
- #@TestStep Client searches entry in a non-targeted branch dn for entry with matching userdn.
- #@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 entries is returned only for step 1.
- -->
- <testcase name="getTestCaseName('userattr equals one operational attr with bindtype')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci="(targetattr=\"*\")(version 3.0; acl \"add_userattr_aci9\"; allow (search,read) userattr=\"entrydn#USERDN\";)"
- </script>
-
- <message>
- 'ACI: Bind Types: userattr equals one operational attr with bindtype, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch, o=Bind Type Tests, o=ACI Tests, dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'add' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one operational attr with bindtype, user searching targeted entry with all attributes'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ruling' ,
- 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'manager:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one operational attr with bindtype, user searching in non-targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ruling' ,
- 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one operational attr with bindtype, admin deleting aci'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch, o=Bind Type Tests, o=ACI Tests, dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Bind Types: userattr equals one operational attr with bindtype, user searching previously targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ruling' ,
- 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid manager' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
-<!-- syntax tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Bind Type Tests
- #@TestName syntax - groupdn with missing slash
- #@TestIssue 455
- #@TestPurpose Test behavior with groupdn with missing slash in the url
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('groupdn with missing slash')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn with missing slash, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Bind Type Tests
- #@TestName syntax - groupdn with single quotes
- #@TestIssue 455
- #@TestPurpose Test behavior with groupdn with single quotes
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('groupdn with single quote')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn with single quote, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Bind Type Tests
- #@TestName syntax - groupdn is null
- #@TestIssue 454
- #@TestPurpose Test behavior with groupdn equals null
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('groupdn with null value')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: groupdn with null value, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Bind Type Tests
- #@TestName syntax - userdn is null
- #@TestIssue 453
- #@TestPurpose Test behavior with userdn equals null
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('userdn with null value')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: userdn with null value, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Bind Type Tests
- #@TestName syntax - userattr is null
- #@TestIssue 455
- #@TestPurpose Test behavior with userattr equals null
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('userattr with null value')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: userattr with null value, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Bind Type Tests
- #@TestName syntax - roledn
- #@TestIssue 1577
- #@TestPurpose Test behavior with roledn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('roledn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: roledn, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- UserDN tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Bind Type Tests
- #@TestName userdn with filter
- #@TestIssue 454
- #@TestPurpose Test behavior with userdn and filter
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn as a group member.
- #@TestStep Client searches entry in a non-targeted branch dn as a group member.
- #@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.
- -->
- <testcase name="getTestCaseName('groupdn equals userdn with filter')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_userdn_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Bind Types: userdn with filter, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Bind Types: userdn with filter, user searching targeted entry with group member'
- </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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'roomnumber=4135' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: userdn with filter, user searching in non-targeted branch with group member'
- </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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'roomnumber=4135' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: userdn with filter, 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_bindtypes/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Bind Types: userdn with filter, 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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'roomnumber=4135' ,
- 'extraParams' : '-T'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- authmethod tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Bind Type Tests
- #@TestName authmethod equals none
- #@TestIssue 460
- #@TestPurpose Test bind where an ACI authmethod equals none applies.
- #@TestPreamble none
- #@TestStep Anonymous search.
- #@TestStep Admin adds ACI.
- #@TestStep Anonymous search.
- #@TestStep Admin deletes ACI.
- #@TestStep Anonymous search.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0 for all ldap operations.
- Entry returned for step 3.
- -->
- <testcase name="getTestCaseName('authmethod equals none')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Bind Types: authmethod equals none, anonymous search'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Bind Types: authmethod equals none, adding authmethod ACI'
- </message>
-
- <script>
- curr_aci="(targetattr=\"*\")(version 3.0; acl \"aci1\"; allow (read,search,compare) authmethod=\"none\";)"
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'add' }
- </call>
-
- <message>
- 'ACI: Bind Types: authmethod equals none, anonymous search'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Bind Types: authmethod equals none, deleting authmethod ACI'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Bind Types: authmethod equals none, anonymous search'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People' }
- </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 Bind Type Tests
- #@TestName Postamble
- #@TestIssue 454
- #@TestPurpose Reset environment.
- #@TestPreamble none
- #@TestStep Admin removes entries.
- #@TestStep Admin reset global aci search permissions.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Bind Types Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Bind Types: Postamble - deleting entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Bind Type Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <message>
- 'ACI: Bind Types: Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_cleanup.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_cleanup.xml
deleted file mode 100755
index cebee63..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_cleanup.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2009 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_cleanup"/>
-
- <function name="aci_cleanup" scope="local">
-
- <sequence>
-
- <block name="'aci_cleanup'">
-
- <testcase name="getTestCaseName('ACI Cleanup')">
-
- <try>
-
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <call function="'runFunction'">
- { 'functionName' : 'ldapDeleteWithScript' ,
- 'functionMessage' : 'Recursive delete of suffix.' ,
- 'functionException' : 'LDAP.DeleteException' ,
- 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME ,
- 'dsDeleteSubtree' : 'TRUE' ,
- 'dsInstanceHost' : server.host ,
- 'dsInstancePort' : server.port ,
- 'dsInstanceDn' : server.dn ,
- 'dsInstancePswd' : server.password ,
- 'dsDn' : ['%s' % server.suffix] }
- }
- </call>
-
- <call function="'runFunction'">
- { 'functionName' : 'StopDsWithScript' ,
- 'functionMessage' : 'Stop the Directory Server.' ,
- 'functionException' : 'Server.StopException' ,
- 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME ,
- 'dsHost' : server.host ,
- 'dsAdminPort' : server.adminport ,
- 'dsBindDN' : server.dn ,
- 'dsBindPwd' : server.password }
- }
- </call>
-
- <call function="'runFunction'">
- { 'functionName' : 'removeTopology' ,
- 'functionMessage' : 'Remove DS topology.' ,
- 'functionException' : 'Server.RemoveTopologyException'
- }
- </call>
-
- </sequence>
-
- <catch exception="'STAXException.LDAP.DeleteException'" typevar="eType" var="eInfo">
- <sequence>
- <message log="1" level="'fatal'">
- '%s: LDAPDelete failed. eInfo(%s)' % (eType,eInfo)
- </message>
- <throw exception="'STAFException.TestSuite.CleanupException'" />
- </sequence>
- </catch>
-
- <catch exception="'STAXException.Server.RemoveTopologyException'" typevar="eType" var="eInfo">
- <sequence>
- <message log="1" level="'fatal'">
- '%s: Remove topology failed. eInfo(%s)' % (eType,eInfo)
- </message>
- <throw exception="'STAFException.TestSuite.CleanupException'" />
- </sequence>
- </catch>
-
- <catch exception="'STAXException.Server.StopException'" typevar="eType" var="eInfo">
- <sequence>
- <message log="1" level="'fatal'">
- '%s: Failed to stop Directory Server. eInfo(%s)' % (eType,eInfo)
- </message>
- <throw exception="'STAFException.TestSuite.CleanupException'" />
- </sequence>
- </catch>
- <finally>
- <!-- Test Group postamble -->
- <call function="'testCase_Postamble'"/>
- </finally>
-
- </try>
-
- </testcase>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_compare_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_compare_tests.xml
deleted file mode 100644
index 08ee5a4..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_compare_tests.xml
+++ /dev/null
@@ -1,1707 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_compare_tests"/>
-
- <function name="aci_compare_tests">
-
- <sequence>
-
- <block name="'aci-compare-tests'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Compare Tests
- #@TestSuitePurpose Test the ACI Support for compare.
- #@TestSuiteGroup ACI Compare Entry Tests
- #@TestScript aci_compare_tests.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Compare Tests
- #@TestName Preamble
- #@TestIssue 441
- #@TestPurpose Modify global ACIs
- #@TestPreamble none
- #@TestStep Directory Manager removes global ACI allowing compares
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Comparet: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </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 Compare Tests
- #@TestName Compare Attr - userdn equals all
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals all
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- The return string for step 1 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - userdn equals all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals all, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals all, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals all, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals all, 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals all, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - userdn not equals a dn
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI where userdn not equals a dn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch with a prohibited user.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- The return string for step 1 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - userdn not equals a dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a dn, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - userdn equals a branch dn
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals a branch dn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - userdn equals a branch dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals a branch dn, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals a branch 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - userdn not equals a branch dn
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals a branch dn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- The return string for steps 1 and 2 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - userdn not equals a branch dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a branch dn, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a branch 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - userdn equals two dns
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals two dns
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- The return string for steps 1 and 2 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - userdn equals two dns')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals two dns, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals two dns, 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - userdn not equals two dns
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals a branch dn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - userdn not equals two dns')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals two dns, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals two dns, 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - compare not allowed
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI where compare is not allowed
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns
- 50 for all ldapcompare steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - compare not allowed')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - compare not allowed, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn compare not allowed, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn compare not allowed, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn compare not allowed, 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - userdn compare not allowed, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - targetattr with one attribute
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI with a targetattr with one attribute
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares a prohibited attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- The return string for step 1 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - targetattr with one attribute')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - targetattr with one attribute, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing prohibited attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'roomnumber:4376',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetattr with 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - targetfilter with one statement
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI with a targetfilter with one statement
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in a prohibited entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- The return string for step 1 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - targetfilter with one statement')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - targetfilter with one statement, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing prohibited attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'roomnumber:4376',
- 'entryToBeCompared' : 'uid=jrunner, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetfilter with 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - targattrfilters with add:,del:
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI with a targattrfilters with add:,del
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares a second attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- The return string for steps 1 and 2 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - targattrfilters with add:,del:')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing prohibited attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'roomnumber:4376',
- 'entryToBeCompared' : 'uid=jrunner, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'false' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - targattrfilters with add:,del:, returns false
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against an ACI with a targattrfilters with add:,del
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Client compares a second attribute in an entry in the targeted branch.
- #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- The return string for steps 1 and 2 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - targattrfilters with add:,del:, returns false')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing prohibited attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'roomnumber:4376',
- 'entryToBeCompared' : 'uid=jrunner, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'false' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing attribute in non-targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, 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_compare_tests/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - Multi ACIs 1, overall deny
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against two ACIs, overall deny
- #@TestPreamble Admin adds acis.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - Multi ACIs 1, overall deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, 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_compare_tests/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Compare Attr - Multi ACIs 2, overall allow
- #@TestIssue 441
- #@TestPurpose Compare an attribute in an entry against two ACIs, overall allow
- #@TestPreamble Admin adds acis.
- #@TestStep Client compares an attribute in an entry in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client compares an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- The return string for step 1 is evaluated to contain the substring, true.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Compare Attr - Multi ACIs 2, overall allow')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, user comparing attribute in targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'true' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, 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_compare_tests/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, user comparing attribute in previously targeted branch'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Cupertino',
- 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
- 'expectedRC' : 50
- }
- </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 Compare Tests
- #@TestName Postamble
- #@TestIssue 441
- #@TestPurpose Reset global ACI to default settings
- #@TestPreamble none
- #@TestStep Directory Manager replaces default global aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Compare: Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_delete_entry.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_delete_entry.xml
deleted file mode 100755
index 48e8aca..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_delete_entry.xml
+++ /dev/null
@@ -1,2113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_delete_entry"/>
-
- <function name="aci_delete_entry">
-
- <sequence>
-
- <block name="'aci-delete-entry'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Delete Entry Tests
- #@TestSuitePurpose Test the ACI Support for delete.
- #@TestSuiteGroup ACI Delete Entry Tests
- #@TestScript aci_delete_entry.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Delete Entry Tests
- #@TestName Preamble
- #@TestIssue 442
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Add extra entries that will be deleted in the tests.
- #@TestStep Directory Manager searches entry in a branch.
- #@TestStep Directory Manager searches entry in another branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
-
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Delete: Preamble - Adding Entries For Delete Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_delete_entry/aci_startup_delete_entry_tests.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Preamble - Directory Manager searching entry that will be in targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <message>
- 'ACI: Delete: Preamble - Directory Manager searching entry that will be in non-targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- general allow(delete) tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Delete Entry Tests
- #@TestName Delete Entry - userdn equals all
- #@TestIssue 442
- #@TestPurpose Delete an entry
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Directory Manager searches for deleted entry in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 32 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to deladd.ksh Test Cases tp1 and tp3 -->
- <testcase name="getTestCaseName('Delete Entry - userdn equals all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-delete_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals all, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals all, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals all, Directory Manager searching deleted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=bhall,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals all, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals all, 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals all, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - userdn equals a dn
- #@TestIssue 442
- #@TestPurpose Delete an entry
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Directory Manager searches deleted entry in the targeted branch.
- #@TestStep Client deletes an entry in the targeted branch with a prohibited userdn.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 32 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to deladd.ksh Test Cases tp4 -->
- <testcase name="getTestCaseName('Delete Entry - userdn equals a dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-delete_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals a dn, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals a dn, Directory Manager searching deleted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=tmason,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry from targeted branch with prohibited userdn'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals a 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - userdn not equals a dn
- #@TestIssue 442
- #@TestPurpose Delete an entry
- #@TestPreamble Admin adds an aci with the target not equal to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Directory Manager searches deleted entry in the targeted branch.
- #@TestStep Client deletes an entry with a prohibited userdn in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 32 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to deladd.ksh Test Cases tp4 -->
- <testcase name="getTestCaseName('Delete Entry - userdn not equals a dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-delete_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn not equals a dn, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn not equals a dn, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn not equals a dn, Directory Manager searching deleted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=jreuter,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn not equals a dn, prohibited user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry3.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn not equals a dn, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn not equals a 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - userdn not equals a dn, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - delete not allowed
- #@TestIssue 442
- #@TestPurpose Delete an entry when delete is not allowed
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to deladd.ksh Test Cases tp1 and tp3 -->
- <testcase name="getTestCaseName('Delete Entry - delete not allowed')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_allow-write_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - delete not allowed, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - delete not allowed, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-write_entry1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - delete not allowed, 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - delete not allowed, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- targetfilter tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Delete Entry Tests
- #@TestName Delete Entry - targetfilter with one statement
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targetfilter with one statement
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry with the targeted branch.
- #@TestStep Directory Manager searches deleted entry with the targeted branch.
- #@TestStep Client deletes an entry that is not with the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 32 for step2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetfilter equals one statement')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetfilter_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals one statement, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals one statement, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals one statement, Directory Manager searching deleted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=rdaugherty,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals one statement, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals one statement, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - targetfilter with three statements (or) all false
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targetfilter with three statements (or) all false
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry with the targeted branch.
- #@TestStep Client deletes an entry that is not with the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetfilter equals three statements (or) all false')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetfilter_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals othree statements (or) all false, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - targetfilter not equals three statements (or) all false
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targetfilter not equal three statements (or) all false
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetfilter not equals three statements (or) all false')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetfilter_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - targetfilter with three statements (and) all true
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targetfilter with three statements (and) all true
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetfilter equals three statements (and) all true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetfilter_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals othree statements (and) all true, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (and) all true, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (and) all true, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three statements (and) all true, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - targetfilter contains attribute not present
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targetfilter containing attribute not present
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetfilter contains attribute not present')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetfilter_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
-<!-- targetattr tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Delete Entry Tests
- #@TestName Delete Entry - targetattr equals three attributes
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targetattr equal to three attributes
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetattr equals three attributes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetattr_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three attributes, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three attributes, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three attributes, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals three attributes, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - targetattr equals attribute not present
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targetattr equal to attribute not present
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetattr equals attribute not present')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targetattr_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetattr equals attribute not present, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetattr equals attribute not present, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetattr equals attribute not present, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetattr equals attribute not present, 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetattr equals attribute not present, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- targattrfilter tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Delete Entry Tests
- #@TestName Delete Entry - targattrfilter equals attr value
- #@TestIssue 442
- #@TestPurpose Test delete with ACI that has targattrfilter equals attribute value
- #@TestPreamble Admin adds an aci.
- #@TestStep Client deletes an entry in the targeted branch.
- #@TestStep Client deletes an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - targetattr equals attr value')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_targattrfilter_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals attr value, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals attr value, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targattrfilter_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals attr value, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targattrfilter_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals attr value, 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - targetfilter equals attr value, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - delete branch
- #@TestIssue 442
- #@TestPurpose Delete a branch
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes a branch in the targeted branch.
- #@TestStep Directory Manager searches in deleted branch in the targeted branch.
- #@TestStep Client deletes a branch that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - delete branch')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch, o=Delete Tests, o=ACI Tests, dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'add' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_allow-delete_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - delete branch, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - delete branch, user deleting branch from targeted branch'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'ou=extra branch 1, ou=aci branch, o=Delete Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - delete branch, Directory Manager searching deleted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=extra branch 1, ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - delete branch, user deleting branch from non-targeted branch'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'ou=extra branch 1, ou=non-aci branch, o=Delete Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x',
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch, o=Delete Tests, o=ACI Tests, dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - delete 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_delete_entry/del_aci.ldif' % remote.data }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- multiple ACI tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Delete Entry Tests
- #@TestName Delete Entry - Multi ACIs 1, overall deny
- #@TestIssue 442
- #@TestPurpose Test delete with 2 ACIs, overall deny
- #@TestPreamble Admin adds two acis.
- #@TestStep Client deletes an entry with the targeted branch.
- #@TestStep Client deletes an entry that is not with the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - multi ACIs 1, overall deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 1, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 1, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 1, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 1, 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_delete_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 1, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - Multi ACIs 2, overall allow
- #@TestIssue 442
- #@TestPurpose Test delete with 2 ACIs, overall allow
- #@TestPreamble Admin adds two acis.
- #@TestStep Client deletes an entry with the targeted branch.
- #@TestStep Client deletes an entry that is not with the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - multi ACIs 2, overall allow')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 2, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 2, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 2, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 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_delete_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 2, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - Multi ACIs 3, mixed allow and deny
- #@TestIssue 442
- #@TestPurpose Test delete with 2 ACIs, mixed allow and deny
- #@TestPreamble Admin adds two acis.
- #@TestStep Client deletes an entry with the targeted branch by a prohibited userdn.
- #@TestStep Client deletes an entry with the targeted branch.
- #@TestStep Client deletes an entry that is not with the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - multi ACIs 3, mixed allow and deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 3, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry from targeted branch by a prohibited userdn'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 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_delete_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - Multi ACIs 4, overall allow with many ACIs
- #@TestIssue 442
- #@TestPurpose Test delete with many ACIs, overall allow with many ACIs
- #@TestPreamble Admin adds two acis.
- #@TestStep Client deletes an entry with the targeted branch.
- #@TestStep Client deletes an entry that is not with the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - multi ACIs 4, overall allow with many ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 4, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 4, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 4, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 4, 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_delete_entry/del_multi_acis2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 4, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Delete Entry - Multi ACIs 5, mixed allow and deny with many ACIs
- #@TestIssue 442
- #@TestPurpose Test delete with many ACIs, mixed allow and deny with many ACIs
- #@TestPreamble Admin adds many acis, mixed allow and deny with many ACIs.
- #@TestStep Client deletes an entry with the targeted branch by a prohibited userdn.
- #@TestStep Client deletes an entry with the targeted branch.
- #@TestStep Client deletes an entry that is not with the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an entry with the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Entry - multi ACIs 5, mixed allow and deny with many ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_multi_acis5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 5, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry from targeted branch by a prohibited userdn'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 5, 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_delete_entry/del_multi_acis2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Delete Entry Tests
- #@TestName Postamble
- #@TestIssue 442
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Directory Manager searches entry in a branch.
- #@TestStep Directory Manager searches entry in another branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
-
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Delete: Postamble - Directory Manager searching entry that was targeted in targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <message>
- 'ACI: Delete: Postamble - Directory Manager searching entry that was in non-targeted branch'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_effective_rights.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_effective_rights.xml
deleted file mode 100755
index 7998aea..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_effective_rights.xml
+++ /dev/null
@@ -1,2512 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_effective_rights"/>
-
- <function name="aci_effective_rights">
-
- <sequence>
-
- <block name="'aci-effective-rights'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Effective Rights Tests
- #@TestSuitePurpose Test the basic ACI Get Effective Rights Support.
- #@TestSuiteGroup Basic ACI Effective Rights Tests
- #@TestScript aci_effective_rights.xml
- -->
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Target Tests
- #@TestName Preamble
- #@TestIssue 87
- #@TestPurpose Prepare for effective rights tests
- #@TestPreamble none
- #@TestStep Admin removes global search ACI
- #@TestStep Admin adds ACI to access effective rights
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
- -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Effective Rights: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <script>
- allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'add' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_effrights_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Preamble - Admin adding get effective rights ACI,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </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 Effective Rights Tests
- #@TestName Effective Rights - wildcard
- #@TestIssue 1745
- #@TestPurpose Test effective rights with wildcard
- #@TestPreamble none
- #@TestStep Admin searches for effective rights in an entry using the wildcard notation.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- proper entries are returned for all steps.
- -->
- <testcase name="getTestCaseName('Basic - wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Effective Rights: Basic - wildcard, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=scarter' ,
- 'attributes' : 'aclRights "*"' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com"' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;cn: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - read
- #@TestIssue 87
- #@TestPurpose Test effective rights with read permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Admin searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Admin searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- no entries are returned for any step.
- -->
- <testcase name="getTestCaseName('Basic - read')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - read, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:0,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:0,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - read, user searching non-targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - read, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - read, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - search
- #@TestIssue 87
- #@TestPurpose Test effective rights with search permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- no entries are returned for any step.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Basic - search')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - search, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - search-read
- #@TestIssue 87
- #@TestPurpose Test effective rights with search-read permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn as shown in doc example.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn with -J option.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - search-read')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read as doc example, 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' : 'aclRights "*"' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com"' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read with -J option, 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' : 'aclRights' ,
- 'extraParams' : '-T -J effectiveRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - search-read in separate ACIs
- #@TestIssue 87
- #@TestPurpose Test effective rights with search-read permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - search-read, separate ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, separate ACIs, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - compare
- #@TestIssue 87
- #@TestPurpose Test effective rights with compare permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- and the attributeLevel permissions are 1 for search, read and compare for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - compare')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - compare, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - compare, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:1,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:1,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - compare, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - compare, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - compare, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - add
- #@TestIssue 87
- #@TestPurpose Test effective rights with add permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - add')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - add, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - add, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:1,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - add, 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' : 'ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - add, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - add, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - delete
- #@TestIssue 87
- #@TestPurpose Test effective rights with delete permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read and delete,
- and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - delete')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - delete, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - delete, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:1,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - delete, 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' : 'ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - delete, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - delete, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - write
- #@TestIssue 87
- #@TestPurpose Test effective rights with write permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read and write,
- and the attributeLevel permissions are 1 for search, read, write, selfwrite_add and selfwrite_delete for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - write')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - write, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - write, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:1,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:1,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:1,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - write, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - write, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - write, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - proxy
- #@TestIssue 87
- #@TestPurpose Test effective rights with proxy permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read and proxy,
- and the attributeLevel permissions are 1 for search, read, and proxy for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - proxy')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - proxy, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - proxy, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:1' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:1' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:1' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - proxy, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - proxy, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - proxy, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - selfwrite
- #@TestIssue 87
- #@TestPurpose Test effective rights with selfwrite permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read and write,
- and the attributeLevel permissions are 1 for search, read, selfwrite_add and selfwrite_delete for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - selfwrite')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - selfwrite, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - selfwrite, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - selfwrite, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - selfwrite, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - selfwrite, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - all
- #@TestIssue 87
- #@TestPurpose Test effective rights with all permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for all options but proxy,
- and the attributeLevel permissions are 1 for all options but proxy for uid and roomnumber.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Basic - all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - all, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - all, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:1,delete:1,read:1,write:1,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:1,write:1,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:1,write:1,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - all, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - all, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - all, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - export
- #@TestIssue 87
- #@TestPurpose Test effective rights with export permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - export')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci12.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - export, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - export, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - export, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - export, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - export, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - import
- #@TestIssue 87
- #@TestPurpose Test effective rights with import permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
- -->
- <testcase name="getTestCaseName('Basic - import')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci13.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: Basic - import, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - import, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - import, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - import, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: Basic - import, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - targetattr with search,read
- #@TestIssue 87
- #@TestPurpose Test effective rights with targetattr with search,read permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- the attributeLevel permissions are 1 for search and read for roomnumber,
- and all attribute permissions are 0 for uid.
- -->
- <testcase name="getTestCaseName('targetattr with search,read')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci21.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: targetattr with search,read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with search,read, 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' : 'roomnumber=*' ,
- 'attributes' : 'uid aclRights roomnumber cn' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with search,read, 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' : 'roomnumber=*' ,
- 'attributes' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with search,read, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with search,read, 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' : 'roomnumber=*' ,
- 'attributes' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Effective Rights Tests
- #@TestName Effective Rights - targetattr with search,read
- #@TestIssue 87
- #@TestPurpose Test effective rights with targetattr with search,read permission
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- an entry is returned for step 1.
- Also, for step 1, the entryLevel permission is 1 for read,
- the attributeLevel permissions are 1 for search and read for uid,
- and all attribute permissions are 0 for roomnumber.
- -->
- <testcase name="getTestCaseName('targetattr with not equal and search,read')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci22.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Effective Rights: targetattr with not equal and search,read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with not equal and search,read, 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' : 'uid=*' ,
- 'attributes' : 'uid aclRights roomnumber cn' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with not equal and search,read, 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' : 'uid=*' ,
- 'attributes' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with not equal and search,read, 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_effective_rights/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Effective Rights: targetattr with not equal and search,read, 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' : 'uid=*' ,
- 'attributes' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 87
- #@TestPurpose Reset effective rights tests
- #@TestPreamble none
- #@TestStep Admin deletes ACI to access effective rights
- #@TestStep Admin puts back global search ACI
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
- -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Effective Rights: Postamble - Admin deleting get effective rights 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_effective_rights/del_effrights_aci.ldif' % (remote.data) }
- </call>
-
- <script>
- allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Effective Rights: Preamble - putting back Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_import.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_import.xml
deleted file mode 100755
index 6f3607a..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_import.xml
+++ /dev/null
@@ -1,297 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_import"/>
-
- <function name="aci_import">
-
- <sequence>
-
- <block name="'aci-import'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Import Tests
- #@TestSuitePurpose Test the basic ACI Target Support. (targetattr="*" and allow(read))
- #@TestSuiteGroup Basic ACI Target Tests
- #@TestScript aci_target.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Import Tests
- #@TestName ldif-import with bad ACI
- #@TestIssue 1758
- #@TestPurpose ldif-import with bad ACI
- #@TestPreamble none
- #@TestStep Root user searching entry.
- #@TestStep User searching entry.
- #@TestStep Admin adding import task.
- #@TestStep Root user searching entry.
- #@TestStep User searching entry.
- #@TestStep Admin adding leave lockdown task.
- #@TestStep Root user searching entry.
- #@TestStep User searching entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 49
- for step 5, and 0
- for all other ldap operations.
- Proper entries returned for searches.
- -->
- <testcase name="getTestCaseName('import-ldif with bad ACI')">
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Import: import-ldif with bad ACI, Admin searching entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: dc=example,dc=com' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Import: import-ldif with bad ACI, User searching 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' : 'dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: dc=example,dc=com' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Import: import-ldif with bad ACI, user adding import task'
- </message>
-
- <call function="'ImportLdifWithScript'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'ldifFile' : '%s/aci/aci_import/import_task.ldif' % remote.data
- }
- </call>
-
- <if expr="STAFCmdRC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Import: import-ldif with bad ACI, Admin searching entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: dc=example,dc=com' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Import: import-ldif with bad ACI, User searching entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser, o=ACI Import Tests, dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' ,
- 'expectedRC' : 49
- }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <message>
- 'Privileges: Import Tasks: import-ldif, user adding leave lockdown task'
- </message>
-
- <call function="'leaveLockdownTask'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'taskID' : 'Import Bad ACI Leave Lockdown Task'
- }
- </call>
-
- <if expr="STAFCmdRC != 0">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Import: import-ldif with bad ACI, Admin searching entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: dc=example,dc=com' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Import: import-ldif with bad ACI, User searching entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser, o=ACI Import Tests, dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: dc=example,dc=com' }
- </call>
-
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_entry.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_entry.xml
deleted file mode 100755
index 0351c24..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_entry.xml
+++ /dev/null
@@ -1,3081 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_entry"/>
-
- <function name="aci_modify_entry">
-
- <sequence>
-
- <block name="'aci-modify-entry'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Modify Entry Tests
- #@TestSuitePurpose Test the ACI Support for modify.
- #@TestSuiteGroup ACI Modify Entry Tests
- #@TestScript aci_modify_entry.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Entry Tests
- #@TestName Preamble
- #@TestIssue 444
- #@TestPurpose Add additional entries
- #@TestPreamble none
- #@TestStep Directory Manager adds additional entries.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
-
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify: Preamble - Adding Entries For Modify Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_entry/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- replace attribute tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Entry Tests
- #@TestName Modify Attribute Value - userdn equals all
- #@TestIssue 444
- #@TestPurpose Modifies an attribute with targetattr=* and userdn =all
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp3 -->
- <testcase name="getTestCaseName('Modify Attribute Value - userdn equals all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - userdn equals all, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - userdn equals all, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - userdn equals all, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - userdn equals all, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - userdn equals all, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - targetattr equals three attributes
- #@TestIssue 444
- #@TestPurpose Modify an attribute where targetattr equals three attributes
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp1 and tp2 -->
- <testcase name="getTestCaseName('Modify Attribute Value - targetattr equals three attributes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry2.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - targetattr not equals three attributes
- #@TestIssue 444
- #@TestPurpose Modify an attribute with targetattr not equals three attributes
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp1 and tp2 -->
- <testcase name="getTestCaseName('Modify Attribute Value - targetattr not equals three attributes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry3.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - write not allowed
- #@TestIssue 444
- #@TestPurpose Modify an attribute where write is not allowed
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - write not allowed')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - write not allowed, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_entry4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_entry4.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_entry4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - write not allowed, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - targetattr and targattrfilters
- #@TestIssue 444
- #@TestPurpose Modify an attribute with a combination of targetattr and targattrfilters
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies a prohibited attribute value by targattrfilter in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in a prohibited entry that is in the targeted branch.
- #@TestStep Client modifies a prohibited attribute value by targetattr in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp1 and tp2 -->
- <testcase name="getTestCaseName('Modify Attribute Value - targetattr and targattrfilter')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targattrfilter) in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying prohibited entry (by targattrfilter) from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targetattr) in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, overall allow, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - targetfilter with three statements with or, one statement true
- #@TestIssue 444
- #@TestPurpose Modify an attribute with targetfilter with three statements with or, one statement true
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in a prohibited entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - targetfilter with three statements with or, one statement true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry6.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry6a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - targetfilter not equals three statements with and, all statements true
- #@TestIssue 444
- #@TestPurpose Modify an attribute with targetfilter not equals three statements with and, all statements true
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in a prohibited entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - targetfilter not equals three statements with and, all statements true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry7.1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry7a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - multiple ACIs 1, overall deny
- #@TestIssue 444
- #@TestPurpose Modify attribute value with 2 ACIs, overall deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 1, overall deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_multi_acis8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry8a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, 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_modify_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - multiple ACIs 2, overall allow
- #@TestIssue 444
- #@TestPurpose Modify attribute value with 2 ACIs, overall allow
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 2, overall allow')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_multi_acis9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry9a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 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_modify_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - multiple ACIs 3, mixed allow and deny
- #@TestIssue 444
- #@TestPurpose Modify attribute value with 2 ACIs, mixed allow and deny by userdn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry by a prohibited user in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 3, mixed allow and deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_multi_acis10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry by prohibited user from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry10.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry10.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry10a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 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_modify_entry/del_multi_acis.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - multiple ACIs 4, overall allow with many ACIs
- #@TestIssue 444
- #@TestPurpose Modify attribute value with many ACIs, overall allow with many ACIs
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 4, overall allow with many ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_multi_acis11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry11.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry11a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, 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_modify_entry/del_multi_acis2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Modify Attribute Value - multiple ACIs 5, mixed allow and deny with many ACIs
- #@TestIssue 444
- #@TestPurpose Modify attribute value with many ACIs, mixed allow and deny with many ACIs
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry by a prohibited user in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 5, mixed allow and deny with many ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modify_multi_acis12.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry by prohibited user from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry12.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry12a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, 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_modify_entry/del_multi_acis2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- delete attribute tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Entry Tests
- #@TestName Delete Attribute Value - userdn equals dn
- #@TestIssue 444
- #@TestPurpose Deletes an attribute from an entry where targetattr=* and userdn=[a dn]
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an attribute value with a prohibited user in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Attribute Value - userdn equals dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_delete_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - userdn equals dn, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - userdn 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Delete Attribute Value - targetattr equals one attribute
- #@TestIssue 444
- #@TestPurpose Delete an attribute with targetattr equals one attribute
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an attribute value in an entry in the targeted branch.
- #@TestStep Client deletes a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp1 and tp2 -->
- <testcase name="getTestCaseName('Delete Attribute Value - targetattr equals one attribute')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_delete_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Delete Attribute Value - targetattr not equals one attribute
- #@TestIssue 444
- #@TestPurpose Delete an attribute with targetattr not equals one attribute
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an attribute value in an entry in the targeted branch.
- #@TestStep Client deletes a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp1 and tp2 -->
- <testcase name="getTestCaseName('Delete Attribute Value - targetattr not equals one attribute')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_delete_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete3.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Ddelete Attribute Value - targetattr not equals one attribute, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Delete Attribute Value - write not allowed
- #@TestIssue 444
- #@TestPurpose Deletes an attribute where write is not allowed
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an attribute value in an entry in the targeted branch.
- #@TestStep Client deletes a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Attribute Value - write not allowed')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_delete_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - write not allowed, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_delete4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_delete4.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_delete4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - write not allowed, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Delete Attribute Value - targetattr and targattrfilter
- #@TestIssue 444
- #@TestPurpose Delete an attribute with a combination of targetattr and targattrfilter
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an attribute value in an entry in the targeted branch.
- #@TestStep Client deletes a prohibited attribute value by targattrfilter in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in a prohibited entry that is in the targeted branch.
- #@TestStep Client deletes a prohibited attribute value by targetattr in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Attribute Value - targetattr and targattrfilter')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_delete_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targattrfilter) in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying prohibited entry (by targattrfilter) from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targetattr) in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, overall allow, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Delete Attribute Value - targetfilter with three statements with or, none true
- #@TestIssue 444
- #@TestPurpose Delete an attribute with targetfilter with three statements with or, none true
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an attribute value in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Attribute Value - targetfilter with three statements with or, none true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_delete_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete6a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter with 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Delete Attribute Value - targetfilter equals three statements with and, all statements false
- #@TestIssue 444
- #@TestPurpose Delete an attribute with targetfilter equals three statements with and, all statements false
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client deletes an attribute value in an entry in the targeted branch.
- #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Delete Attribute Value - targetfilter equals three statements with and, all statements false')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_delete_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete7a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-<!-- add attribute tests -->
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Entry Tests
- #@TestName Add Attribute Value - userdn not equals dn
- #@TestIssue 444
- #@TestPurpose Adds an attribute to an entry with targetattr=* and userdn not equals to a dn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an attribute with a prohibited user in an entry in the targeted branch.
- #@TestStep Client adds an attribute in an entry in the targeted branch.
- #@TestStep Client adds an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an attribute in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Attribute Value - userdn not equals dn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Add Attribute Value - userdn not equals dn, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - userdn not 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Add Attribute Value - targetattr equals one attribute not present
- #@TestIssue 444
- #@TestPurpose Add an attribute value to an entry with targetattr equals one attribute not present
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an attribute in an entry in the targeted branch.
- #@TestStep Client adds a prohibited attribute in an entry in the targeted branch.
- #@TestStep Client adds an attribute in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp1 and tp2 -->
- <testcase name="getTestCaseName('Add Attribute Value - targetattr equals one attribute not present')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add2.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Add Attribute Value - targetattr not equals attribute, add multi-values
- #@TestIssue 444
- #@TestPurpose Add multi-valued attribute to an entry with targetattr not equals attribute, add multi-values
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an attribute value in an entry in the targeted branch.
- #@TestStep Client adds another attribute value in an entry in the targeted branch.
- #@TestStep Client adds a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modify.ksh Test Cases tp1 and tp2 -->
- <testcase name="getTestCaseName('Add Attribute Value - targetattr not equals attribute, add multi-values')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry with second attribute value from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3.1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3.2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Add Attribute Value - write not allowed
- #@TestIssue 444
- #@TestPurpose Adds an attribute value where write is not allowed
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an attribute value in an entry in the targeted branch.
- #@TestStep Client adds a prohibited attribute value in an entry in the targeted branch.
- #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Attribute Value - write not allowed')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Add Attribute Value - write not allowed, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - write not allowed, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_add4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - write not allowed, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_add4.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - write not allowed, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_add4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - write not allowed, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - write not allowed, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Add Attribute Value - targetattr and targattrfilter
- #@TestIssue 444
- #@TestPurpose Add an attribute value with a combination of targetattr and targattrfilter
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an attribute value in an entry in the targeted branch.
- #@TestStep Client adds a prohibited attribute value by targattrfilter in an entry in the targeted branch.
- #@TestStep Client adds an attribute value in a prohibited entry that is in the targeted branch.
- #@TestStep Client adds a prohibited attribute value by targetattr in an entry in the targeted branch.
- #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Attribute Value - targetattr and targattrfilter')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targattrfilter) in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying prohibited entry (by targattrfilter) from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targetattr) in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, overall allow, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Add Attribute Value - targetfilter not equals three statements with or, none true
- #@TestIssue 444
- #@TestPurpose Add an attribute value with targetfilter not equals three statements with or, none true
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an attribute value in an entry in the targeted branch.
- #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Attribute Value - targetfilter not equals three statements with or, none true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_add6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete6a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Add Attribute Value - targetfilter equals three statements with and, all statements false
- #@TestIssue 444
- #@TestPurpose Add an attribute with targetfilter equals three statements with and, all statements false
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client adds an attribute value in an entry in the targeted branch.
- #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Add Attribute Value - targetfilter not equals three statements with and, all statements false')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilternot equals three statements with and, all statements false, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_add7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_add7a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, 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_modify_entry/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Postamble
- #@TestIssue 444
- #@TestPurpose Remove entries
- #@TestPreamble none
- #@TestStep Directory Manager removes entries that were used for testing.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify: Postamble - delete branch, o=Modify Tests'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests.xml
deleted file mode 100755
index d4856cb..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests.xml
+++ /dev/null
@@ -1,542 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2007-2008 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests"/>
-
- <function name="aci_modify_filter_tests">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Modify Filter Tests
- #@TestSuitePurpose Test the ACI Support for combinations of targetattr and targattrfilters for modify operations.
- #@TestSuiteGroup ACI Modify Filter Tests
- #@TestScript aci_modify_filter_test.xml
- -->
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 1 - targetattr equals wildcard, targattrfilters equal add and del
- #@TestIssue 444
- #@TestPurpose (targetattr= * )(targattrfilters= add=l:(l=Sunny*),del=l:(l=Sunny*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci1.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci1'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 2 - targetattr equals wildcard, targattrfilters equal add and del both with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= * )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(!(l=Sunny*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci2.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci2'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 3 - targetattr equals wildcard, targattrfilters equal add and del, both with not equal [filter] and no match
- #@TestIssue 444
- #@TestPurpose (targetattr= * )(targattrfilters= add=l:(!(l=Anythingelse*)),del=l:(!(l=Anythingelse*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci3.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci3'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 4 - targetattr equals wildcard, targattrfilters equal add and del, both with not equal [filter] and no match
- #@TestIssue 444
- #@TestPurpose (targetattr= * )(targattrfilters= add=l:(l=Anythingelse*),del=l:(l=Anythingelse*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci4.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci4'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 5 - targetattr equals wildcard, targattrfilters equal add and del, add with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= * )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(l=Sunny*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci5.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci5'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 6 - targetattr equals wildcard, targattrfilters equal add and del, del with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= * )(targattrfilters= add=l:(l=Sunny*),del=l:(!(l=Sunny*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci6.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci6'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 11 - targetattr equals l, targattrfilters equal add and del
- #@TestIssue 444
- #@TestPurpose (targetattr= l )(targattrfilters= add=l:(l=Sunny*),del=l:(l=Sunny*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci11.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci11'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 12 - targetattr equals l, targattrfilters equal add and del both with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= l )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(!(l=Sunny*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci12.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci12'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 13 - targetattr equals l, targattrfilters equal add and del, both with not equal [filter] and no match
- #@TestIssue 444
- #@TestPurpose (targetattr= l )(targattrfilters= add=l:(!(l=Anythingelse*)),del=l:(!(l=Anythingelse*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci13.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci13'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 14 - targetattr equals l, targattrfilters equal add and del, both with not equal [filter] and no match
- #@TestIssue 444
- #@TestPurpose (targetattr= l )(targattrfilters= add=l:(l=Anythingelse*),del=l:(l=Anythingelse*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci14.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci14'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 15 - targetattr equals l, targattrfilters equal add and del, add with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= l )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(l=Sunny*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci15.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci15'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 16 - targetattr equals l, targattrfilters equal add and del, del with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= l )(targattrfilters= add=l:(l=Sunny*),del=l:(!(l=Sunny*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci16.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci16'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 21 - targetattr equals carlicense, targattrfilters equal add and del
- #@TestIssue 444
- #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(l=Sunny*),del=l:(l=Sunny*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci21.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci21'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 22 - targetattr equals carlicense, targattrfilters equal add and del both with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(!(l=Sunny*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci22.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci22'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 23 - targetattr equals carlicense, targattrfilters equal add and del, both with not equal [filter] and no match
- #@TestIssue 444
- #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(!(l=Anythingelse*)),del=l:(!(l=Anythingelse*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci23.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci23'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 24 - targetattr equals carlicense, targattrfilters equal add and del, both with not equal [filter] and no match
- #@TestIssue 444
- #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(l=Anythingelse*),del=l:(l=Anythingelse*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci24.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci24'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 25 - targetattr equals carlicense, targattrfilters equal add and del, add with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(l=Sunny*) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci25.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci25'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify Filter Tests
- #@TestName ACI 26 - targetattr equals carlicense, targattrfilters equal add and del, del with not equal [filter]
- #@TestIssue 444
- #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(l=Sunny*),del=l:(!(l=Sunny*)) )
- #@TestPreamble Directory Manager adds ACI and adds entries to test
- #@TestStep For entry 0, delete entire entry
- #@TestStep For entry 1, replace attribute l with Sunnyfield
- #@TestStep For entry 2, replace attribute l with Austin
- #@TestStep For entry 3, replace attribute carlicense with new value
- #@TestStep For entry 4, add attribute l with Sunnyfield
- #@TestStep For entry 5, add attribute l with Austin
- #@TestStep For entry 6, add attribute carlicense with new value
- #@TestStep For entry 7, delete attribute l with Sunnyvale
- #@TestStep For entry 8, delete attribute l
- #@TestStep For entry 9, delete attribute carlicense
- #@TestPostamble Directory Manager removes ACI and removes entries that were tested
- #@TestResult Success if OpenDS returns 0 or 50
- where appropriate
- -->
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_modify_filter_tests_aci26.xml' % (TESTS_DIR)"/>
- <call function="'aci_modify_filter_tests_aci26'" />
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci1.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci1.xml
deleted file mode 100755
index 92bed18..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci1.xml
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci1"/>
-
- <function name="aci_modify_filter_tests_aci1">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci1'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 1 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 1 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci11.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci11.xml
deleted file mode 100755
index b3c1e27..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci11.xml
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci11"/>
-
- <function name="aci_modify_filter_tests_aci11">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci11'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 11')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 11 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 11 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci12.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci12.xml
deleted file mode 100755
index f1f414c..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci12.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci12"/>
-
- <function name="aci_modify_filter_tests_aci12">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci12'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 12')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 12 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci12.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 12 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci13.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci13.xml
deleted file mode 100755
index d1f8361..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci13.xml
+++ /dev/null
@@ -1,225 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci13"/>
-
- <function name="aci_modify_filter_tests_aci13">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci13'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 13')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 13 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci13.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 13 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci14.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci14.xml
deleted file mode 100755
index 8799c64..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci14.xml
+++ /dev/null
@@ -1,239 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci14"/>
-
- <function name="aci_modify_filter_tests_aci14">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci14'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 14')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 14 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci14.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 14 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci15.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci15.xml
deleted file mode 100755
index 313afdc..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci15.xml
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci15"/>
-
- <function name="aci_modify_filter_tests_aci15">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci15'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 15')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 15 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci15.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 15 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci16.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci16.xml
deleted file mode 100755
index cdb1911..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci16.xml
+++ /dev/null
@@ -1,237 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci16"/>
-
- <function name="aci_modify_filter_tests_aci16">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci16'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 16')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 16 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci16.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 16 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci2.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci2.xml
deleted file mode 100755
index 0b0fa6a..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci2.xml
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci2"/>
-
- <function name="aci_modify_filter_tests_aci2">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci2'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 2 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 2 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci21.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci21.xml
deleted file mode 100755
index 5ce0967..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci21.xml
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci21"/>
-
- <function name="aci_modify_filter_tests_aci21">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci21'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 21')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 21 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci21.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 21 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci22.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci22.xml
deleted file mode 100755
index 844de24..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci22.xml
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci22"/>
-
- <function name="aci_modify_filter_tests_aci22">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci22'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 22')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 22 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci22.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 22 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci23.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci23.xml
deleted file mode 100755
index 28a0456..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci23.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci23"/>
-
- <function name="aci_modify_filter_tests_aci23">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci23'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 23')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 23 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci23.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 23 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci24.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci24.xml
deleted file mode 100755
index a4c0b7a..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci24.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci24"/>
-
- <function name="aci_modify_filter_tests_aci24">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci24'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 24')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 24 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci24.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 24 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci25.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci25.xml
deleted file mode 100755
index c8849e0..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci25.xml
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci25"/>
-
- <function name="aci_modify_filter_tests_aci25">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci25'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 25')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 25 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci25.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 25 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci26.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci26.xml
deleted file mode 100755
index 6345055..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci26.xml
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci26"/>
-
- <function name="aci_modify_filter_tests_aci26">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci26'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 26')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 26 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci26.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 26 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci3.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci3.xml
deleted file mode 100755
index 9e395c2..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci3.xml
+++ /dev/null
@@ -1,219 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci3"/>
-
- <function name="aci_modify_filter_tests_aci3">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci3'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 3')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 3 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 3 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci4.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci4.xml
deleted file mode 100755
index 0e45fa5..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci4.xml
+++ /dev/null
@@ -1,233 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci4"/>
-
- <function name="aci_modify_filter_tests_aci4">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci4'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 4')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 4 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 4 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci5.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci5.xml
deleted file mode 100755
index b2aed35..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci5.xml
+++ /dev/null
@@ -1,223 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci5"/>
-
- <function name="aci_modify_filter_tests_aci5">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci5'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 5')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 5 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 5 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci6.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci6.xml
deleted file mode 100755
index 3ec46a1..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_filter_tests_aci6.xml
+++ /dev/null
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_filter_tests_aci6"/>
-
- <function name="aci_modify_filter_tests_aci6">
-
- <sequence>
-
- <block name="'aci-modify-filter-tests-aci6'">
-
- <sequence>
-
- <testcase name="getTestCaseName('ACI 6')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify Filter: ACI 6 - Preamble, Adding Entries For Modify Filter Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 0'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 1'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 5'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 6'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 7'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 8'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - Mod 9'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify Filter: ACI 6 - postamble, removing aci and entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_rdn.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_rdn.xml
deleted file mode 100755
index f8e6bbd..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_modify_rdn.xml
+++ /dev/null
@@ -1,1987 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_modify_rdn"/>
-
- <function name="aci_modify_rdn">
-
- <sequence>
-
- <block name="'aci-modify-rdn'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Modify RDN Tests
- #@TestSuitePurpose Test the ACI Support for modrdn
- #@TestSuiteGroup ACI Modify RDN Tests
- #@TestScript aci_modify_rdn.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Modify RDN Tests
- #@TestName Preamble
- #@TestIssue 445
- #@TestPurpose Add additional entries
- #@TestPreamble none
- #@TestStep Directory Manager adds additional entries.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
-
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify RDN: Preamble - Adding Entries For Modify RDN Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_modify_rdn/aci_startup_modrdn_tests.ldif' % remote.data }
- </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 Modify RDN Tests
- #@TestName Leaf - targetattr=* and userdn=all
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of a leaf with targetattr=* and userdn=all
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Leaf - targetattr=* and userdn=all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=newtmorris, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=newtmorris,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=tmorris, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Branch - targetattr=* and userdn=all
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of a branch with targetattr=* and userdn=all
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Admin restores the branch to the old rdn.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 2 and 4, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Branch - targetattr=* and userdn=all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=New People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=New People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user restoring branch in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Leaf - targetattr equals three attributes with uid
- #@TestIssue 445
- #@TestPurpose Modify an rdn where targetattr equals three attributes with uid
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Leaf - targetattr equals three attributes with uid')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=newdmiller, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=newdmiller,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=dmiller, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Leaf - targetattr equals three attributes without uid
- #@TestIssue 445
- #@TestPurpose Modify an rdn where targetattr equals three attributes without uid
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an rdn of an entry in the targeted branch.
- #@TestStep Client modifies an rdn of an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Leaf - targetattr equals three attributes without uid')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Branch - targetattr with three attributes equals ou
- #@TestIssue 445
- #@TestPurpose Modify an attribute where targetattr equals equals ou
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Admin restores the branch to the old rdn.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Branch - targetattr with three attributes equals ou')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=New People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=New People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user restoring branch in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Branch - targetattr with three attributes not equals ou
- #@TestIssue 445
- #@TestPurpose Modify an attribute where targetattr with three attributes not equals ou
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an attribute value in an entry in the targeted branch.
- #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Branch - targetattr with three attributes not equals ou')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry6a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Leaf - Multi ACIs, allow and deny
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of a leaf with some entries allowed and some entries denied
- #@TestPreamble Admin adds multiple acis.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is in the targeted branch but prohibited.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Leaf - Multi ACIs, allow and deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry7.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=newtrigden, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=newtrigden,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=trigden, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying prohibited entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry7.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry7a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Branch - Multi ACIs, deny write on new branch
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of a branch where new branch has a deny write
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Client restores the branch to the old rdn.
- #@TestStep Admin replaces the aci.
- #@TestStep Client restores the branch to the old rdn.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 2 and 7, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Branch - Multi ACIs, deny write on new branch')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch two, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=People,ou=branch two,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry8a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user restoring branch in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, preamble replacing 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_modify_rdn/replace_modrdn_aci8.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user restoring branch in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify Entry Tests
- #@TestName Leaf - targetattr with three attributes not equals uid, delete old rdn
- #@TestIssue 445
- #@TestPurpose Modify an rdn where targetattr with three attributes not equals uid, delete old rdn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies an rdn of an entry in the targeted branch.
- #@TestStep Client modifies an rdn of an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies an rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Leaf - targetattr with three attributes not equals uid, delete old rdn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry9.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry9a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Leaf - targetattr with three attributes not equals uid, don't delete old rdn
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of an entry with targetattr with three attributes not equals uid, don't delete old rdn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1 and 2, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
-
- <testcase name="getTestCaseName('Leaf - targetattr with three attributes not equals uid, dont delete old rdn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry10.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'sn=wallace, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: sn=wallace,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=jwallace, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry10a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of an entry with leaf with targetattr with three attributes not equals sn and cn, dont delete old rdn
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
-
- <testcase name="getTestCaseName('Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry11.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry11a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Branch - Multi ACIs, targattrfilters add:ou, del:ou
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of a branch where targattrfilters add:ou, del:ou
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Admin restores the branch to the old rdn.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 2 and 4, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Branch - Multi ACIs, targattrfilters add:ou, del:ou')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci21.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry21.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch two, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=People,ou=branch two,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry21a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user restoring branch in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Branch - Multi ACIs, targattrfilters add:ou, del:ou 2
- #@TestIssue 445
- #@TestPurpose Modifies an rdn of a branch where targattrfilters add:ou, del:ou
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client modifies the rdn of an entry in the targeted branch.
- #@TestStep Admin searches for the entry with the new rdn.
- #@TestStep Admin searches for the entry with the old rdn.
- #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
- #@TestStep Client restores the branch to the old rdn.
- #@TestStep Admin replaces the aci.
- #@TestStep Client restores the branch to the old rdn.
- #@TestStep Remove aci.
- #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for ACI add and delete operations,
- 0 for steps 1, 2 and 7, and
- 50 or 32 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to modrdn.ksh -->
- <testcase name="getTestCaseName('Branch - Multi ACIs, targattrfilters add:ou, del:ou 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_modrdn_aci22.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry22.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user searching targeted entry, new rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch two, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=kvaughan,ou=People,ou=branch two,ou=aci branch,o=Modify RDN Tests' }
- </call>
-
- <if expr="returnCode != '1'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user searching targeted entry, old rdn'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn',
- 'expectedRC' : 32
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry22a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user restoring branch in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, preamble replacing 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_modify_rdn/replace_modrdn_aci22.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user restoring branch in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 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_modify_rdn/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Modify RDN Tests
- #@TestName Postamble
- #@TestIssue 445
- #@TestPurpose Remove entries
- #@TestPreamble none
- #@TestStep Directory Manager removes entries that were used for testing.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Modify RDN: Postamble - delete branch, o=Modify RDN Tests'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify RDN Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_proxy_auth.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_proxy_auth.xml
deleted file mode 100755
index 2c9b692..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_proxy_auth.xml
+++ /dev/null
@@ -1,2421 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying * information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_proxy_auth"/>
-
- <function name="aci_proxy_auth">
-
- <sequence>
-
- <block name="'aci-proxy-auth'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Proxy Authorization Tests
- #@TestSuitePurpose Test the basic ACI Proxy Authorization Support.
- #@TestSuiteGroup Basic ACI Proxy Authorization Tests
- #@TestScript aci_proxy_auth.xml
- -->
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Proxy Authorization Tests
- #@TestName Preamble
- #@TestIssue 1489
- #@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="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Proxy Auth: Preamble - Removing Search Global ACI'
- </message>
-
- <!-- Remove the global ACI -->
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <!-- Allow the proxy auth control for all ldap users read only -->
- <script>
- allow_aci='(targetcontrol=\"2.16.840.1.113730.3.4.18\") (version 3.0; acl \"allow proxy auth control access\"; allow(read) userdn=\"ldap:///anyone\";)'
- </script>
-
- <!-- Add the ACI under suffix -->
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'add' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Preamble - existing branch, user searching entry that will be targeted in future tests'
- </message>
-
- <!-- Search a users entry as another user. This should return no results -->
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <!-- TODO: Also perform a modify operation - should return insufficient access -->
-
- <message>
- 'ACI: Proxy Auth: Preamble - existing branch, user searching entry that will be non-targeted in future tests'
- </message>
-
- <!-- Search a users entry as another user. This should return no results -->
- <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>
-
- <!-- TODO: Also perform a modify operation - should return insufficient access -->
-
- <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 Proxy Authorization Tests
- #@TestName Proxy rights with one proxied user
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with one user, one proxied user
- #@TestPreamble none
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
- #@TestStep Remove all acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- No entries are returned for any steps.
- -->
- <testcase name="getTestCaseName('one proxied user')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Proxy Auth: one proxied user, user searching targeted entry'
- </message>
-
- <!-- Search a users entry as another user (uid=auser). This should return no results -->
- <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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one proxied user, second user searching targeted entry'
- </message>
-
- <!-- Search a users entry as another user (uid=buser). This should return no results -->
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one proxied user, proxied user searching targeted entry'
- </message>
-
- <!-- Search a users entry as uid=aproxy. This should return no results -->
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <!-- Add the proxi aci for user uid=aproxy under ou=aci branch -->
- <script>
- curr_aci_ldif_file = 'add_proxy_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one proxied user, proxy user searching targeted entry'
- </message>
-
- <!-- Search users entry with proxy dn without allowed aci access. This should return no results -->
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <!-- TODO: Also perform a modify operation - should return insufficient access -->
-
- <message>
- 'ACI: Proxy Auth: one proxied user, admin deleting both acis'
- </message>
-
- <!-- Delete the proxy aci for user uid=aproxy -->
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one proxied user, user searching targeted entry'
- </message>
-
- <!-- Search a users entry as another user. This should return no results -->
- <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' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with one user, one proxied user
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with one user, one proxied user
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry in targeted branch as proxied user through second user.
- #@TestStep Remove all acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 5
- and only with the specified attribute.
- -->
- <testcase name="getTestCaseName('one user, one proxied user')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <!-- Allow user uid=auser access to all entries under ou=aci branch -->
- <script>
- curr_aci_ldif_file = 'add_user_aci_all.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, user searching targeted entry'
- </message>
-
- <!-- Search a users entry under suffix as uid=auser. This should return a result -->
- <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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, user searching targeted entry'
- </message>
-
- <!-- Search a users entry as another user. This should return no results -->
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, proxied user searching targeted entry'
- </message>
-
- <!-- Search a users entry just as proxy user. This should return no results -->
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <!-- Add the proxi aci for user uid=aproxy under ou=aci branch -->
- <script>
- curr_aci_ldif_file = 'add_proxy_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, proxied user searching targeted entry'
- </message>
-
- <!-- Search users entry with proxy dn with allowed aci access. This should return results -->
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <!-- TODO: Also perform a modify operation - should return success -->
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, proxied second user searching targeted entry'
- </message>
-
- <!-- Search users entry with proxy dn without allowed aci access. This should return no results -->
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, admin deleting both acis'
- </message>
-
- <!-- Remove aci attribute for uid=auser -->
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one proxied user, user searching targeted entry'
- </message>
-
- <!-- Search a users entry as a uid=auser. This should return no results -->
- <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' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with one user for adds, one proxied user
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with one user for adds, one proxied user
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry in targeted branch as proxied user through second user.
- #@TestStep Remove all acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- No entries returned for any step.
- -->
- <testcase name="getTestCaseName('one user for adds, one proxied user')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_user_aci_add.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_proxy_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, proxied second user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for adds, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with one user for searches, one proxied user
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with one user for searches, one proxied user
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry in targeted branch as proxied user through second user.
- #@TestStep Remove all acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 5
- and only with the specified attribute.
- -->
- <testcase name="getTestCaseName('one user for searches, one proxied user')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_user_aci_search.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_proxy_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, proxied second user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with one user for searches reads separate level, one proxied user
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with one user for searches reads separate level, one proxied user
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry in targeted branch as proxied user through second user.
- #@TestStep Remove all acis.
- #@TestStep Remove another level of acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 5
- and only with the specified attribute.
- -->
- <testcase name="getTestCaseName('one user for searches reads separate level, one proxied user')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_user_aci_search_sep.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_proxy_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, proxied second user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with many users with wildcard, one proxied user
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with many users with wildcard, one proxied user
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry in targeted branch as proxied user through second user.
- #@TestStep Remove all acis.
- #@TestStep Remove another level of acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1, 2, 5 and 6
- and only with the specified attribute.
- -->
- <testcase name="getTestCaseName('many users with wildcard, one proxied user')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_user_aci_all_wildcard.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_proxy_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, proxied second user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: many users with wildcard, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with one user, many proxied users with wildcard
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with one user, many proxied users with wildcard
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry in targeted branch as proxied user through second user.
- #@TestStep Remove all acis.
- #@TestStep Remove another level of acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1, 2, 5 and 6
- and only with the specified attribute.
- -->
- <testcase name="getTestCaseName('many users one user, many proxied users with wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_user_aci_all.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with wildcard, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with wildcard, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with wildcard, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_proxy_aci_wildcard.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with wildcard, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with wildcard, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with wildcard, proxied second user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with wildcard, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, many proxied users with 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with one user, one bad proxied user
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with one user, one bad proxied user
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as proxied user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Admin adds an aci giving proxied user permission to access as user.
- #@TestStep Client searches entry in targeted branch as proxied user through user.
- #@TestStep Client searches entry in targeted branch as proxied user through second user.
- #@TestStep Remove all acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, except step 4 where 123 is expected.
- Entry is returned only for step 1
- and only with the specified attribute.
- -->
- <testcase name="getTestCaseName('one user, one bad proxied user')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_user_aci_all.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber' ,
- 'expectedRC' : 123 }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'SEARCH operation failed' ,
- 'expectedResult' : '1' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_proxy_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber' ,
- 'expectedRC' : 123 }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'SEARCH operation failed' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, proxied second user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ProxyRules' ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber' ,
- 'expectedRC' : 123 }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'SEARCH operation failed' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: one user, one bad proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Proxy rights with Directory Manager as proxy
- #@TestIssue 1489
- #@TestPurpose Test ACI with proxy rights with Directory Manager as proxy
- #@TestPreamble Admin adds an aci giving user search and read access to one branch.
- #@TestStep Client searches entry in targeted branch as user.
- #@TestStep Client searches entry in targeted branch as second user.
- #@TestStep Client searches entry in targeted branch as cn=Directory Manager proxied user.
- #@TestStep Admin adds ds-privilege-name to cn=Directory Manager
- #@TestStep Client searches entry in targeted branch as cn=Directory Manager proxied user.
- #@TestStep Client searches entry in targeted branch as cn=Directory Manager proxied user through second user.
- #@TestStep Admin deletes ds-privilege-name from cn=Directory Manager
- #@TestStep Remove all acis.
- #@TestStep Client searches entry in the previously targeted branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations except step 3 where 123 is expected.
- Entry is returned only for steps 1 and 5
- and only with the specified attribute.
- -->
- <!--
- <testcase name="getTestCaseName('Directory Manager as proxy')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_user_aci_all.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'cn=Directory Manager,cn=Root DNs,cn=config' ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'SEARCH operation failed' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, adding proxied-auth'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/add_proxy_auth_dm.ldif' % (remote.data) }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_proxy_aci_dm.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, proxied user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'cn=Directory Manager,cn=Root DNs,cn=config' ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, proxied second user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'cn=Directory Manager,cn=Root DNs,cn=config' ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, deleting proxied-auth'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_proxy_auth_dm.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, admin deleting both acis'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Directory Manager as proxy, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- '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 Proxy Authorization Tests
- #@TestName Postamble
- #@TestIssue 1489
- #@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="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Proxy Auth: 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: 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="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <script>
- allow_aci='(targetcontrol=\"2.16.840.1.113730.3.4.18\") (version 3.0; acl \"allow proxy auth control access\"; allow(read) userdn=\"ldap:///anyone\";)'
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Proxy Auth: Postamble - Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_rdn_wildcards.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_rdn_wildcards.xml
deleted file mode 100755
index 4a8836d..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_rdn_wildcards.xml
+++ /dev/null
@@ -1,1909 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_rdn_wildcards"/>
-
- <function name="aci_rdn_wildcards">
-
- <sequence>
-
- <block name="'aci-rdn-wildcards'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI RDN Wildcard Tests
- #@TestSuitePurpose Test the basic ACI Target Support. (targetattr="*" and allow(read))
- #@TestSuiteGroup Basic ACI Target Tests
- #@TestScript aci_target.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI RDN Wildcard Tests
- #@TestName Preamble
- #@TestIssue 445
- #@TestPurpose Add additional entries
- #@TestPreamble none
- #@TestStep Directory Manager adds additional entries.
- #@TestStep Client search for level one entry
- #@TestStep Client search for level two entry
- #@TestStep Client search for level three entry
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
- Entries are returned for steps 2, 3, and 4.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: RDN Wildcards: Preamble - Adding Entries For RDN Wildcard Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_rdn_wildcards/aci_startup_rdn_wildcard_tests.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: Preamble - user searching targeted entry, level one'
- </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=amiller, ou=branch level one, ou=aci branch,o=RDN Wildcard Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: Preamble - user searching targeted entry, level two'
- </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=bmiller, ou=branch level two, ou=branch level one, ou=aci branch,o=RDN Wildcard Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: Preamble - user searching targeted entry, level three'
- </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=branch level three, ou=branch level two, ou=branch level one, ou=aci branch,o=RDN Wildcard Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-type wildcard for single entry
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-type wildcard, single entry')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, single entry, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, single 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-type wildcard for several entries
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, several entries, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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,
- level two and level three entries
- are returned in step 2, and the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-type wildcard, several entries')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, 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' : 'ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=*miller' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, 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=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-type wildcard for several entries, shorthand
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name with shorthand, several entries, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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,
- level two and level three entries
- are returned in step 2, and the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-type wildcard, several entries, shorthand')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, 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' : 'ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=*miller' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, 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=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-rdn wildcard for single entry
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-rdn wildcard for single entry, two level allow
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entrries
- are returned in the step 1 and the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry, two level allow')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test multiple-whole-rdn wildcard for single entry, two level deny
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard, single entry, two level deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-rdn wildcard for single entry, two level deny
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry, two level deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test multiple-whole-rdn wildcard for single entry, three level deny
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard, single entry, three level deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-rdn wildcard for single entry, three level deny
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry, three level deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test whole-type and multiple-whole-rdn wildcard for several entries, shorthand
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name with shorthand, several entries, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, 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' : 'ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=*miller' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, 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=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test several multiple-whole-rdn wildcards for single entry, three level deny
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with several multiple-whole-rdn wildcards, three level deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test several multiple-whole-rdn wildcards with bad branch
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with several multiple-whole-rdn wildcards with bad branch')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci12.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad branch, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test multiple-whole-rdn wildcard syntax, multiple spaces
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry 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 the appropriate entry
- is returned in the last step.
- -->
- <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard syntax, multiple spaces')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci21.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple spaces, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 RDN Wildcard Tests
- #@TestName Test multiple-whole-rdn wildcard syntax, extra internal space
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with multiple-whole-rdn wildcard syntax, extra internal space
- #@TestPreamble none
- #@TestStep Admin adds an aci to the dn of one existing branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard syntax, extra internal space')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci22.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, extra internal space, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 RDN Wildcard Tests
- #@TestName Test multiple-whole-rdn wildcard syntax, extra wildcard
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wmultiple-whole-rdn wildcard syntax, extra wildcard
- #@TestPreamble none
- #@TestStep Admin adds an aci to the dn of one existing branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard syntax, extra wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci23.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, extra wildcard, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 RDN Wildcard Tests
- #@TestName Test usrdn syntax, single wildcard for branch
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with single wildcard in branch name, deny
- #@TestPreamble none
- #@TestStep Admin adds an aci to the dn of one existing branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('DN with usrdn syntax, single wildcard for branch')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci24.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with usrdn syntax, single wildcard for branch, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 RDN Wildcard Tests
- #@TestName Test usrdn syntax, double wildcard notation for branch
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with double wildcard notation, deny
- #@TestPreamble none
- #@TestStep Admin adds an aci to the dn of one existing branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('DN with usrdn syntax, double wildcard notation for branch')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci25.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with usrdn syntax, double wildcard notation for branch, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 RDN Wildcard Tests
- #@TestName Test usrdn syntax, wildcard notation for uid
- #@TestIssue 1379
- #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Client searches entry with the targeted branch dn with prohibited user.
- #@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 the appropriate entry
- is returned in step 2 and the last step.
- -->
- <testcase name="getTestCaseName('DN with usrdn syntax, wildcard notation for uid')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci26.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, user searching targeted entry'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'dsBaseDN' : 'uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, 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_rdn_wildcards/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard 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 Modify RDN Tests
- #@TestName Postamble
- #@TestIssue 1379
- #@TestPurpose Remove entries
- #@TestPreamble none
- #@TestStep Directory Manager removes entries that were used for testing.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: RDN Wildcards: Postamble - delete branch, o=Modify RDN Tests'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_setup.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_setup.xml
deleted file mode 100755
index 1a8cdd0..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_setup.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2009 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_setup"/>
-
- <function name="aci_setup" scope="local">
-
- <sequence>
-
- <block name="'setup'">
-
- <testcase name="getTestCaseName('ACI Setup')">
-
- <try>
-
- <sequence>
-
- <call function="'testCase_Preamble'"/>
-
- <!-- Create the topology necessary to the test group/suite -->
- <call function="'runFunction'">
- { 'functionName' : 'createTopology' ,
- 'functionMessage' : 'Create DS topology' ,
- 'functionException' : 'Server.CreateTopologyException' ,
- 'functionArguments' : { 'initialiseInstance' : True }
- }
- </call>
-
- <!-- Start the OpenDS Server -->
- <call function="'runFunction'">
- { 'functionName' : 'StartDsWithScript' ,
- 'functionMessage' : 'Start the Directory Server.' ,
- 'functionException' : 'Server.StartException' ,
- 'functionArguments' : { 'location' : STAF_REMOTE_HOSTNAME }
- }
- </call>
-
- <!--- Check that DS started -->
- <call function="'runFunction'">
- { 'functionName' : 'isAlive' ,
- 'functionMessage' : 'Start the Directory Server.' ,
- 'functionException' : 'Server.StartException' ,
- 'functionArguments' : { 'noOfLoops' : 100 ,
- 'noOfMilliSeconds' : 3000 }
- }
- </call>
-
- <!-- Load the data needed by the test suite -->
- <call function="'runFunction'">
- { 'functionName' : 'ldapModifyWithScript' ,
- 'functionMessage' : 'Adding Initial Entries' ,
- 'functionException' : 'LDAP.ModifyException' ,
- 'functionArguments' : { 'dsAdd' : 'TRUE' ,
- 'dsInstanceHost' : server.host ,
- 'dsInstancePort' : server.port ,
- 'dsInstanceDn' : server.dn ,
- 'dsInstancePswd' : server.password ,
- 'dsFilename' : '%s/aci/aci_startup.ldif' % remote.data }
- }
- </call>
-
- </sequence>
-
- <catch exception="'STAXException.Server.CreateTopologyException'" typevar="eType" var="eInfo">
- <sequence>
- <message log="1" level="'fatal'">
- '%s: Create topology failed. eInfo(%s)' % (eType,eInfo)
- </message>
- <throw exception="'STAFException.TestSuite.SetupException'" />
- </sequence>
- </catch>
-
- <catch exception="'STAXException.Server.StartException'" typevar="eType" var="eInfo">
- <sequence>
- <message log="1" level="'fatal'">
- '%s: Failed to start Directory Server. eInfo(%s)' % (eType,eInfo)
- </message>
- <throw exception="'STAFException.TestSuite.SetupException'" />
- </sequence>
- </catch>
-
- <catch exception="'STAXException.LDAP.ModifyException'" typevar="eType" var="eInfo">
- <sequence>
- <message log="1" level="'fatal'">
- '%s: LDAPModify failed. eInfo(%s)' % (eType,eInfo)
- </message>
- <throw exception="'STAFException.TestSuite.SetupException'" />
- </sequence>
- </catch>
-
- <finally>
- <!-- Test Group postamble -->
- <call function="'testCase_Postamble'"/>
- </finally>
-
- </try>
-
- </testcase>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targattrfilter.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targattrfilter.xml
deleted file mode 100644
index 936a0d1..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targattrfilter.xml
+++ /dev/null
@@ -1,1562 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_targattrfilter"/>
-
- <function name="aci_targattrfilter">
-
- <sequence>
-
- <block name="'aci-targattrfilter'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Targattrfilter Tests
- #@TestSuitePurpose Test the basic ACI Targattrfilter Support. (allow(read))
- #@TestSuiteGroup Basic ACI Targattrfilter Tests
- #@TestScript aci_targattrfilter.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targattrfilter Tests
- #@TestName Preamble
- #@TestIssue 437
- #@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="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targattrfilter: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <message>
- 'ACI: Targattrfilter: 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=gfarmer,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=gfarmer,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targattrfilter: 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=gfarmer,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=gfarmer,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 Targattrfilter Tests
- #@TestName Targattrfilter equals add:title
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to add:title
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client adds title to an entry with the targeted branch dn.
- #@TestStep Client adds prohibited title to an entry with the targeted branch dn.
- #@TestStep Client deletes telephonenumber from an entry with the targeted branch dn.
- #@TestStep Client adds title to an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client adds carlicense to an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1 and 3, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to valueacl.ksh Test Cases 2 and 3 -->
- <!-- Special note: when "del" is missing from targattrfilter, it should evaluate as true. -->
- <testcase name="getTestCaseName('Targattrfilter equals add:title')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding title to targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding prohibited title to targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title1a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:telephonenumber, user deleting roomnumber from targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_telephonenumber1.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding title to non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title1b.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title, 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding carlicense to previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_carlicense1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter equals del:title
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to del:title
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client adds telephonenumber to an entry with the targeted branch dn.
- #@TestStep Client deletes title from an entry with the targeted branch dn.
- #@TestStep Client deletes roomnumber from an entry with the targeted branch dn.
- #@TestStep Client deletes roomnumber from an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client deletes fax number from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1 and 3, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to valueacl.ksh Test Cases 4 and 5 -->
- <!-- Special note: when "add" is missing from targattrfilter, it should evaluate as true. -->
- <testcase name="getTestCaseName('Targattrfilter equals del:roomnumber')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user adding telephonenumber to targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_telephonenumber2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting title from targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_title2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting roomnumber from targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_roomnumber2.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting roomnumber from non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_roomnumber2a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting fax number from previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_faxnumber2.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter equals add:l,del:l
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to add:l,del:l
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to valueacl.ksh Test Cases 6 and 8 -->
- <testcase name="getTestCaseName('Targattrfilter equals add:l,del:l')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l3.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing mail in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l3a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l3.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter equals add:st,del:st - st not present
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to add:st,del:st - st not present
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces st in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces st in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces st from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for step 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to valueacl.ksh Test Cases 7 -->
- <testcase name="getTestCaseName('Targattrfilter equals add:st,del:st')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing st in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_st4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing mail in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail4.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing st in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_st4a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing st in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_st4.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter equals add:l,del:l
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to add:l,del:l
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to valueacl.ksh Test Cases 6 and 8 -->
- <testcase name="getTestCaseName('Targattrfilter equals add:l,del:l wildcard only')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing mail in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail5.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l5a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l5.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter equals add:street,del:street, street not present
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to add:street,del:street
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces st in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces st in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces st from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter equals add:street,del:street wildcard only, street not present')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci17.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing street in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_street17.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing mail in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail17.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing street in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_street17a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing street in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_street17.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter equals add:title,del:title - wildcards
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to add:title,del:title with wildcards
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces st in an entry with the targeted branch dn.
- #@TestStep Client replaces st in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces st from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <!-- cross reference to valueacl.ksh Test Cases 7 -->
- <testcase name="getTestCaseName('Targattrfilter equals add:title,del:title with wildcards')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, user replacing title in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_title6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, user replacing title in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_title6a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, user replacing title in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_title6.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with misppelled add
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with mispelled add
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with mispelled add')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with mispelled add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with misppelled del
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with mispelled del
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with mispelled del')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with mispelled del, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with misppelled del with add
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with mispelled del
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with mispelled del with add')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with mispelled del with add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with missing comma
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with missing comma
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with missing comma')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with missing comma, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with extra quotes
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with extra quotes
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with extra quotes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with extra quotes, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with extra commas
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with extra commas
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with extra commas')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci12.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with extra commas, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with missing argument for add
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with missing argument for add
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with missing argument for add')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci13.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with missing argument for add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with missing argument for del
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with missing argument for del
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with missing argument for del')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci14.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with missing argument for del, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with missing argument for del with add
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with missing argument for del with add
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with missing argument for del with add')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci15.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with missing argument for del with add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter equals del:l,add:l
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter set equal to del:l,add:l
- #@TestPreamble none
- #@TestStep Admin adds the aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter equals del:l,add:l')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci16.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter equals del:l,add:l, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Targattrfilter Tests
- #@TestName Targattrfilter with very long comment portion
- #@TestIssue 437
- #@TestPurpose Test with the targattrfilter with very long comment portion
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client adds title to an entry with the targeted branch dn.
- #@TestStep Client adds prohibited title to an entry with the targeted branch dn.
- #@TestStep Client deletes telephonenumber from an entry with the targeted branch dn.
- #@TestStep Client adds title to an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client adds carlicense to an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1 and 3, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targattrfilter with very long comment portion')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci18.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with very long comment portion, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with very long comment portion, user adding title to targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title18.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with very long comment portion, 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_targattrfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Targattrfilter with very long comment portion, user adding carlicense to previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_carlicense18.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Targattrfilter Tests
- #@TestName Postamble
- #@TestIssue 437
- #@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="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targattrfilter: Postamble - 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=gfarmer,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=gfarmer,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Postamble - 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=gfarmer,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=gfarmer,ou=People,ou=non-aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targattrfilter: Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_target.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_target.xml
deleted file mode 100755
index 6429757..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_target.xml
+++ /dev/null
@@ -1,3659 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! Portions Copyright 2011 ForgeRock AS.
- ! -->
-<stax>
-
- <defaultcall function="aci_target"/>
-
- <function name="aci_target" scope="local">
-
- <sequence>
-
- <block name="'aci-target'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- 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
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- 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="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Target: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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="getTestCaseName('Target Equals DN')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Target Equals DN - new branch')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_entries1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN - new branch, preamble adding entries,\n %s' % curr_aci
- </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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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="'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="getTestCaseName('Target Equals DN With Trailing Wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with trailing wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Target Equals DN With Leading Wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with leading wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Target Equals DN With Internal Wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with internal wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Target Equals DN With Multiple Wildcards')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with multiple wildcards, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Target Equals DN With Keyword self')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN With Keyword self - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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="getTestCaseName('Target Equals DN Above Entry')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN Above Entry - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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 below 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="getTestCaseName('Target Equals DN Below Entry')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9a.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN Below Entry - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Multiple Targets')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Multiple Targets - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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="getTestCaseName('Keyword Target Misspelled')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Keyword Target Misspelled - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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 with missing leading ldap:
- #@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="getTestCaseName('Missing Leading ldap:')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci12.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Missing leading ldap: - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <message>
- 'ACI: Target: Missing leading ldap: - 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 ldap:all
- #@TestIssue 434
- #@TestPurpose Test if an aci is allowed that contains the keyword target with all
- #@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.
- -->
- <testcase name="getTestCaseName('With ldap:all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci13.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: With ldap:all - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <message>
- 'ACI: Target: With ldap:all - 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 ACI with mispelled version
- #@TestIssue 1750
- #@TestPurpose Test if an aci is allowed that contains version mispelled
- #@TestPreamble none
- #@TestStep Admin adds an aci to an existing entry
- that has the keyword version misspelled
- #@TestStep Admin checks if aci was added.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21,
- and the aci has not been added.
- -->
- <testcase name="getTestCaseName('Keyword version mispelled')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci="(targetattr=\"*\")(verison 3.0; acl \"add_aci14\"; allow (search,read) userdn=\"ldap:///all\";)"
- </script>
-
- <message>
- 'ACI: Target: Keyword version mispelled - add aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'add' ,
- 'expectedRC' : 21}
- </call>
-
- <message>
- 'ACI: Target: Keyword version 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' : '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 Enable and disable ACIs
- #@TestIssue 432
- #@TestPurpose Enable and disable access control functionality
- #@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 Admin adds a deny ACI.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Admin disables access control functionality.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Admin enables access control functionality.
- #@TestStep Remove aci.
- #@TestStep Remove deny 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 steps 1 and 5.
- -->
- <testcase name="getTestCaseName('Enable and disable ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci="(targetattr=\"*\")(version 3.0; acl \"add_aci15\"; allow (search,read) userdn=\"ldap:///all\";)"
- </script>
-
- <message>
- 'ACI: Target: Target enable and disable ACIs, preamble adding aci'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'add' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable ACIs, 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid: scarter' ,
- 'expectedResult' : '1' }
- </call>
-
- <script>
- curr_aci2="(targetattr=\"*\")(version 3.0; acl \"add_aci15\"; deny (search,read) userdn=\"ldap:///all\";)"
- </script>
-
- <message>
- 'ACI: Target: Target enable and disable ACIs, adding deny aci'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci2 ,
- 'changetype' : 'add' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable ACIs, 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target enable and disable ACIs, disable ACIs'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
- 'attributeName' : 'ds-cfg-enabled' ,
- 'newAttributeValue' : 'false' ,
- 'changetype' : 'replace' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable ACIs, 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid: scarter' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target enable and disable ACIs, enable ACIs'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
- 'attributeName' : 'ds-cfg-enabled' ,
- 'newAttributeValue' : 'true' ,
- 'changetype' : 'replace' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable ACIs, 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable ACIs, admin deleting aci'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable ACIs, admin deleting deny aci'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : curr_aci2 ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable ACIs, 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 Enable and disable global ACIs
- #@TestIssue 432
- #@TestPurpose Enable and disable access control functionality
- #@TestPreamble none
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Admin disables access control functionality.
- #@TestStep Client searches entry with the targeted branch dn.
- #@TestStep Admin enables access control functionality.
- #@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 3.
- -->
- <testcase name="getTestCaseName('Enable and disable global ACIs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Target: enable and disable global ACIs, 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target enable and disable global ACIs, disable ACIs'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
- 'attributeName' : 'ds-cfg-enabled' ,
- 'newAttributeValue' : 'false' ,
- 'changetype' : 'replace' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable global ACIs, 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid: scarter' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target enable and disable global ACIs, enable ACIs'
- </message>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
- 'attributeName' : 'ds-cfg-enabled' ,
- 'newAttributeValue' : 'true' ,
- 'changetype' : 'replace' }
- </call>
-
- <message>
- 'ACI: Target: enable and disable global ACIs, 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 userdn equal all
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn equal all
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with anonymous user.
- #@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="getTestCaseName('Target Equals DN with userdn equals all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci21.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals all, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals all, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals all, user searching targeted entry as anonymous user'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals all, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals all, 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 userdn equal anyone
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn equal anyone
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with anonoymous user
- #@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 steps 1 and 2.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Target Equals DN with userdn equals anyone')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci22.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals anyone, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals anyone, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals anyone, user searching targeted entry as anonymous user'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals anyone, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equals anyone, 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 userdn not equal all
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn not equal all
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with anonymous user.
- #@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 2.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Target Equals DN with userdn not equals all')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci23.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn not equals all, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn not equals all, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn not equals all, user searching targeted entry as anonymous user'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn not equals all, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn not equals all, 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 userdn equal self
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn equal self
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with self user.
- #@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 2.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Target Equals DN with userdn equal self')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci24.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self, user searching targeted entry as self'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'sprain' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self, 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 userdn equal self with wildcard
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with self user.
- #@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 2.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Target Equals DN with userdn equal self with wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci25.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard, user searching targeted entry as self'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'sprain' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with 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 userdn equal self with wildcard and filter
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard and filter
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with another authenticated user.
- #@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 steps 1 and 2.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Target Equals DN with userdn equal self with wildcard and filter')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci26.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, user searching targeted entry as self'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, 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 userdn equal self with wildcard and filter, deny
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard and filter, deny
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with another authenticated user.
- #@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 no entries are returned for any step.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Target Equals DN with userdn equal self with wildcard and filter, deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci27.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, user searching targeted entry as self'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, 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>
-
- <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 userdn equal self with wildcard and filter, allow and deny
- #@TestIssue 453
- #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard and filter, allow and deny
- #@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 with authenticated user.
- #@TestStep Client searches entry with the targeted branch dn with another authenticated user.
- #@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="getTestCaseName('Target Equals DN with userdn equal self with wildcard and filter, allow and deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci28.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, user searching targeted entry as authenticated user'
- </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' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, user searching targeted entry as self'
- </message>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=buser,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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, 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 userdn equals self - modify operational attributes
- #@TestIssue 1479
- #@TestPurpose Test userdn equals self - modify operational attributes
- #@TestPreamble Admin adds an aci.
- #@TestStep Client modifies attribute in an entry.
- #@TestStep Client modifies one operational attribute in an entry.
- #@TestStep Client modifies another operational attribute in an entry.
- #@TestStep Client modifies entry to reset the original attrobute value.
- #@TestStep Remove aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for steps 1 and 4, and 53 for steps 2 and 3.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('userdn equals self - modify operational attributes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci31.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: userdn equals self - modify operational attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: userdn equals self - modify operational attributes, modify 1 '
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'sprain' ,
- 'entryToBeModified' : '%s/aci/aci_target/mod_entry31.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Target: userdn equals self - modify operational attributes, modify 2'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'sprain' ,
- 'entryToBeModified' : '%s/aci/aci_target/mod_entry31a.ldif' % (remote.data) ,
- 'expectedRC' : 19
- }
- </call>
-
- <message>
- 'ACI: Target: userdn equals self - modify operational attributes, modify 3'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'sprain' ,
- 'entryToBeModified' : '%s/aci/aci_target/mod_entry31b.ldif' % (remote.data) ,
- 'expectedRC' : 19
- }
- </call>
-
- <message>
- 'ACI: Target: userdn equals self - modify operational attributes, modify 4'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'sprain' ,
- 'entryToBeModified' : '%s/aci/aci_target/mod_entry31c.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Target: userdn equals self - modify operational 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_target/del_aci.ldif' % remote.data }
- </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 Search for operational attributes
- #@TestIssue 1479
- #@TestPurpose Test search for operational attributes
- #@TestPreamble Admin adds an aci.
- #@TestStep Admin modifies entry to generate a modifiersName and modifyTimestamp
- #@TestStep Client searches entry with no attributes stated.
- #@TestStep Client searches entry with two operational attributes stated.
- #@TestStep Client searches entry for all operational attributes.
- #@TestStep Admin modifies entry to reset the original attrobute value.
- #@TestStep Remove aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations,
- and entries are returned for steps 2, 3, and 4.
- No operational attributes are returned in step 2 and
- only the appropriate operational attributes for steps 3 and 4.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('search for operational attributes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci32.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: search for operational attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: search for operational attributes, admin modifying entry'
- </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/mod_entry32.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Target: search for operational attributes, 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=*' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'creatorsName:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'createTimestamp:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryDN:' ,
- 'expectedResult' : '0' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'modifiersName:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'modifyTimestamp' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'subschemaSubentry:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: search for operational attributes, 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' : 'creatorsName modifiersName' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'creatorsName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'modifiersName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: search for operational attributes, 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' : '+' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'creatorsName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'createTimestamp:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryDN:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'modifiersName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'modifyTimestamp' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'subschemaSubentry:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: search for operational attributes, admin modifying entry'
- </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/mod_entry32c.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Target: search for operational 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_target/del_aci.ldif' % remote.data }
- </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 comma
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn with comma
- #@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="getTestCaseName('Target Equals DN with comma')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci33.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN with comma, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with comma, 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' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=*carter*' ,
- '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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=acarter' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with comma, 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' : 'ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'uid=*carter*' ,
- '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' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=acarter' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with comma, 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' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN with comma, 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, default targetattr
- #@TestIssue 434
- #@TestPurpose Test with the target set equal to a dn, default targetattr
- #@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
- no entries returned for any search step.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Target Equals DN, default targetattr')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci34.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Target Equals DN, default targetattr, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN, default targetattr, 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN, default targetattr, 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN, default 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_target/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Target Equals DN, default targetattr, 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 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="getTestCaseName('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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetattr.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetattr.xml
deleted file mode 100755
index 786f4b7..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetattr.xml
+++ /dev/null
@@ -1,1467 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying * information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_targetattr"/>
-
- <function name="aci_targetattr">
-
- <sequence>
-
- <block name="'aci-targetattr'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- 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
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- 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="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetattr: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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="getTestCaseName('Targetattr Equals One Attribute')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals One Attribute, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Targetattr Not Equals One Attribute')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals One Attribute, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Targetattr Equals Three Attributes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals Three Attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'sn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephoneNumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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>
-
- <!---
- 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="getTestCaseName('Targetattr Not Equals Three Attributes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Targetattr Not Equals Three Attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'sn:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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
- #@TestName Attribute mispelled or non-existent in the entry - Use Not Equals
- #@TestIssue 435
- #@TestPurpose Test if an aci is allowed where the targetattr has an attribute not in the entry
- #@TestPreamble none
- #@TestStep Admin adds an aci to an existing entry
- that has specifies a non-existent attribute for the targetattr.
- #@TestStep Client searches entry with the targeted dn for the targetattr.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0 for all ldap operations
- and no attributes are returned.
- -->
- <testcase name="getTestCaseName('Bad Targetattr')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Bad Targetattr, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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="getTestCaseName('Multiple Targets')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Multiple Targetattrs - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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="getTestCaseName('Keyword Targetattr Mispelled')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Keyword Targetattr Mispelled - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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="getTestCaseName('Targetattr With Missing Quotes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Targetattr With Missing Quotes - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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="getTestCaseName('Targetattr With Spaces')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Targetattr With Spaces, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephoneNumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' % remote.data }
- </call>
-
- <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 Targetattr not equals wildcard
- #@TestIssue 434
- #@TestPurpose Test with the targetattr not equal to wildcard
- #@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 no entries are returned for any ldapsearch step.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Targetattr Not Equals Wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Target: Targetattr Not Equals Wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 0
- }
- </call>
-
- <message>
- 'ACI: Target: Targetattr Not Equals 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=tmorris,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=tmorris,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Targetattr Not Equals 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=tmorris,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=tmorris,ou=People,ou=aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Target: Targetattr Not Equals 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_targetattr/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Target: Targetattr Not Equals 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=tmorris,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=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 one attribute with wildcard
- #@TestIssue 435
- #@TestPurpose Test with the targetattr set equal to a specific attribute with wildcard
- #@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 21.
- -->
- <testcase name="getTestCaseName('Targetattr Equals One Attribute with wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetattr: Targetattr Equals One Attribute with wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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="getTestCaseName('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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetattr: Postamble - Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
-
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetcontrol.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetcontrol.xml
deleted file mode 100755
index c51fa9e..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetcontrol.xml
+++ /dev/null
@@ -1,674 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_targetcontrol"/>
-
- <function name="aci_targetcontrol">
-
- <sequence>
-
- <block name="'aci-target-control'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Targetcontrol Tests
- #@TestSuitePurpose Test the basic ACI Targetcontrol Support.
- #@TestSuiteGroup Basic ACI Targetcontrol Tests
- #@TestScript aci_targetcontrol.xml
- -->
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetcontrol Tests
- #@TestName Preamble
- #@TestIssue 452
- #@TestPurpose Prepare for targetcontrol tests
- #@TestPreamble none
- #@TestStep Admin removes global search ACI
- #@TestStep Admin adds ACI to access controls
- #@TestStep Admin adds ACI to access effective rights
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
- -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Targetcontrol: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <script>
- allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'add' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_effrights_aci.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetcontrol: Preamble - Admin adding get effective rights ACI,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
- </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 Targetcontrol Tests
- #@TestName Targetcontrol using search effective rights with control allow
- #@TestIssue 452
- #@TestPurpose Test targetcontrol with search effective rights with control allow
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- apprpriate entries are returned for any step.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Basic - search with control allow')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, preamble adding aci,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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_targetcontrol/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Targetcontrol Tests
- #@TestName Targetcontrol using search effective rights with control deny
- #@TestIssue 452
- #@TestPurpose Test targetcontrol with search effective rights with control deny
- #@TestPreamble Admin adds an ACI to deny effective rights control and Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestStep Admin removes ACI that denied effective rights control.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap modify operations, 50
- for all effective rights search queries, and
- appropriate entries are returned for any step.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Basic - search with control deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- deny_aci='(targetcontrol=\"1.3.6.1.4.1.42.2.27.9.5.2\") (version 3.0; acl \"deny effective rights control\"; deny(all) userdn=\"ldap:///anyone\";)'
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : deny_aci ,
- 'changetype' : 'add' }
- </call>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, preamble adding aci,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' ,
- 'expectedRC' : 50 }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'insufficient access rights' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' ,
- 'expectedRC' : 50 }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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_targetcontrol/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' ,
- 'expectedRC' : 50 }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : deny_aci ,
- 'changetype' : 'delete' }
- </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 Targetcontrol Tests
- #@TestName Targetcontrol using search effective rights with control allow 2
- #@TestIssue 452
- #@TestPurpose Test targetcontrol with search effective rights with control allow
- #@TestPreamble Admin adds an aci.
- #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
- #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations, and
- apprpriate entries are returned for any step.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Basic - search with control allow 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, preamble adding aci,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'uid aclRights roomnumber' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;uid: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeLevel;roomnumber: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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_targetcontrol/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
- 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
- </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 Targetcontrol Tests
- #@TestName Postamble
- #@TestIssue 452
- #@TestPurpose Reset targetcontrol tests
- #@TestPreamble none
- #@TestStep Admin deletes ACI to access effective rights
- #@TestStep Admin puts back global search ACI
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all operations.
- -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Targetcontrol: Postamble - Admin deleting get effective rights 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_targetcontrol/del_effrights_aci.ldif' % (remote.data) }
- </call>
-
- <script>
- allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
- </script>
-
- <call function="'modifyAnAttribute'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'DNToModify' : 'dc=example,dc=com' ,
- 'attributeName' : 'aci' ,
- 'newAttributeValue' : allow_aci ,
- 'changetype' : 'delete' }
- </call>
-
- <message>
- 'ACI: Targetcontrol: Preamble - putting back Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetfilter.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetfilter.xml
deleted file mode 100755
index e8d61c9..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetfilter.xml
+++ /dev/null
@@ -1,2908 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying * information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! Portions Copyright 2011 ForgeRock AS
- ! -->
-<stax>
-
- <defaultcall function="aci_targetfilter"/>
-
- <function name="aci_targetfilter">
-
- <sequence>
-
- <block name="'aci-targetfilter'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Targetfilter Tests
- #@TestSuitePurpose Test the basic ACI Targetfilter Support. (allow(read))
- #@TestSuiteGroup Basic ACI Targetfilter Tests allow(read)
- #@TestScript aci_targetfilter_syntax.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetfilter 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="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetfilter: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter Equals One Statement')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter Equals One Statement 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 2, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter Equals One Statement 3')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals One Statement 3, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomNumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephoneNumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter Not Equals One Statement')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals One Statement, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter Equals Three Statements With or, one true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@TestName Targetfilter (not equals) with three statements with or, one statement true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with not equals 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 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="getTestCaseName('Targetfilter Not Equals Three Statements With or, one true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3a.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals Three Statements With or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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=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
- #@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="getTestCaseName('Targetfilter Equals Three Statements With or, none true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter Equals Three Statements With and, one true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter Equals Three Statements With and, all true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@TestName Targetfilter (not equals) with three statements with and, all statements true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with not equals 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 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="getTestCaseName('Targetfilter Not Equals Three Statements With and, all true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6a.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not Equals Three Statements With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Not 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=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
- #@TestName Targetfilter with three statements with wildcard and or, one statement true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with wildcard and or and one statement is true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with wildcard and 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="getTestCaseName('Targetfilter Equals Three Statements With Wildcard and or, one true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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
- #@TestName Targetfilter with three statements with two wildcards and or, one statement true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with two wildcards and or and one statement is true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with wildcard and 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="getTestCaseName('Targetfilter Equals Three Statements With Two Wildcards and or, one true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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
- #@TestName Targetfilter with three statements with wildcard and and, all statements true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with wildcard with and and all statements true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with wildcard 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="getTestCaseName('Targetfilter Equals Three Statements With Wildcard With and, all true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci12.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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
- #@TestName Targetfilter with three statements with three wildcards and and, all statements true
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with three statements with three wildcards with and and all statements true
- #@TestPreamble Admin adds an aci with the targetfilter containing three statements with three wildcards 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="getTestCaseName('Targetfilter Equals Three Statements With Three Wildcards With and, all true')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci13.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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
- #@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="getTestCaseName('Targetfilter With Extra Spaces')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Extra Spaces, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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_targetfilter/del_aci.ldif' % remote.data }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter With Missing Quotes')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Missing Quotes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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
- #@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="getTestCaseName('Targetfilter With Missing Quotes 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Missing Quotes 2, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <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 Targetfilter Tests
- #@TestName Targetfilter with Improperly Formatted Filter with or
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with improperly formatted filter with or
- #@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="getTestCaseName('Targetfilter With Improperly Formatted Filter with or')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci14.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with or, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with or, 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
- #@TestName Targetfilter with Improperly Formatted Filter with and
- #@TestIssue 436
- #@TestPurpose Test with a targetfilter with improperly formatted filter with and
- #@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="getTestCaseName('Targetfilter With Improperly Formatted Filter with and')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci15.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with and, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </call>
-
- <message>
- 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with and, 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
- #@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="getTestCaseName('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' ,
- 'expectedResult' : '0' }
- </call>
-
- <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="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetfilter: Postamble - Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetscope.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetscope.xml
deleted file mode 100755
index 7519fb3..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/aci_targetscope.xml
+++ /dev/null
@@ -1,1042 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="aci_targetscope"/>
-
- <function name="aci_targetscope">
-
- <sequence>
-
- <block name="'aci-target-scope'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Targetscope Tests
- #@TestSuitePurpose Test the basic ACI Targetscope Support.
- #@TestSuiteGroup Basic ACI Targetscope Tests
- #@TestScript aci_targetscope.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Targetscope Tests
- #@TestName Preamble
- #@TestIssue none
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Admin removes global search ACI.
- #@TestStep Admin adds entries for the test cases.
- #@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="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetscope: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <message>
- 'ACI: Targetscope: Preamble - Adding Entries For Targetscope Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/aci_targetscope/aci_startup_targetscope.ldif' % remote.data }
- </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 Bind Type Tests
- #@TestName targetscope - base
- #@TestIssue none
- #@TestPurpose Test behavior of targetscope equals base
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
- #@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 parent entry is returned in step 1.
- -->
- <testcase name="getTestCaseName('base')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetscope: base, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetscope: base, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: base, user searching in first child level'
- </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetscope: base, user searching in second child level'
- </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetscope: base, 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_targetscope/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetscope: base, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,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 Bind Type Tests
- #@TestName targetscope - onelevel
- #@TestIssue none
- #@TestPurpose Test behavior of targetscope equals onelevel
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
- #@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.
- Child entry are returned in steps 1 and 2.
- -->
- <testcase name="getTestCaseName('onelevel')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetscope: onelevel, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetscope: onelevel, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: onelevel, user searching in first child level'
- </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: onelevel, user searching in second child level'
- </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Targetscope: onelevel, 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_targetscope/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetscope: onelevel, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,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 Bind Type Tests
- #@TestName targetscope - subtree
- #@TestIssue none
- #@TestPurpose Test behavior of targetscope equals onelevel
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
- #@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.
- All entries are returned in steps 1, 2 and 3.
- -->
- <testcase name="getTestCaseName('subtree')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetscope: subtree, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetscope: subtree, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: subtree, user searching in first child level'
- </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: subtree, user searching in second child level'
- </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: subtree, 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_targetscope/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetscope: subtree, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,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 Bind Type Tests
- #@TestName targetscope - subordinate
- #@TestIssue none
- #@TestPurpose Test behavior of targetscope equals onelevel
- #@TestPreamble Admin adds an aci to the dn of one existing branch.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
- #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
- #@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.
- All entries except the parent are returned in steps 1, 2 and 3.
- -->
- <testcase name="getTestCaseName('subordinate')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetscope: subordinate, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Targetscope: subordinate, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: subordinate, user searching in first child level'
- </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: subordinate, user searching in second child level'
- </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Targetscope: subordinate, 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_targetscope/del_aci.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Targetscope: subordinate, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid' ,
- 'extraParams' : '-T' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestStringNotPresent'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,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 Bind Type Tests
- #@TestName targetscope - syntax, bad keyword
- #@TestIssue none
- #@TestPurpose Test behavior of targetscope equals bad keyword
- #@TestPreamble none
- #@TestStep Admin adds an aci to the dn of one existing branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('bad keyword')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetscope: bad keyword, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Bind Type Tests
- #@TestName targetscope - syntax, wildcard
- #@TestIssue none
- #@TestPurpose Test behavior of targetscope equals wildcard
- #@TestPreamble none
- #@TestStep Admin adds an aci to the dn of one existing branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('wildcard')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetscope: wildcard, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 Bind Type Tests
- #@TestName targetscope - syntax, not equals
- #@TestIssue none
- #@TestPurpose Test behavior of targetscope with not equals
- #@TestPreamble none
- #@TestStep Admin adds an aci to the dn of one existing branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 21.
- -->
- <testcase name="getTestCaseName('not equals')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_syntax_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Targetscope: not equals, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) ,
- 'expectedRC' : 21
- }
- </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 none
- #@TestPurpose Test default aci settings
- #@TestPreamble none
- #@TestStep Admin deletes the entries that were used for testing.
- #@TestStep Admin puts back the global ACI for searches.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and no entries are returned
- for all operations.
- -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Targetscope: Postamble - deleting entries'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Targetscope Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <message>
- 'ACI: Targetscope: Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry.xml
new file mode 100644
index 0000000..7bd1cb6d1
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_add_entry"/>
+ <function name="aci_add_entry" scope="local">
+ <sequence>
+ <block name="'aci_add_entry'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'add_entry'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Add Entry'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Add Entry Tests
+ #@TestSuitePurpose Verify that ACI add_entrys are functioning correctly
+ #@TestSuiteID ACI Add Entry Tests
+ #@TestSuiteGroup ACI Add Entry
+ #@TestGroup ACI
+ #@TestScript aci_add_entry.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('add_entry/add_entry_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Add Entry:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_add_entry_001')
+ testsList.append('aci_add_entry_002')
+ testsList.append('aci_add_entry_003')
+ testsList.append('aci_add_entry_004')
+ testsList.append('aci_add_entry_005')
+ testsList.append('aci_add_entry_006')
+ testsList.append('aci_add_entry_007')
+ testsList.append('aci_add_entry_008')
+ testsList.append('aci_add_entry_009')
+ testsList.append('aci_add_entry_010')
+ testsList.append('aci_add_entry_011')
+ testsList.append('aci_add_entry_012')
+ testsList.append('aci_add_entry_013')
+ testsList.append('aci_add_entry_014')
+ testsList.append('aci_add_entry_015')
+ testsList.append('aci_add_entry_016')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry_tests.xml
new file mode 100644
index 0000000..19ab2c2
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/add_entry/add_entry_tests.xml
@@ -0,0 +1,1979 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Preamble
+ #@TestIssue 439
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Add extra branches where new entries will be added
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+
+ -->
+ <function name="aci_add_entry_001" scope="local">
+ <testcase name="getTestCaseName('Add Entry Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Add Preamble - Adding Branches For Add Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/aci_startup_add_entry_tests.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- general allow(add) tests -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - userdn equals all
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACi where userdn equals all
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Directory Manager searches for added entry in the targeted branch.
+ #@TestStep Client adds an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client add an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_002" scope="local">
+ <testcase name="getTestCaseName('Add Entry - userdn equals all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals all, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals all, user adding entry to targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals all, Directory Manager searching added entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals all, user adding entry to non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals all, 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals all, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - userdn equals a dn
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI where userdn equals a dn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Directory Manager searches added entry in the targeted branch.
+ #@TestStep Client adds an entry in the targeted branch with a prohibited userdn.
+ #@TestStep Client adds an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_003" scope="local">
+ <testcase name="getTestCaseName('Add Entry - userdn equals a dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals a dn, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals a dn, Directory Manager searching added entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=abergin,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in targeted branch with a prohibited userdn'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals a 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn equals a dn, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - userdn not equals a dn
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI where the userdn not equals a dn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Directory Manager searches added entry in the targeted branch.
+ #@TestStep Client adds an entry in the targeted branch with a prohibited userdn.
+ #@TestStep Client adds an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_004" scope="local">
+ <testcase name="getTestCaseName('Add Entry - userdn not equals a dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a dn, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a dn, Directory Manager searching added entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in targeted branch with a prohibited userdn'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-add_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - add not allowed
+ #@TestIssue 439
+ #@TestPurpose Add an entry where the ACI does not allow an add
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_005" scope="local">
+ <testcase name="getTestCaseName('Add Entry - add not allowed')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-delete_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - add not allowed, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - add not allowed, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_allow-delete_entry1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - userdn not equals a dn, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- general targetfilter tests -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - targetfilter with one statement
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI with one targetfilter.
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Directory Manager searches added entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_006" scope="local">
+ <testcase name="getTestCaseName('Add Entry - targetfilter equals one statement')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetfilter_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter equals one statement, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter equals one statement, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter equals one statement, Directory Manager searching added entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=trigden,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter equals one statement, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter equals one statement, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - targetfilter with non-existent attribute
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI with a targetfilter with non-existent attribute
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_007" scope="local">
+ <testcase name="getTestCaseName('Add Entry - targetfilter with non-existent attribute')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetfilter_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter with non-existent attribute, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter with non-existent attribute, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter with non-existent attribute, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetfilter_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter with non-existent 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetfilter with non-existent attribute, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+<!-- general targetattr tests -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - targetattr with one attribute
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI with a targetattr with one attribute.
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Directory Manager searches added entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_008" scope="local">
+ <testcase name="getTestCaseName('Add Entry - targetattr with one attribute')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetattr_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - targetattr with one attribute, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetattr with one attribute, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetattr_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetattr with one attribute, Directory Manager searching added entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=cschmith,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetattr with one attribute, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targetattr_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetattr with 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targetattr with one attribute, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- general targattrfilter tests -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - targattrfilter with add:,del:
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI with a targattrfilter with add:,del:.
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Directory Manager searches added entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_009" scope="local">
+ <testcase name="getTestCaseName('Add Entry - targattrfilter with add:,del:')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targattrfilter_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add:,del:, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add:,del:, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add:,del:, Directory Manager searching added entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=jwallace,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add:,del:, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add:,del:, 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add:,del:, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - targattrfilter with add: only
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI with a targattrfilter with add: only.
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Directory Manager searches added entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_010" scope="local">
+ <testcase name="getTestCaseName('Add Entry - targattrfilter with add: only')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targattrfilter_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: only, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: only, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: only, Directory Manager searching added entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=jcrawler,ou=People,ou=aci branch,o=Add Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: only, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: only, 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: only, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - targattrfilter with add: statement false
+ #@TestIssue 439
+ #@TestPurpose Add an entry against an ACI with a targattrfilter with add: statement false.
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_011" scope="local">
+ <testcase name="getTestCaseName('Add Entry - targattrfilter with add: statement false')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targattrfilter_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: statement false, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: statement false, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: statement false, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_targattrfilter_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: statement false, 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_add_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - targattrfilter with add: statement false, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- multiple ACI tests -->
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - Multi ACIs 1, overall deny
+ #@TestIssue 439
+ #@TestPurpose Add an entry against two ACIs with with overall deny
+ #@TestPreamble Admin adds two acis.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_012" scope="local">
+ <testcase name="getTestCaseName('Add Entry - Multi ACIs 1, overall deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 1, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 1, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 1, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 1, 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_add_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 1, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - Multi ACIs 2, overall allow
+ #@TestIssue 439
+ #@TestPurpose Add an entry against two ACIs with an overall allow
+ #@TestPreamble Admin adds two acis.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_013" scope="local">
+ <testcase name="getTestCaseName('Add Entry - Multi ACIs 2, overall allow')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 2, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 2, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 2, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 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_add_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 2, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - Multi ACIs 3, mixed allow and deny
+ #@TestIssue 439
+ #@TestPurpose Add an entry against multiple ACIs where the allow or deny depends on specific userds
+ #@TestPreamble Admin adds two acis.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Client adds an entry in the targeted branch by a prohibited user.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_014" scope="local">
+ <testcase name="getTestCaseName('Add Entry - Multi ACIs 3, mixed allow and deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 3, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in targeted branch by a prohibited user'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 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_add_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 3, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - Multi ACIs 4, overall allow with many ACIs
+ #@TestIssue 439
+ #@TestPurpose Add an entry against many ACIs with an overall allow
+ #@TestPreamble Admin adds many acis.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_015" scope="local">
+ <testcase name="getTestCaseName('Add Entry - Multi ACIs 4, overall allow with many ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 4, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 4, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 4, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 4, 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_add_entry/del_multi_acis2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 4, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Add Entry Tests
+ #@TestName Add Entry - Multi ACIs 5, mixed allow and deny with many ACIs
+ #@TestIssue 439
+ #@TestPurpose Add an entry against many ACIs where the allow or deny depends on specific userds
+ #@TestPreamble Admin adds many acis.
+ #@TestStep Client adds an entry in the targeted branch.
+ #@TestStep Client adds an entry in the targeted branch by a prohibited user.
+ #@TestStep Client adds an entry in the non-targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_add_entry_016" scope="local">
+ <testcase name="getTestCaseName('Add Entry - Multi ACIs 5, mixed allow and deny with many ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_add_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 5, preamble adding aci,\n %s' % curr_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_add_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in targeted branch by a prohibited user'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in non-targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_multi_aci_entry5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 5, 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_add_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Add: Add Entry - Multi ACIs 5, user adding entry in previously targeted branch'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeAdded' : '%s/aci/aci_add_entry/add_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes.xml
new file mode 100644
index 0000000..2d0621f
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes.xml
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_bindtypes"/>
+ <function name="aci_bindtypes" scope="local">
+ <sequence>
+ <block name="'aci_bindtypes'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'bindtypes'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Bindtypes'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Bindtypes Tests
+ #@TestSuitePurpose Verify that ACI bindtypess are functioning correctly
+ #@TestSuiteID ACI Bindtypes Tests
+ #@TestSuiteGroup ACI Bindtypes
+ #@TestGroup ACI
+ #@TestScript bindtypes.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('bindtypes/bindtypes_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Bindtypes:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_bindtypes_001')
+ testsList.append('aci_bindtypes_002')
+ testsList.append('aci_bindtypes_003')
+ testsList.append('aci_bindtypes_004')
+ testsList.append('aci_bindtypes_005')
+ testsList.append('aci_bindtypes_006')
+ testsList.append('aci_bindtypes_007')
+ testsList.append('aci_bindtypes_008')
+ testsList.append('aci_bindtypes_009')
+ testsList.append('aci_bindtypes_010')
+ testsList.append('aci_bindtypes_011')
+ testsList.append('aci_bindtypes_012')
+ testsList.append('aci_bindtypes_013')
+ testsList.append('aci_bindtypes_014')
+ testsList.append('aci_bindtypes_015')
+ testsList.append('aci_bindtypes_016')
+ testsList.append('aci_bindtypes_017')
+ testsList.append('aci_bindtypes_018')
+ testsList.append('aci_bindtypes_019')
+ testsList.append('aci_bindtypes_020')
+ testsList.append('aci_bindtypes_021')
+ testsList.append('aci_bindtypes_022')
+ testsList.append('aci_bindtypes_023')
+ testsList.append('aci_bindtypes_024')
+ testsList.append('aci_bindtypes_025')
+ testsList.append('aci_bindtypes_026')
+ testsList.append('aci_bindtypes_027')
+ testsList.append('aci_bindtypes_028')
+ testsList.append('aci_bindtypes_029')
+ testsList.append('aci_bindtypes_030')
+ testsList.append('aci_bindtypes_031')
+ testsList.append('aci_bindtypes_032')
+ testsList.append('aci_bindtypes_033')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes_tests.xml
new file mode 100644
index 0000000..da3cbaf
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/bindtypes/bindtypes_tests.xml
@@ -0,0 +1,5565 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName Preamble
+ #@TestIssue 454
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Admin removes global search ACI
+ #@TestStep Admin adds entries
+ #@TestStep User searches for an entry in targeted branch
+ #@TestStep Admin adds static group
+ #@TestStep Admin adds dynamic group
+ #@TestStep Admin searches for one of the members of the static group
+ #@TestStep Admin searches for one of the members of the dynamic group
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+ No entry is returned in step 3.
+ -->
+ <function name="aci_bindtypes_001" scope="local">
+ <testcase name="getTestCaseName('Bindtypes Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Bind Types: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: Preamble - Adding Entries For Bind Types Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_bindtypes/aci_startup_bindtypes.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: 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=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: Preamble - Adding Static Groups For Bind Type Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_bindtypes/add_static_groups.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: Preamble - Adding Dynamic Groups For Bind Type Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_bindtypes/add_dynamic_groups.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: Preamble - admin searching one entry for isMemberOf of static group'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=cuser,ou=People,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'isMemberOf' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=cuser,ou=People,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'isMemberOf: cn=Marketing' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: Preamble - admin searching one entry for isMemberOf of dynamic group'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=luser,ou=People,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'isMemberOf' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=luser,ou=People,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'isMemberOf: cn=Development' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- GroupDN tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn equals one static group
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn equals one static group
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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.
+ -->
+ <function name="aci_bindtypes_002" scope="local">
+ <testcase name="getTestCaseName('groupdn equals one static group')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn equals two static groups
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn equals two static groups
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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 steps 1 and 4.
+ -->
+ <function name="aci_bindtypes_003" scope="local">
+ <testcase name="getTestCaseName('groupdn equals two static groups')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two static groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two static groups, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two static groups, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two static groups, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two static groups, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two static groups, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two static groups, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn not equals one static group
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn not equals one static group
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a diifferent group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@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 steps 1 and 3.
+ -->
+ <function name="aci_bindtypes_004" scope="local">
+ <testcase name="getTestCaseName('groupdn not equals one static group')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one static group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one static group, user searching targeted entry with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one static group, user searching in non-targeted branch with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one static group, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one static group, user searching with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one static group, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one static group, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn not equals two static groups
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn not equals two static groups
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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 3.
+ -->
+ <function name="aci_bindtypes_005" scope="local">
+ <testcase name="getTestCaseName('groupdn not equals two static groups')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two static groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two static groups, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two static groups, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two static groups, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two static groups, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two static groups, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two static groups, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn equals one dynamic group
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn equals one dynamic group
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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.
+ -->
+ <function name="aci_bindtypes_006" scope="local">
+ <testcase name="getTestCaseName('groupdn equals one dynamic group')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one dynamic group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one dynamic group, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one dynamic group, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one dynamic group, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one dynamic group, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one dynamic group, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one dynamic group, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn equals two dynamic groups
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn equals two dynamic groups
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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 steps 1 and 4.
+ -->
+ <function name="aci_bindtypes_007" scope="local">
+ <testcase name="getTestCaseName('groupdn equals two dynamic groups')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two dynamic groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two dynamic groups, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two dynamic groups, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two dynamic groups, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two dynamic groups, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two dynamic groups, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals two dynamic groups, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn not equals one dynamic group
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn not equals one dynamic group
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a different group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@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 steps 1 and 3.
+ -->
+ <function name="aci_bindtypes_008" scope="local">
+ <testcase name="getTestCaseName('groupdn not equals one dynamic group')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one dynamic group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one dynamic group, user searching targeted entry with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one dynamic group, user searching in non-targeted branch with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one dynamic group, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one dynamic group, user searching with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one dynamic group, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals one dynamic group, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn not equals two dynamic groups
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn not equals two dynamic groups
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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 3.
+ -->
+ <function name="aci_bindtypes_009" scope="local">
+ <testcase name="getTestCaseName('groupdn not equals two dynamic groups')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two dynamic groups, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=luser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two dynamic groups, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn not equals two dynamic groups, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn equals one static group with wildcard
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn of a static group with a wildcard
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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
+ no entries are returned for any step.
+ -->
+ <function name="aci_bindtypes_010" scope="local">
+ <testcase name="getTestCaseName('groupdn equals one static group with wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group with wildcard, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching in non-targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching with different-group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group with 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group with wildcard, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn equals one static and one dynamic group
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn equals one static and one dynamic group
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@TestStep Client searches entry in the targeted branch dn as a non-group member.
+ #@TestStep Client searches entry in the targeted branch dn as a different group member.
+ #@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 steps 1 and 4.
+ -->
+ <function name="aci_bindtypes_011" scope="local">
+ <testcase name="getTestCaseName('groupdn equals one static and one dynamic group')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static and one dynamic group, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching with non-group member'
+ </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=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static and one dynamic group, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static and one dynamic group, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=iuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn - selfwrite add member
+ #@TestIssue 450
+ #@TestPurpose Test behavior with groupdn - selfwrite add member
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Admin adds selfwrite aci to the dn of the group
+ #@TestStep Client adds a user as himself to a group.
+ #@TestStep Client searches entry in the targeted branch dn as the new group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as the new group member.
+ #@TestStep Remove selfwrite aci.
+ #@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
+ entry is returned only for step 3.
+ -->
+ <function name="aci_bindtypes_012" scope="local">
+ <testcase name="getTestCaseName('groupdn - selfwrite add member')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add member, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_static_selfwrite.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add member, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add member, adding new static member'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_bindtypes/add_new_member_static1.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add member, user searching targeted entry with new group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add member, user searching in non-targeted branch with new group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,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=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add member, admin deleting selfwrite 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_bindtypes/del_static_selfwrite.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn equals one static group, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add member, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn - selfwrite delete member
+ #@TestIssue 450
+ #@TestPurpose Test behavior with groupdn - selfwrite delete member
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Admin adds selfwrite aci to the dn of the group
+ #@TestStep Client deletes a user as himself from a group.
+ #@TestStep Remove selfwrite aci.
+ #@TestStep Client searches entry in the targeted branch dn as an old group member.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry in the targeted branch dn as an old group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations and
+ entry returned in step 4.
+ -->
+ <function name="aci_bindtypes_013" scope="local">
+ <testcase name="getTestCaseName('groupdn - selfwrite delete member')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_static_selfwrite.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, deleting old static member'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=zyuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_bindtypes/del_old_member_static2.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, admin deleting selfwrite 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_bindtypes/del_static_selfwrite.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, user searching targeted entry with old group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn - selfwrite replace member
+ #@TestIssue 450
+ #@TestPurpose Test behavior with groupdn - selfwrite replace member
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Admin adds selfwrite aci to the dn of the group
+ #@TestStep Client replaces a user as himself from a group.
+ #@TestStep Remove selfwrite aci.
+ #@TestStep Client searches entry in the targeted branch dn as an old group member.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry in the targeted branch dn as an old group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations,
+ 50 for step 2, and the entry is returned in step 4.
+ -->
+ <function name="aci_bindtypes_014" scope="local">
+ <testcase name="getTestCaseName('groupdn - selfwrite replace member')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite replace member, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_static_selfwrite.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite replace member, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite delete member, replacing old static member'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_bindtypes/replace_member_static3.ldif' % (remote.data) ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite replace member, admin deleting selfwrite 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_bindtypes/del_static_selfwrite.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite replace member, user searching targeted entry with old group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite replace member, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite replace member, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName groupdn - selfwrite add description
+ #@TestIssue 450
+ #@TestPurpose Test behavior with groupdn - selfwrite add description
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Admin adds selfwrite aci to the dn of the group
+ #@TestStep Client adds a description as a user as himself to a group.
+ #@TestStep Remove selfwrite aci.
+ #@TestStep Client searches entry in the targeted branch dn as an old group member.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry in the targeted branch dn as an old group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations,
+ 50 for step 2, and the entry is returned in step 4.
+ -->
+ <function name="aci_bindtypes_015" scope="local">
+ <testcase name="getTestCaseName('groupdn - selfwrite add description')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_groupdn_selfwrite.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add description, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_static_selfwrite2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add description, adding selfwrite aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add description, add new description'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=zuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_bindtypes/add_new_description_static4.ldif' % (remote.data) ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add description, admin deleting selfwrite 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_bindtypes/del_static_selfwrite2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add description, user searching targeted entry with old group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add description, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: groupdn - selfwrite add description, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- userattr tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName userattr equals one attribute
+ #@TestIssue 455
+ #@TestPurpose Test behavior with userattr equals one attribute
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for all attributes.
+ #@TestStep Client searches entry in the targeted branch dn for selected attributes including matching attribute.
+ #@TestStep Client searches entry in the targeted branch dn for selected attributes not including matching attribute.
+ #@TestStep Client searches entry in a non-targeted branch dn for all attributes.
+ #@TestStep Client searches entry in the targeted branch dn for entry with no matching attribute.
+ #@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 entries is returned only for steps 1, 2, and 3.
+ Attribute values returned only for steps 1, 2 and 3.
+ -->
+ <function name="aci_bindtypes_016" scope="local">
+ <testcase name="getTestCaseName('userattr equals one attr')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userattr_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, user searching targeted entry with all attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'l:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, user searching targeted entry with selected attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid l'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'l:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, user searching targeted entry with selected attributes without matching attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, user searching in non-targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid l'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, user searching entry with non-matching 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=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid l'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName userattr not equals one attribute
+ #@TestIssue 1587
+ #@TestPurpose Test behavior with userattr not equals one attribute
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for all attributes.
+ #@TestStep Client searches entry in the targeted branch dn for selected attributes including matching attribute.
+ #@TestStep Client searches entry in the targeted branch dn for selected attributes not including matching attribute.
+ #@TestStep Client searches entry in a non-targeted branch dn for all attributes.
+ #@TestStep Client searches entry in the targeted branch dn for entry with no matching attribute including matching attribute.
+ #@TestStep Client searches entry in the targeted branch dn for entry with no matching attributenot including matching attribute.
+ #@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 entries is returned only for steps 1, 2, 3, 5 and 6.
+ Attribute values returned only for steps 1, 2 and 6.
+ -->
+ <function name="aci_bindtypes_017" scope="local">
+ <testcase name="getTestCaseName('userattr not equals one attr')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userattr_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, user searching entry with all attributes with no matching attribute value'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'l:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, user searching entry with selected attributes with no matching attribute value'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid l'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'l:' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, user searching entry with selected attributes without matching attribute with no matching attribute value'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, user searching in non-targeted branch with no matching attribute value'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid l'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, user searching entry with matching attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=euser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid l'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, user searching entry without matching attribute'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=euser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,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=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr not equals one attr, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,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=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName userattr equals one attribute with bindtype
+ #@TestIssue 455
+ #@TestPurpose Test behavior with userattr equals one attr with bindtype
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with matching manager.
+ #@TestStep Client searches entry in a non-targeted branch dn for entry with matching manager.
+ #@TestStep Client searches entry in the targeted branch dn for entry with no matching manager.
+ #@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 entries is returned only for step 1.
+ -->
+ <function name="aci_bindtypes_018" scope="local">
+ <testcase name="getTestCaseName('userattr equals one attr with bindtype')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userattr_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with bindtype, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with bindtype, user searching targeted entry with all attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'manager:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with bindtype, user searching in non-targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with bindtype, user searching entry with non-matching manager'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with bindtype, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with bindtype, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName userattr equals one attr with groupdn
+ #@TestIssue 455
+ #@TestPurpose Test behavior with userattr equals one attr with groupdn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with group member and matching manager.
+ #@TestStep Client searches entry in a non-targeted branch dn for entry with group member and matching manager.
+ #@TestStep Client searches entry in the targeted branch dn for entry with non-group member and no matching manager.
+ #@TestStep Client searches entry in the targeted branch dn for entry with group member and no matching manager.
+ #@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 entries is returned only for step 1.
+ -->
+ <function name="aci_bindtypes_019" scope="local">
+ <testcase name="getTestCaseName('userattr equals one attr with groupdn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userattr_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'manager:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, user searching in non-targeted branch with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kwinters,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kwinters,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, static group, user searching with non-group member'
+ </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=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, user searching with different group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=fuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName userattr equals one attr with groupdn, url expression
+ #@TestIssue 455
+ #@TestPurpose Test behavior with userattr equals groupdn with url expression
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with group member and matching manager.
+ #@TestStep Client searches entry in the targeted branch dn for entry with non-group member and no matching manager.
+ #@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 entries is returned only for step 1.
+ -->
+ <function name="aci_bindtypes_020" scope="local">
+ <testcase name="getTestCaseName('userattr equals one attr with groupdn, url expression')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci="(targetattr=\"*\")(version 3.0; acl \"add_userattr_aci5\"; allow (search,read) userattr=\"ldap:///o=ACI Tests,dc=example,dc=com?manager#GROUPDN\";)"
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, user searching targeted entry with group member'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'manager:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, user searching with non-group member'
+ </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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, url expression,, admin deleting aci'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one attr with groupdn, url expression, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=cuser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kwinters,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName inheritance with bindtype, deny children
+ #@TestIssue 455
+ #@TestPurpose Test behavior of inheritance with bindtype, deny children
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
+ #@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 entries is returned only for step 1.
+ -->
+ <function name="aci_bindtypes_021" scope="local">
+ <testcase name="getTestCaseName('inheritance with bindtype, deny children')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userattr_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, deny children, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, deny children, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'manager:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, deny children, user searching in first child level'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, deny children, user searching in second child level'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, deny children, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, deny children, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName inheritance with bindtype, allow one child level
+ #@TestIssue 455
+ #@TestPurpose Test behavior of inheritance with bindtype, allow one child level
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
+ #@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 entries is returned only for steps 1 and 2.
+ -->
+ <function name="aci_bindtypes_022" scope="local">
+ <testcase name="getTestCaseName('inheritance with bindtype, allow one child level')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userattr_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow one child level, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'manager:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching in first child level'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching in second child level'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow one child level, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow one child level, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName inheritance with bindtype, allow two child levels
+ #@TestIssue 455
+ #@TestPurpose Test behavior of inheritance with bindtype, allow two child levels
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
+ #@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 entries is returned only for steps 1, 2, and 3.
+ -->
+ <function name="aci_bindtypes_023" scope="local">
+ <testcase name="getTestCaseName('inheritance with bindtype, allow two child levels')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userattr_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow two child levels, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'manager:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching in first child level'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching in second child level'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow two child levels, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: inheritance with bindtype, allow two child levels, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=amanager,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName userattr equals one operational attribute with bindtype
+ #@TestIssue 1760
+ #@TestPurpose Test behavior with userattr equals one operational attr with bindtype
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with matching userdn.
+ #@TestStep Client searches entry in a non-targeted branch dn for entry with matching userdn.
+ #@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 entries is returned only for step 1.
+ -->
+ <function name="aci_bindtypes_024" scope="local">
+ <testcase name="getTestCaseName('userattr equals one operational attr with bindtype')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci="(targetattr=\"*\")(version 3.0; acl \"add_userattr_aci9\"; allow (search,read) userattr=\"entrydn#USERDN\";)"
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one operational attr with bindtype, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch, o=Bind Type Tests, o=ACI Tests, dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one operational attr with bindtype, user searching targeted entry with all attributes'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ruling' ,
+ 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'manager:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one operational attr with bindtype, user searching in non-targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ruling' ,
+ 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=gfarmer,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one operational attr with bindtype, admin deleting aci'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch, o=Bind Type Tests, o=ACI Tests, dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userattr equals one operational attr with bindtype, user searching previously targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ruling' ,
+ 'dsBaseDN' : 'uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid manager' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=gfarmer,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+<!-- syntax tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName syntax - groupdn with missing slash
+ #@TestIssue 455
+ #@TestPurpose Test behavior with groupdn with missing slash in the url
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_bindtypes_025" scope="local">
+ <testcase name="getTestCaseName('groupdn with missing slash')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn with missing slash, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName syntax - groupdn with single quotes
+ #@TestIssue 455
+ #@TestPurpose Test behavior with groupdn with single quotes
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_bindtypes_026" scope="local">
+ <testcase name="getTestCaseName('groupdn with single quote')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn with single quote, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName syntax - groupdn is null
+ #@TestIssue 454
+ #@TestPurpose Test behavior with groupdn equals null
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_bindtypes_027" scope="local">
+ <testcase name="getTestCaseName('groupdn with null value')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: groupdn with null value, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName syntax - userdn is null
+ #@TestIssue 453
+ #@TestPurpose Test behavior with userdn equals null
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_bindtypes_028" scope="local">
+ <testcase name="getTestCaseName('userdn with null value')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userdn with null value, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName syntax - userattr is null
+ #@TestIssue 455
+ #@TestPurpose Test behavior with userattr equals null
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_bindtypes_029" scope="local">
+ <testcase name="getTestCaseName('userattr with null value')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userattr with null value, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName syntax - roledn
+ #@TestIssue 1577
+ #@TestPurpose Test behavior with roledn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_bindtypes_030" scope="local">
+ <testcase name="getTestCaseName('roledn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: roledn, adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- UserDN tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName userdn with filter
+ #@TestIssue 454
+ #@TestPurpose Test behavior with userdn and filter
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn as a group member.
+ #@TestStep Client searches entry in a non-targeted branch dn as a group member.
+ #@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.
+ -->
+ <function name="aci_bindtypes_031" scope="local">
+ <testcase name="getTestCaseName('groupdn equals userdn with filter')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_userdn_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_bindtypes/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Bind Types: userdn with filter, preamble adding aci,\n %s' % curr_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_bindtypes/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userdn with filter, user searching targeted entry with group member'
+ </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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'roomnumber=4135' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userdn with filter, user searching in non-targeted branch with group member'
+ </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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'roomnumber=4135' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=Bind Type Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userdn with filter, 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_bindtypes/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: userdn with filter, 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=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'roomnumber=4135' ,
+ 'extraParams' : '-T'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- authmethod tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName authmethod equals none
+ #@TestIssue 460
+ #@TestPurpose Test bind where an ACI authmethod equals none applies.
+ #@TestPreamble none
+ #@TestStep Anonymous search.
+ #@TestStep Admin adds ACI.
+ #@TestStep Anonymous search.
+ #@TestStep Admin deletes ACI.
+ #@TestStep Anonymous search.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0 for all ldap operations.
+ Entry returned for step 3.
+ -->
+ <function name="aci_bindtypes_032" scope="local">
+ <testcase name="getTestCaseName('authmethod equals none')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Bind Types: authmethod equals none, anonymous search'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: authmethod equals none, adding authmethod ACI'
+ </message>
+
+ <script>
+ curr_aci="(targetattr=\"*\")(version 3.0; acl \"aci1\"; allow (read,search,compare) authmethod=\"none\";)"
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: authmethod equals none, anonymous search'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: authmethod equals none, deleting authmethod ACI'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Bind Types: authmethod equals none, anonymous search'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'uid=dmiller,ou=People,ou=aci branch,o=Bind Type Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName Postamble
+ #@TestIssue 454
+ #@TestPurpose Reset environment.
+ #@TestPreamble none
+ #@TestStep Admin removes entries.
+ #@TestStep Admin reset global aci search permissions.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+ -->
+ <function name="aci_bindtypes_033" scope="local">
+ <testcase name="getTestCaseName('Bindtypes Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Bind Types: Postamble - deleting entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Bind Type Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ <message>
+ 'ACI: Bind Types: Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry.xml
new file mode 100644
index 0000000..f856ab1
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_compare_entry"/>
+ <function name="aci_compare_entry" scope="local">
+ <sequence>
+ <block name="'aci_compare_entry'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'compare_entry'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Compare Entry'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Compare Entry Tests
+ #@TestSuitePurpose Verify that ACI compare_entrys are functioning correctly
+ #@TestSuiteID ACI Compare Entry Tests
+ #@TestSuiteGroup ACI Compare Entry
+ #@TestGroup ACI
+ #@TestScript compare_entry.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('compare_entry/compare_entry_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Compare Entry:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_compare_entry_001')
+ testsList.append('aci_compare_entry_002')
+ testsList.append('aci_compare_entry_003')
+ testsList.append('aci_compare_entry_004')
+ testsList.append('aci_compare_entry_005')
+ testsList.append('aci_compare_entry_006')
+ testsList.append('aci_compare_entry_007')
+ testsList.append('aci_compare_entry_008')
+ testsList.append('aci_compare_entry_009')
+ testsList.append('aci_compare_entry_010')
+ testsList.append('aci_compare_entry_011')
+ testsList.append('aci_compare_entry_012')
+ testsList.append('aci_compare_entry_013')
+ testsList.append('aci_compare_entry_014')
+ testsList.append('aci_compare_entry_015')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry_tests.xml
new file mode 100644
index 0000000..447f829
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/compare_entry/compare_entry_tests.xml
@@ -0,0 +1,1931 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Preamble
+ #@TestIssue 441
+ #@TestPurpose Modify global ACIs
+ #@TestPreamble none
+ #@TestStep Directory Manager removes global ACI allowing compares
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="aci_compare_entry_001" scope="local">
+ <testcase name="getTestCaseName('Compare Entry Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Comparet: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - userdn equals all
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals all
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ The return string for step 1 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_002" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - userdn equals all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals all, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals all, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals all, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals all, 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals all, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - userdn not equals a dn
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI where userdn not equals a dn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch with a prohibited user.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ The return string for step 1 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_003" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - userdn not equals a dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a dn, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a dn, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - userdn equals a branch dn
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals a branch dn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_compare_entry_004" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - userdn equals a branch dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals a branch dn, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals a branch 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals a branch dn, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - userdn not equals a branch dn
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals a branch dn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ The return string for steps 1 and 2 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_005" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - userdn not equals a branch dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a branch dn, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a branch 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals a branch dn, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - userdn equals two dns
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals two dns
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ The return string for steps 1 and 2 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_006" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - userdn equals two dns')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals two dns, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals two dns, 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn equals two dns, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - userdn not equals two dns
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI where userdn equals a branch dn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch with another user.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_compare_entry_007" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - userdn not equals two dns')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals two dns, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals two dns, 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn not equals two dns, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - compare not allowed
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI where compare is not allowed
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns
+ 50 for all ldapcompare steps.
+ -->
+ <function name="aci_compare_entry_008" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - compare not allowed')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - compare not allowed, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn compare not allowed, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn compare not allowed, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn compare not allowed, 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - userdn compare not allowed, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - targetattr with one attribute
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI with a targetattr with one attribute
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares a prohibited attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ The return string for step 1 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_009" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - targetattr with one attribute')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetattr with one attribute, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing prohibited attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'roomnumber:4376',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetattr with 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetattr with one attribute, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - targetfilter with one statement
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI with a targetfilter with one statement
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in a prohibited entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ The return string for step 1 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_010" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - targetfilter with one statement')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetfilter with one statement, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing prohibited attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'roomnumber:4376',
+ 'entryToBeCompared' : 'uid=jrunner, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetfilter with 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targetfilter with one statement, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - targattrfilters with add:,del:
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI with a targattrfilters with add:,del
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares a second attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ The return string for steps 1 and 2 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_011" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - targattrfilters with add:,del:')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing prohibited attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'roomnumber:4376',
+ 'entryToBeCompared' : 'uid=jrunner, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'false' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - targattrfilters with add:,del:, returns false
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against an ACI with a targattrfilters with add:,del
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Client compares a second attribute in an entry in the targeted branch.
+ #@TestStep Client compares an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ The return string for steps 1 and 2 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_012" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - targattrfilters with add:,del:, returns false')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing prohibited attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'roomnumber:4376',
+ 'entryToBeCompared' : 'uid=jrunner, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'false' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing attribute in non-targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=non-aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, 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_compare_tests/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - targattrfilters with add:,del:, returns false, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - Multi ACIs 1, overall deny
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against two ACIs, overall deny
+ #@TestPreamble Admin adds acis.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 50 for all other steps.
+ -->
+ <function name="aci_compare_entry_013" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - Multi ACIs 1, overall deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, 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_compare_tests/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 1, overall deny, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Compare Attr - Multi ACIs 2, overall allow
+ #@TestIssue 441
+ #@TestPurpose Compare an attribute in an entry against two ACIs, overall allow
+ #@TestPreamble Admin adds acis.
+ #@TestStep Client compares an attribute in an entry in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client compares an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ The return string for step 1 is evaluated to contain the substring, true.
+ -->
+ <function name="aci_compare_entry_014" scope="local">
+ <testcase name="getTestCaseName('Compare Attr - Multi ACIs 2, overall allow')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_compare_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, preamble adding aci,\n %s' % curr_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_compare_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, user comparing attribute in targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'true' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, 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_compare_tests/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Compare: Compare Attr - Multi ACIs 2, overall allow, user comparing attribute in previously targeted branch'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Cupertino',
+ 'entryToBeCompared' : 'uid=jreuter, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Compare Tests
+ #@TestName Postamble
+ #@TestIssue 441
+ #@TestPurpose Reset global ACI to default settings
+ #@TestPreamble none
+ #@TestStep Directory Manager replaces default global aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="aci_compare_entry_015" scope="local">
+ <testcase name="getTestCaseName('Compare Entry Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Compare: Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry.xml
new file mode 100644
index 0000000..c7b6e17
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_delete_entry"/>
+ <function name="aci_delete_entry" scope="local">
+ <sequence>
+ <block name="'aci_delete_entry'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'delete_entry'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Delete Entry'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Delete Entry Tests
+ #@TestSuitePurpose Verify that ACI delete_entrys are functioning correctly
+ #@TestSuiteID ACI Delete Entry Tests
+ #@TestSuiteGroup ACI Delete Entry
+ #@TestGroup ACI
+ #@TestScript aci_delete_entry.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('delete_entry/delete_entry_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Delete Entry:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_delete_entry_001')
+ testsList.append('aci_delete_entry_002')
+ testsList.append('aci_delete_entry_003')
+ testsList.append('aci_delete_entry_004')
+ testsList.append('aci_delete_entry_005')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry_tests.xml
new file mode 100644
index 0000000..469f84f
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/delete_entry/delete_entry_tests.xml
@@ -0,0 +1,2425 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Preamble
+ #@TestIssue 442
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Add extra entries that will be deleted in the tests.
+ #@TestStep Directory Manager searches entry in a branch.
+ #@TestStep Directory Manager searches entry in another branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+
+ -->
+ <function name="aci_delete_entry_001" scope="local">
+ <testcase name="getTestCaseName('Delete Entry Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Delete: Preamble - Adding Entries For Delete Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_delete_entry/aci_startup_delete_entry_tests.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Preamble - Directory Manager searching entry that will be in targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <message>
+ 'ACI: Delete: Preamble - Directory Manager searching entry that will be in non-targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- general allow(delete) tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - userdn equals all
+ #@TestIssue 442
+ #@TestPurpose Delete an entry
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Directory Manager searches for deleted entry in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 32 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_002" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - userdn equals all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-delete_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals all, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals all, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals all, Directory Manager searching deleted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=bhall,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals all, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals all, 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals all, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - userdn equals a dn
+ #@TestIssue 442
+ #@TestPurpose Delete an entry
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Directory Manager searches deleted entry in the targeted branch.
+ #@TestStep Client deletes an entry in the targeted branch with a prohibited userdn.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 32 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_003" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - userdn equals a dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-delete_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals a dn, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals a dn, Directory Manager searching deleted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=tmason,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry from targeted branch with prohibited userdn'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals a 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn equals a dn, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - userdn not equals a dn
+ #@TestIssue 442
+ #@TestPurpose Delete an entry
+ #@TestPreamble Admin adds an aci with the target not equal to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Directory Manager searches deleted entry in the targeted branch.
+ #@TestStep Client deletes an entry with a prohibited userdn in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 32 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_004" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - userdn not equals a dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-delete_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn not equals a dn, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn not equals a dn, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn not equals a dn, Directory Manager searching deleted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=jreuter,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn not equals a dn, prohibited user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry3.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn not equals a dn, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-delete_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn not equals a 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - userdn not equals a dn, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - delete not allowed
+ #@TestIssue 442
+ #@TestPurpose Delete an entry when delete is not allowed
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_005" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - delete not allowed')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-write_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete not allowed, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete not allowed, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_allow-write_entry1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete not allowed, 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete not allowed, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- targetfilter tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targetfilter with one statement
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targetfilter with one statement
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry with the targeted branch.
+ #@TestStep Directory Manager searches deleted entry with the targeted branch.
+ #@TestStep Client deletes an entry that is not with the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 32 for step2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_006" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetfilter equals one statement')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetfilter_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals one statement, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals one statement, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals one statement, Directory Manager searching deleted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=rdaugherty,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals one statement, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals one statement, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targetfilter with three statements (or) all false
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targetfilter with three statements (or) all false
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry with the targeted branch.
+ #@TestStep Client deletes an entry that is not with the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_007" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetfilter equals three statements (or) all false')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetfilter_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals othree statements (or) all false, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (or) all false, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targetfilter not equals three statements (or) all false
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targetfilter not equal three statements (or) all false
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_008" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetfilter not equals three statements (or) all false')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetfilter_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter not equals three statements (or) all false, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targetfilter with three statements (and) all true
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targetfilter with three statements (and) all true
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_009" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetfilter equals three statements (and) all true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetfilter_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals othree statements (and) all true, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (and) all true, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (and) all true, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three statements (and) all true, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targetfilter contains attribute not present
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targetfilter containing attribute not present
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_010" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetfilter contains attribute not present')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetfilter_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetfilter_entry5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter contains attribute not present, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+<!-- targetattr tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targetattr equals three attributes
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targetattr equal to three attributes
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_011" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetattr equals three attributes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetattr_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three attributes, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three attributes, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three attributes, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals three attributes, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targetattr equals attribute not present
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targetattr equal to attribute not present
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_012" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetattr equals attribute not present')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targetattr_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetattr equals attribute not present, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetattr equals attribute not present, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetattr equals attribute not present, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targetattr_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetattr equals attribute not present, 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetattr equals attribute not present, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- targattrfilter tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - targattrfilter equals attr value
+ #@TestIssue 442
+ #@TestPurpose Test delete with ACI that has targattrfilter equals attribute value
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client deletes an entry in the targeted branch.
+ #@TestStep Client deletes an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_013" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - targetattr equals attr value')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_targattrfilter_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals attr value, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals attr value, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targattrfilter_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals attr value, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_targattrfilter_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals attr value, 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - targetfilter equals attr value, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - delete branch
+ #@TestIssue 442
+ #@TestPurpose Delete a branch
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes a branch in the targeted branch.
+ #@TestStep Directory Manager searches in deleted branch in the targeted branch.
+ #@TestStep Client deletes a branch that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_014" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - delete branch')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch, o=Delete Tests, o=ACI Tests, dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_allow-delete_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete branch, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete branch, user deleting branch from targeted branch'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'ou=extra branch 1, ou=aci branch, o=Delete Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete branch, Directory Manager searching deleted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=extra branch 1, ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete branch, user deleting branch from non-targeted branch'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'ou=extra branch 1, ou=non-aci branch, o=Delete Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x',
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch, o=Delete Tests, o=ACI Tests, dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - delete 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_delete_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- multiple ACI tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - Multi ACIs 1, overall deny
+ #@TestIssue 442
+ #@TestPurpose Test delete with 2 ACIs, overall deny
+ #@TestPreamble Admin adds two acis.
+ #@TestStep Client deletes an entry with the targeted branch.
+ #@TestStep Client deletes an entry that is not with the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_015" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - multi ACIs 1, overall deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 1, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 1, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 1, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 1, 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_delete_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 1, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - Multi ACIs 2, overall allow
+ #@TestIssue 442
+ #@TestPurpose Test delete with 2 ACIs, overall allow
+ #@TestPreamble Admin adds two acis.
+ #@TestStep Client deletes an entry with the targeted branch.
+ #@TestStep Client deletes an entry that is not with the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_016" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - multi ACIs 2, overall allow')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 2, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 2, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 2, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 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_delete_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 2, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - Multi ACIs 3, mixed allow and deny
+ #@TestIssue 442
+ #@TestPurpose Test delete with 2 ACIs, mixed allow and deny
+ #@TestPreamble Admin adds two acis.
+ #@TestStep Client deletes an entry with the targeted branch by a prohibited userdn.
+ #@TestStep Client deletes an entry with the targeted branch.
+ #@TestStep Client deletes an entry that is not with the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_017" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - multi ACIs 3, mixed allow and deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 3, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry from targeted branch by a prohibited userdn'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 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_delete_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 3, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - Multi ACIs 4, overall allow with many ACIs
+ #@TestIssue 442
+ #@TestPurpose Test delete with many ACIs, overall allow with many ACIs
+ #@TestPreamble Admin adds two acis.
+ #@TestStep Client deletes an entry with the targeted branch.
+ #@TestStep Client deletes an entry that is not with the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_018" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - multi ACIs 4, overall allow with many ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 4, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 4, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 4, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 4, 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_delete_entry/del_multi_acis2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 4, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Delete Entry - Multi ACIs 5, mixed allow and deny with many ACIs
+ #@TestIssue 442
+ #@TestPurpose Test delete with many ACIs, mixed allow and deny with many ACIs
+ #@TestPreamble Admin adds many acis, mixed allow and deny with many ACIs.
+ #@TestStep Client deletes an entry with the targeted branch by a prohibited userdn.
+ #@TestStep Client deletes an entry with the targeted branch.
+ #@TestStep Client deletes an entry that is not with the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an entry with the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_delete_entry_019" scope="local">
+ <testcase name="getTestCaseName('Delete Entry - multi ACIs 5, mixed allow and deny with many ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_multi_acis5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_delete_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 5, preamble adding aci,\n %s' % curr_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_delete_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry from targeted branch by a prohibited userdn'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_multi_aci_entry5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 5, 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_delete_entry/del_multi_acis2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Delete: Delete Entry - multi ACIs 5, user deleting entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_delete_entry/del_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Delete Entry Tests
+ #@TestName Postamble
+ #@TestIssue 442
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Directory Manager searches entry in a branch.
+ #@TestStep Directory Manager searches entry in another branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+
+ -->
+ <function name="aci_delete_entry_020" scope="local">
+ <testcase name="getTestCaseName('Delete Entry Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Delete: Postamble - Directory Manager searching entry that was targeted in targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ <message>
+ 'ACI: Delete: Postamble - Directory Manager searching entry that was in non-targeted branch'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=Delete Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights.xml
new file mode 100644
index 0000000..7344ad6
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_effective_rights"/>
+ <function name="aci_effective_rights" scope="local">
+ <sequence>
+ <block name="'aci_effective_rights'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'effective_rights'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Effective Rights'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Effective Rights Tests
+ #@TestSuitePurpose Verify that ACI effective_rights are functioning correctly
+ #@TestSuiteID ACI Effective Rights Tests
+ #@TestSuiteGroup ACI Effective Rights
+ #@TestGroup ACI
+ #@TestScript effective_rights.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('effective_rights/effective_rights_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Effective Rights:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_effective_rights_001')
+ testsList.append('aci_effective_rights_002')
+ testsList.append('aci_effective_rights_003')
+ testsList.append('aci_effective_rights_004')
+ testsList.append('aci_effective_rights_005')
+ testsList.append('aci_effective_rights_006')
+ testsList.append('aci_effective_rights_007')
+ testsList.append('aci_effective_rights_008')
+ testsList.append('aci_effective_rights_009')
+ testsList.append('aci_effective_rights_010')
+ testsList.append('aci_effective_rights_011')
+ testsList.append('aci_effective_rights_012')
+ testsList.append('aci_effective_rights_013')
+ testsList.append('aci_effective_rights_014')
+ testsList.append('aci_effective_rights_015')
+ testsList.append('aci_effective_rights_016')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights_tests.xml
new file mode 100644
index 0000000..11abaee
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/effective_rights/effective_rights_tests.xml
@@ -0,0 +1,2825 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Preamble
+ #@TestIssue 87
+ #@TestPurpose Prepare for effective rights tests
+ #@TestPreamble none
+ #@TestStep Admin removes global search ACI
+ #@TestStep Admin adds ACI to access effective rights
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+ -->
+ <function name="aci_effective_rights_001" scope="local">
+ <testcase name="getTestCaseName('Effective Rights Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Effective Rights: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <script>
+ allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_effrights_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Preamble - Admin adding get effective rights ACI,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - wildcard
+ #@TestIssue 1745
+ #@TestPurpose Test effective rights with wildcard
+ #@TestPreamble none
+ #@TestStep Admin searches for effective rights in an entry using the wildcard notation.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ proper entries are returned for all steps.
+ -->
+ <function name="aci_effective_rights_002" scope="local">
+ <testcase name="getTestCaseName('Basic - wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Effective Rights: Basic - wildcard, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=scarter' ,
+ 'attributes' : 'aclRights "*"' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com"' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;cn: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - read
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with read permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Admin searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Admin searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ no entries are returned for any step.
+ -->
+ <function name="aci_effective_rights_003" scope="local">
+ <testcase name="getTestCaseName('Basic - read')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - read, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:0,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:0,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - read, user searching non-targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - read, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - read, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - search
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with search permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ no entries are returned for any step.
+ -->
+ <function name="aci_effective_rights_004" scope="local">
+ <testcase name="getTestCaseName('Basic - search')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - search-read
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with search-read permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn as shown in doc example.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn with -J option.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_005" scope="local">
+ <testcase name="getTestCaseName('Basic - search-read')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read as doc example, 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' : 'aclRights "*"' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com"' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read with -J option, 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' : 'aclRights' ,
+ 'extraParams' : '-T -J effectiveRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - search-read in separate ACIs
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with search-read permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_006" scope="local">
+ <testcase name="getTestCaseName('Basic - search-read, separate ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, separate ACIs, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - search-read, separate ACIs, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - compare
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with compare permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ and the attributeLevel permissions are 1 for search, read and compare for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_007" scope="local">
+ <testcase name="getTestCaseName('Basic - compare')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - compare, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - compare, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:1,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:1,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - compare, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - compare, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - compare, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - add
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with add permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_008" scope="local">
+ <testcase name="getTestCaseName('Basic - add')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - add, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - add, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:1,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - add, 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' : 'ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - add, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - add, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - delete
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with delete permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read and delete,
+ and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_009" scope="local">
+ <testcase name="getTestCaseName('Basic - delete')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - delete, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - delete, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:1,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - delete, 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' : 'ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - delete, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - delete, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - write
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with write permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read and write,
+ and the attributeLevel permissions are 1 for search, read, write, selfwrite_add and selfwrite_delete for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_010" scope="local">
+ <testcase name="getTestCaseName('Basic - write')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - write, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - write, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:1,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:1,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:1,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - write, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - write, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - write, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - proxy
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with proxy permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read and proxy,
+ and the attributeLevel permissions are 1 for search, read, and proxy for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_011" scope="local">
+ <testcase name="getTestCaseName('Basic - proxy')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - proxy, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - proxy, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:1' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:1' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:1' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - proxy, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - proxy, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - proxy, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - selfwrite
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with selfwrite permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read and write,
+ and the attributeLevel permissions are 1 for search, read, selfwrite_add and selfwrite_delete for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_012" scope="local">
+ <testcase name="getTestCaseName('Basic - selfwrite')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - selfwrite, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - selfwrite, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - selfwrite, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - selfwrite, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - selfwrite, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - all
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with all permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for all options but proxy,
+ and the attributeLevel permissions are 1 for all options but proxy for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_013" scope="local">
+ <testcase name="getTestCaseName('Basic - all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - all, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - all, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:1,delete:1,read:1,write:1,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:1,write:1,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:1,write:1,selfwrite_add:1,selfwrite_delete:1,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - all, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - all, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - all, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - export
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with export permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_014" scope="local">
+ <testcase name="getTestCaseName('Basic - export')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci12.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - export, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - export, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - export, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - export, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - export, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - import
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with import permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ and the attributeLevel permissions are 1 for search and read for uid and roomnumber.
+ -->
+ <function name="aci_effective_rights_015" scope="local">
+ <testcase name="getTestCaseName('Basic - import')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci13.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: Basic - import, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - import, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - import, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - import, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Basic - import, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - targetattr with search,read
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with targetattr with search,read permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ the attributeLevel permissions are 1 for search and read for roomnumber,
+ and all attribute permissions are 0 for uid.
+ -->
+ <function name="aci_effective_rights_016" scope="local">
+ <testcase name="getTestCaseName('targetattr with search,read')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci21.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with search,read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with search,read, 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' : 'roomnumber=*' ,
+ 'attributes' : 'uid aclRights roomnumber cn' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with search,read, 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' : 'roomnumber=*' ,
+ 'attributes' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with search,read, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with search,read, 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' : 'roomnumber=*' ,
+ 'attributes' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Effective Rights Tests
+ #@TestName Effective Rights - targetattr with search,read
+ #@TestIssue 87
+ #@TestPurpose Test effective rights with targetattr with search,read permission
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ an entry is returned for step 1.
+ Also, for step 1, the entryLevel permission is 1 for read,
+ the attributeLevel permissions are 1 for search and read for uid,
+ and all attribute permissions are 0 for roomnumber.
+ -->
+ <function name="aci_effective_rights_017" scope="local">
+ <testcase name="getTestCaseName('targetattr with not equal and search,read')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci22.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_effective_rights/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with not equal and search,read, preamble adding aci,\n %s' % curr_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_effective_rights/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with not equal and search,read, 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' : 'uid=*' ,
+ 'attributes' : 'uid aclRights roomnumber cn' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:1,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:0,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with not equal and search,read, 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' : 'uid=*' ,
+ 'attributes' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with not equal and search,read, 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_effective_rights/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: targetattr with not equal and search,read, 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' : 'uid=*' ,
+ 'attributes' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Postamble
+ #@TestIssue 87
+ #@TestPurpose Reset effective rights tests
+ #@TestPreamble none
+ #@TestStep Admin deletes ACI to access effective rights
+ #@TestStep Admin puts back global search ACI
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+ -->
+ <function name="aci_effective_rights_018" scope="local">
+ <testcase name="getTestCaseName('Effective Rights Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Effective Rights: Postamble - Admin deleting get effective rights 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_effective_rights/del_effrights_aci.ldif' % (remote.data) }
+ </call>
+
+ <script>
+ allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Effective Rights: Preamble - putting back Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis.xml
deleted file mode 100755
index baaa1d6..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis.xml
+++ /dev/null
@@ -1,951 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="global_acis"/>
-
- <function name="global_acis" scope="local">
-
- <sequence>
-
- <block name="'global-acis'">
-
- <try>
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName ACI Global Tests
- #@TestSuitePurpose Test the basic global ACI Support.
- #@TestSuiteGroup Global ACI Tests
- #@TestScript global_acis.xml
- -->
-
- <call function="'common_setup'">
- {
- 'stopServer' : False,
- 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data
- }
- </call>
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker ACI Global Tests
- #@TestName Global ACI Search
- #@TestIssue 1402
- #@TestPurpose Search against default global acis
- #@TestPreamble none
- #@TestStep Client searches entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- The attributes, sn and dn, should be returned
- but not userpassword.
- -->
- <testcase name="getTestCaseName('Search')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, user searching 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 userpassword' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'sn' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'userpassword' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : '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 Global Tests
- #@TestName Global ACI Search - One operational attribute for one entry
- #@TestIssue 1622
- #@TestPurpose Search one operational attribute for one entry against default global acis
- #@TestPreamble none
- #@TestStep Client searches one operational attribute of an entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- The attributes, creatorsname and dn, should be returned.
- -->
- <testcase name="getTestCaseName('Search Operational Attribute of an entry')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, user searching operational attribute of an 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' : 'creatorsName'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'creatorsName' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : '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 Global Tests
- #@TestName Global ACI Search - All operational attributes for one entry
- #@TestIssue 1622
- #@TestPurpose Search all operational attributes for one entry against default global acis
- #@TestPreamble Admin modify entry so there are modifyTimestamp and modifiersName attributes
- #@TestStep Client searches all operational attributes of an entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- Six attributes and the dn should be returned.
- -->
- <testcase name="getTestCaseName('Search All Operational Attributes of an entry')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, admin modifying entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/global_acis/mod_modifier_entry1.ldif' % (remote.data) }
- </call>
-
- <message>
- 'ACI: Global: Search, user searching all operational attributes of an 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' : '+'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'creatorsName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'createTimestamp:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'entryDN:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'modifiersName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'modifyTimestamp' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'subschemaSubentry:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : '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 Global Tests
- #@TestName Global ACI Search - One operational attribute for cn=schema
- #@TestIssue 1622
- #@TestPurpose Search one operational attribute for cn=schema against default global acis
- #@TestPreamble none
- #@TestStep Client searches one operational attribute of cn=schema.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- The attributes, matchingrules and dn, should be returned.
- -->
- <testcase name="getTestCaseName('Search Operational Attribute, cn=schema')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, user searching operational attribute of cn=schema'
- </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' : 'cn=schema' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'matchingRules' ,
- 'extraParams' : '-T -s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'matchingRules:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: cn=schema' }
- </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 Global Tests
- #@TestName Global ACI Search - All operational attributes for cn=schema
- #@TestIssue 1622
- #@TestPurpose Search all operational attributes for cn=schema against default global acis
- #@TestPreamble none
- #@TestStep Client searches all operational attributes of cn=schema.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- Six attributes and the dn should be returned.
- -->
- <testcase name="getTestCaseName('Search All Operational Attributes, cn=schema')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, user searching operational attribute of cn=schema'
- </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' : 'cn=schema' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : '+' ,
- 'extraParams' : '-T -s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'attributeTypes:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dITStructureRules:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'ldapSyntaxes:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'matchingRules:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'nameForms:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'objectClasses:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: cn=schema' }
- </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 Global Tests
- #@TestName Global ACI Search - One operational attribute for root dse
- #@TestIssue 1622
- #@TestPurpose Search one operational attribute for root dse against default global acis
- #@TestPreamble none
- #@TestStep Client searches one operational attribute of root dse.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- The attributes, vendorname and dn, should be returned.
- -->
- <testcase name="getTestCaseName('Search Operational Attribute, root dse')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, user searching operational attribute of root dse'
- </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' : ' ' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'vendorName' ,
- 'extraParams' : '-T -s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'vendorName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: ' }
- </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 Global Tests
- #@TestName Global ACI Search - All operational attributes for root dse
- #@TestIssue 1622
- #@TestPurpose Search all operational attributes for root dse against default global acis
- #@TestPreamble none
- #@TestStep Client searches all operational attributes of root dse.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- Eight attributes and the dn should be returned.
- -->
- <testcase name="getTestCaseName('Search All Operational Attribute, root dse')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, user searching operational attribute of root dse'
- </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' : ' ' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : '+' ,
- 'extraParams' : '-T -s base' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'namingContexts:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'supportedAuthPasswordSchemes:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'supportedControl:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'supportedExtension:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'supportedFeatures:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'supportedSASLMechanisms:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'vendorName:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'vendorVersion:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'dn: ' }
- </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 Global Tests
- #@TestName Global ACI Search - All operational attributes for cn=config
- #@TestIssue 1622
- #@TestPurpose Search all operational attributes for cn=config against default global acis
- #@TestPreamble none
- #@TestStep Client searches all operational attributes for cn=config.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 50.
- -->
- <testcase name="getTestCaseName('Search Operational Attribute, cn=config')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Search, user searching operational attribute of an 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' : 'cn=config' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : '+' ,
- 'expectedRC' : 50
- }
- </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 Global Tests
- #@TestName Global ACI Search - Anonymous
- #@TestIssue 1621
- #@TestPurpose Anonymous search against default global acis
- #@TestPreamble none
- #@TestStep Client searches entry as anonymous.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entry for step 1.
- The attributes, uid, sn and dn, should be returned for specified dn.
- -->
- <testcase name="getTestCaseName('Anon Search')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: AnonSearch, user searching entry'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' ,
- 'dsFilter' : '(uid=scarter)'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'sn' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : '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 Global Tests
- #@TestName Global ACI Search - Anonymous with not equals filter
- #@TestIssue 1621
- #@TestPurpose Anonymous search with not equals filter against default global acis
- #@TestPreamble none
- #@TestStep Client searches entry as anonymous with not equals filter
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and entries for step 1.
- The attributes, uid, sn and dn, should be returned for all other entries but the
- for the specified dn.
- -->
- <testcase name="getTestCaseName('Anon Search, not equals filter')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: AnonSearch, not equals filter, user searching entry'
- </message>
-
- <call function="'AnonSearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsBaseDN' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'extraParams' : '-T' ,
- 'dsFilter' : '(!(uid=scarter))'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'sn' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'uid' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : '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 Global Tests
- #@TestName Global ACI Compare
- #@TestIssue 1402
- #@TestPurpose Compare against default global acis
- #@TestPreamble none
- #@TestStep Client compares attribute in an entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- and returns true for step 1.
- -->
- <testcase name="getTestCaseName('Compare')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Compare, user comparing entry'
- </message>
-
- <call function="'compareEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'attrToBeCompared' : 'l:Santa Clara',
- 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'checktestString'">
- { 'returnString' : returnString ,
- 'expectedString' : 'true' }
- </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 Global Tests
- #@TestName Global ACI Modify
- #@TestIssue 1402
- #@TestPurpose Modify against default global acis
- #@TestPreamble none
- #@TestStep Client modifies attribute in an entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 50.
- -->
- <testcase name="getTestCaseName('Modify')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Modify, user modifying entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/global_acis/mod_entry1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Global Tests
- #@TestName Global ACI Delete
- #@TestIssue 1402
- #@TestPurpose Delete against default global acis
- #@TestPreamble none
- #@TestStep Client deletes an entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 50.
- -->
- <testcase name="getTestCaseName('Delete')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Delete, user deleting entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/global_acis/del_entry1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Global Tests
- #@TestName Global ACI Modify RDN
- #@TestIssue 1402
- #@TestPurpose Modify RDN against default global acis
- #@TestPreamble none
- #@TestStep Client modifies the RDN of an entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 50.
- -->
- <testcase name="getTestCaseName('Modify RDN')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Modify RDN, user modifying rdn of an entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/global_acis/modrdn_entry1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Global Tests
- #@TestName Global ACI Modify Self
- #@TestIssue 1402
- #@TestPurpose Modify self against default global acis
- #@TestPreamble none
- #@TestStep Client modifies allowed attribute in the user entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <testcase name="getTestCaseName('Self Modify Allow')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Self Modify Allow, user modifying itself'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/global_acis/mod_entry3.ldif' % remote.data }
- </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 Global Tests
- #@TestName Global ACI Modify Self
- #@TestIssue 1402
- #@TestPurpose Modify self against default global acis
- #@TestPreamble none
- #@TestStep Client modifies denied attribute in the user entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 50.
- -->
- <testcase name="getTestCaseName('Self Modify Deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <message>
- 'ACI: Global: Self Modify Deny, user modifying itself'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/global_acis/mod_entry2.ldif' % remote.data ,
- 'expectedRC' : 50 }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
- </sequence>
-
- <finally>
- <sequence>
- <!-- Test Suite Cleanup -->
- <message>'Finally: Global ACI Cleanup.'</message>
- <try>
- <call function="'common_cleanup'" />
- <catch exception="'STAFException'">
- <sequence>
- <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
- </sequence>
- </catch>
- <finally>
- <call function="'testSuite_Postamble'"/>
- </finally>
- </try>
- </sequence>
- </finally>
-
- </try>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis.xml
new file mode 100644
index 0000000..824ec85
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_global_acis"/>
+ <function name="aci_global_acis" scope="local">
+ <sequence>
+ <block name="'aci_global_acis'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'global'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI GlobalACIs'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI GlobalACIs Tests
+ #@TestSuitePurpose Verify that global ACIs are functioning correctly
+ #@TestSuiteID GlobalACIs Tests
+ #@TestSuiteGroup GlobalACIs
+ #@TestGroup ACI
+ #@TestScript global_acis.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('global_acis/global_acis_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: GlobalACIs:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('global_acis_001')
+ testsList.append('global_acis_002')
+ testsList.append('global_acis_003')
+ testsList.append('global_acis_004')
+ testsList.append('global_acis_005')
+ testsList.append('global_acis_006')
+ testsList.append('global_acis_007')
+ testsList.append('global_acis_008')
+ testsList.append('global_acis_009')
+ testsList.append('global_acis_010')
+ testsList.append('global_acis_011')
+ testsList.append('global_acis_012')
+ testsList.append('global_acis_013')
+ testsList.append('global_acis_014')
+ testsList.append('global_acis_015')
+ testsList.append('global_acis_016')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis_tests.xml
new file mode 100644
index 0000000..5e178c0
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/global_acis/global_acis_tests.xml
@@ -0,0 +1,1207 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search
+ #@TestIssue 1402
+ #@TestPurpose Search against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ The attributes, sn and dn, should be returned
+ but not userpassword.
+ -->
+ <function name="global_acis_001" scope="local">
+ <testcase name="getTestCaseName('Search')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, user searching 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 userpassword' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'sn' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'userpassword' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - One operational attribute for one entry
+ #@TestIssue 1622
+ #@TestPurpose Search one operational attribute for one entry against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches one operational attribute of an entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ The attributes, creatorsname and dn, should be returned.
+ -->
+ <function name="global_acis_002" scope="local">
+ <testcase name="getTestCaseName('Search Operational Attribute of an entry')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, user searching operational attribute of an 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' : 'creatorsName'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'creatorsName' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - All operational attributes for one entry
+ #@TestIssue 1622
+ #@TestPurpose Search all operational attributes for one entry against default global acis
+ #@TestPreamble Admin modify entry so there are modifyTimestamp and modifiersName attributes
+ #@TestStep Client searches all operational attributes of an entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ Six attributes and the dn should be returned.
+ -->
+ <function name="global_acis_003" scope="local">
+ <testcase name="getTestCaseName('Search All Operational Attributes of an entry')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, admin modifying entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/global_acis/mod_modifier_entry1.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Global: Search, user searching all operational attributes of an 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' : '+'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'creatorsName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'createTimestamp:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryDN:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'modifiersName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'modifyTimestamp' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'subschemaSubentry:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - One operational attribute for cn=schema
+ #@TestIssue 1622
+ #@TestPurpose Search one operational attribute for cn=schema against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches one operational attribute of cn=schema.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ The attributes, matchingrules and dn, should be returned.
+ -->
+ <function name="global_acis_004" scope="local">
+ <testcase name="getTestCaseName('Search Operational Attribute, cn=schema')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, user searching operational attribute of cn=schema'
+ </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' : 'cn=schema' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'matchingRules' ,
+ 'extraParams' : '-T -s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'matchingRules:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: cn=schema' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - All operational attributes for cn=schema
+ #@TestIssue 1622
+ #@TestPurpose Search all operational attributes for cn=schema against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches all operational attributes of cn=schema.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ Six attributes and the dn should be returned.
+ -->
+ <function name="global_acis_005" scope="local">
+ <testcase name="getTestCaseName('Search All Operational Attributes, cn=schema')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, user searching operational attribute of cn=schema'
+ </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' : 'cn=schema' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : '+' ,
+ 'extraParams' : '-T -s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeTypes:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dITStructureRules:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'ldapSyntaxes:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'matchingRules:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'nameForms:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'objectClasses:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: cn=schema' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - One operational attribute for root dse
+ #@TestIssue 1622
+ #@TestPurpose Search one operational attribute for root dse against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches one operational attribute of root dse.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ The attributes, vendorname and dn, should be returned.
+ -->
+ <function name="global_acis_006" scope="local">
+ <testcase name="getTestCaseName('Search Operational Attribute, root dse')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, user searching operational attribute of root dse'
+ </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' : ' ' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'vendorName' ,
+ 'extraParams' : '-T -s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'vendorName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: ' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - All operational attributes for root dse
+ #@TestIssue 1622
+ #@TestPurpose Search all operational attributes for root dse against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches all operational attributes of root dse.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ Eight attributes and the dn should be returned.
+ -->
+ <function name="global_acis_007" scope="local">
+ <testcase name="getTestCaseName('Search All Operational Attribute, root dse')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, user searching operational attribute of root dse'
+ </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' : ' ' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : '+' ,
+ 'extraParams' : '-T -s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'namingContexts:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'supportedAuthPasswordSchemes:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'supportedControl:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'supportedExtension:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'supportedFeatures:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'supportedSASLMechanisms:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'vendorName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'vendorVersion:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: ' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - All operational attributes for cn=config
+ #@TestIssue 1622
+ #@TestPurpose Search all operational attributes for cn=config against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches all operational attributes for cn=config.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 50.
+ -->
+ <function name="global_acis_008" scope="local">
+ <testcase name="getTestCaseName('Search Operational Attribute, cn=config')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Search, user searching operational attribute of an 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' : 'cn=config' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : '+' ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - Anonymous
+ #@TestIssue 1621
+ #@TestPurpose Anonymous search against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches entry as anonymous.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entry for step 1.
+ The attributes, uid, sn and dn, should be returned for specified dn.
+ -->
+ <function name="global_acis_009" scope="local">
+ <testcase name="getTestCaseName('Anon Search')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: AnonSearch, user searching entry'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' ,
+ 'dsFilter' : '(uid=scarter)'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'sn' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Search - Anonymous with not equals filter
+ #@TestIssue 1621
+ #@TestPurpose Anonymous search with not equals filter against default global acis
+ #@TestPreamble none
+ #@TestStep Client searches entry as anonymous with not equals filter
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and entries for step 1.
+ The attributes, uid, sn and dn, should be returned for all other entries but the
+ for the specified dn.
+ -->
+ <function name="global_acis_010" scope="local">
+ <testcase name="getTestCaseName('Anon Search, not equals filter')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: AnonSearch, not equals filter, user searching entry'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' ,
+ 'dsFilter' : '(!(uid=scarter))'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'sn' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Compare
+ #@TestIssue 1402
+ #@TestPurpose Compare against default global acis
+ #@TestPreamble none
+ #@TestStep Client compares attribute in an entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and returns true for step 1.
+ -->
+ <function name="global_acis_011" scope="local">
+ <testcase name="getTestCaseName('Compare')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Compare, user comparing entry'
+ </message>
+
+ <call function="'compareEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'attrToBeCompared' : 'l:Santa Clara',
+ 'entryToBeCompared' : 'uid=tclow, ou=People, ou=aci branch, o=ACI Tests, dc=example,dc=com' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'true' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Modify
+ #@TestIssue 1402
+ #@TestPurpose Modify against default global acis
+ #@TestPreamble none
+ #@TestStep Client modifies attribute in an entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 50.
+ -->
+ <function name="global_acis_012" scope="local">
+ <testcase name="getTestCaseName('Modify')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Modify, user modifying entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/global_acis/mod_entry1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Delete
+ #@TestIssue 1402
+ #@TestPurpose Delete against default global acis
+ #@TestPreamble none
+ #@TestStep Client deletes an entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 50.
+ -->
+ <function name="global_acis_013" scope="local">
+ <testcase name="getTestCaseName('Delete')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Delete, user deleting entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/global_acis/del_entry1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Modify RDN
+ #@TestIssue 1402
+ #@TestPurpose Modify RDN against default global acis
+ #@TestPreamble none
+ #@TestStep Client modifies the RDN of an entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 50.
+ -->
+ <function name="global_acis_014" scope="local">
+ <testcase name="getTestCaseName('Modify RDN')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Modify RDN, user modifying rdn of an entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/global_acis/modrdn_entry1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Modify Self
+ #@TestIssue 1402
+ #@TestPurpose Modify self against default global acis
+ #@TestPreamble none
+ #@TestStep Client modifies allowed attribute in the user entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="global_acis_015" scope="local">
+ <testcase name="getTestCaseName('Self Modify Allow')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Self Modify Allow, user modifying itself'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/global_acis/mod_entry3.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Global Tests
+ #@TestName Global ACI Modify Self
+ #@TestIssue 1402
+ #@TestPurpose Modify self against default global acis
+ #@TestPreamble none
+ #@TestStep Client modifies denied attribute in the user entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 50.
+ -->
+ <function name="global_acis_016" scope="local">
+ <testcase name="getTestCaseName('Self Modify Deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Global: Self Modify Deny, user modifying itself'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/global_acis/mod_entry2.ldif' % remote.data ,
+ 'expectedRC' : 50 }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import.xml
new file mode 100644
index 0000000..ccc1365
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_import"/>
+ <function name="aci_import" scope="local">
+ <sequence>
+ <block name="'aci_import'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'import'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Import'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Import Tests
+ #@TestSuitePurpose Verify that ACI imports are functioning correctly
+ #@TestSuiteID ACI Import Tests
+ #@TestSuiteGroup ACI Import
+ #@TestGroup ACI
+ #@TestScript import.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('import/import_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Import:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_import_001')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import_tests.xml
new file mode 100644
index 0000000..e758fa9
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/import/import_tests.xml
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Import Tests
+ #@TestName ldif-import with bad ACI
+ #@TestIssue 1758
+ #@TestPurpose ldif-import with bad ACI
+ #@TestPreamble none
+ #@TestStep Root user searching entry.
+ #@TestStep User searching entry.
+ #@TestStep Admin adding import task.
+ #@TestStep Root user searching entry.
+ #@TestStep User searching entry.
+ #@TestStep Admin adding leave lockdown task.
+ #@TestStep Root user searching entry.
+ #@TestStep User searching entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 49
+ for step 5, and 0
+ for all other ldap operations.
+ Proper entries returned for searches.
+ -->
+ <function name="aci_import_001" scope="local">
+ <testcase name="getTestCaseName('import-ldif with bad ACI')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Import: import-ldif with bad ACI, Admin searching entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: dc=example,dc=com' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Import: import-ldif with bad ACI, User searching 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' : 'dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: dc=example,dc=com' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Import: import-ldif with bad ACI, user adding import task'
+ </message>
+
+ <call function="'ImportLdifWithScript'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'ldifFile' : '%s/aci/aci_import/import_task.ldif' % remote.data
+ }
+ </call>
+
+ <if expr="STAFCmdRC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Import: import-ldif with bad ACI, Admin searching entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: dc=example,dc=com' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Import: import-ldif with bad ACI, User searching entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser, o=ACI Import Tests, dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' ,
+ 'expectedRC' : 49
+ }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <message>
+ 'Privileges: Import Tasks: import-ldif, user adding leave lockdown task'
+ </message>
+
+ <call function="'leaveLockdownTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'taskID' : 'Import Bad ACI Leave Lockdown Task'
+ }
+ </call>
+
+ <if expr="STAFCmdRC != 0">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Import: import-ldif with bad ACI, Admin searching entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: dc=example,dc=com' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Import: import-ldif with bad ACI, User searching entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser, o=ACI Import Tests, dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-s base' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: dc=example,dc=com' }
+ </call>
+
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry.xml
new file mode 100644
index 0000000..613415a
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry.xml
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_modify_entry"/>
+ <function name="aci_modify_entry" scope="local">
+ <sequence>
+ <block name="'aci_modify_entry'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'modify_entry'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Modify Entry'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Modify Entry Tests
+ #@TestSuitePurpose Verify that ACI modify_entrys are functioning correctly
+ #@TestSuiteID ACI Modify Entry Tests
+ #@TestSuiteGroup ACI Modify Entry
+ #@TestGroup ACI
+ #@TestScript aci_modify_entry.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('modify_entry/modify_entry_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Modify Entry:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_modify_entry_001')
+ testsList.append('aci_modify_entry_002')
+ testsList.append('aci_modify_entry_003')
+ testsList.append('aci_modify_entry_004')
+ testsList.append('aci_modify_entry_005')
+ testsList.append('aci_modify_entry_006')
+ testsList.append('aci_modify_entry_007')
+ testsList.append('aci_modify_entry_008')
+ testsList.append('aci_modify_entry_009')
+ testsList.append('aci_modify_entry_010')
+ testsList.append('aci_modify_entry_011')
+ testsList.append('aci_modify_entry_012')
+ testsList.append('aci_modify_entry_013')
+ testsList.append('aci_modify_entry_014')
+ testsList.append('aci_modify_entry_015')
+ testsList.append('aci_modify_entry_016')
+ testsList.append('aci_modify_entry_017')
+ testsList.append('aci_modify_entry_018')
+ testsList.append('aci_modify_entry_019')
+ testsList.append('aci_modify_entry_020')
+ testsList.append('aci_modify_entry_021')
+ testsList.append('aci_modify_entry_022')
+ testsList.append('aci_modify_entry_023')
+ testsList.append('aci_modify_entry_024')
+ testsList.append('aci_modify_entry_025')
+ testsList.append('aci_modify_entry_026')
+ testsList.append('aci_modify_entry_027')
+ testsList.append('aci_modify_entry_028')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry_tests.xml
new file mode 100644
index 0000000..5c16e0c
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_entry/modify_entry_tests.xml
@@ -0,0 +1,3532 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Preamble
+ #@TestIssue 444
+ #@TestPurpose Add additional entries
+ #@TestPreamble none
+ #@TestStep Directory Manager adds additional entries.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+
+ -->
+ <function name="aci_modify_entry_001" scope="local">
+ <testcase name="getTestCaseName('Modify Entry Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify: Preamble - Adding Entries For Modify Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_entry/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- replace attribute tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - userdn equals all
+ #@TestIssue 444
+ #@TestPurpose Modifies an attribute with targetattr=* and userdn =all
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_002" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - userdn equals all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - userdn equals all, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - userdn equals all, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - userdn equals all, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - userdn equals all, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - userdn equals all, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - targetattr equals three attributes
+ #@TestIssue 444
+ #@TestPurpose Modify an attribute where targetattr equals three attributes
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_003" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - targetattr equals three attributes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry2.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr equals three attributes, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - targetattr not equals three attributes
+ #@TestIssue 444
+ #@TestPurpose Modify an attribute with targetattr not equals three attributes
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_004" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - targetattr not equals three attributes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry3.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr not equals three attributes, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - write not allowed
+ #@TestIssue 444
+ #@TestPurpose Modify an attribute where write is not allowed
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_005" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - write not allowed')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - write not allowed, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_entry4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_entry4.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_entry4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - write not allowed, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - write not allowed, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - targetattr and targattrfilters
+ #@TestIssue 444
+ #@TestPurpose Modify an attribute with a combination of targetattr and targattrfilters
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies a prohibited attribute value by targattrfilter in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in a prohibited entry that is in the targeted branch.
+ #@TestStep Client modifies a prohibited attribute value by targetattr in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_006" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - targetattr and targattrfilter')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targattrfilter) in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying prohibited entry (by targattrfilter) from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targetattr) in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5.3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_entry5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, overall allow, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetattr and targattrfilter, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - targetfilter with three statements with or, one statement true
+ #@TestIssue 444
+ #@TestPurpose Modify an attribute with targetfilter with three statements with or, one statement true
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in a prohibited entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_007" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - targetfilter with three statements with or, one statement true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry6.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry6a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter with three statements with or, one statement true, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - targetfilter not equals three statements with and, all statements true
+ #@TestIssue 444
+ #@TestPurpose Modify an attribute with targetfilter not equals three statements with and, all statements true
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in a prohibited entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_008" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - targetfilter not equals three statements with and, all statements true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry7.1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_entry7a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - targetfilter not equals three statements with and, all statements true , user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - multiple ACIs 1, overall deny
+ #@TestIssue 444
+ #@TestPurpose Modify attribute value with 2 ACIs, overall deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_009" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 1, overall deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_multi_acis8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry8a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, 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_modify_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 1, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - multiple ACIs 2, overall allow
+ #@TestIssue 444
+ #@TestPurpose Modify attribute value with 2 ACIs, overall allow
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_010" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 2, overall allow')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_multi_acis9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry9a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 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_modify_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 2, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - multiple ACIs 3, mixed allow and deny
+ #@TestIssue 444
+ #@TestPurpose Modify attribute value with 2 ACIs, mixed allow and deny by userdn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry by a prohibited user in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_011" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 3, mixed allow and deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_multi_acis10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry by prohibited user from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry10.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry10.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry10a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 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_modify_entry/del_multi_acis.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 3, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - multiple ACIs 4, overall allow with many ACIs
+ #@TestIssue 444
+ #@TestPurpose Modify attribute value with many ACIs, overall allow with many ACIs
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_012" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 4, overall allow with many ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_multi_acis11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry11.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry11a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, 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_modify_entry/del_multi_acis2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 4, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Modify Attribute Value - multiple ACIs 5, mixed allow and deny with many ACIs
+ #@TestIssue 444
+ #@TestPurpose Modify attribute value with many ACIs, mixed allow and deny with many ACIs
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry by a prohibited user in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_013" scope="local">
+ <testcase name="getTestCaseName('Modify Attribute Value - multiple ACIs 5, mixed allow and deny with many ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modify_multi_acis12.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry by prohibited user from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry12.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_multi_acis_entry12a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, 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_modify_entry/del_multi_acis2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Modify Attribute Value - multiple ACIs 5, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- delete attribute tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Delete Attribute Value - userdn equals dn
+ #@TestIssue 444
+ #@TestPurpose Deletes an attribute from an entry where targetattr=* and userdn=[a dn]
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an attribute value with a prohibited user in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_014" scope="local">
+ <testcase name="getTestCaseName('Delete Attribute Value - userdn equals dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_delete_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - userdn equals dn, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - userdn 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - userdn equals dn, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Delete Attribute Value - targetattr equals one attribute
+ #@TestIssue 444
+ #@TestPurpose Delete an attribute with targetattr equals one attribute
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_015" scope="local">
+ <testcase name="getTestCaseName('Delete Attribute Value - targetattr equals one attribute')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_delete_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr equals one attribute, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Delete Attribute Value - targetattr not equals one attribute
+ #@TestIssue 444
+ #@TestPurpose Delete an attribute with targetattr not equals one attribute
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_016" scope="local">
+ <testcase name="getTestCaseName('Delete Attribute Value - targetattr not equals one attribute')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_delete_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete3.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr not equals one attribute, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_delete2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Ddelete Attribute Value - targetattr not equals one attribute, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Delete Attribute Value - write not allowed
+ #@TestIssue 444
+ #@TestPurpose Deletes an attribute where write is not allowed
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_017" scope="local">
+ <testcase name="getTestCaseName('Delete Attribute Value - write not allowed')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_delete_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - write not allowed, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_delete4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_delete4.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_delete4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - write not allowed, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - write not allowed, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Delete Attribute Value - targetattr and targattrfilter
+ #@TestIssue 444
+ #@TestPurpose Delete an attribute with a combination of targetattr and targattrfilter
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes a prohibited attribute value by targattrfilter in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in a prohibited entry that is in the targeted branch.
+ #@TestStep Client deletes a prohibited attribute value by targetattr in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_018" scope="local">
+ <testcase name="getTestCaseName('Delete Attribute Value - targetattr and targattrfilter')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_delete_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targattrfilter) in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying prohibited entry (by targattrfilter) from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targetattr) in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5.3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, overall allow, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetattr and targattrfilter, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Delete Attribute Value - targetfilter with three statements with or, none true
+ #@TestIssue 444
+ #@TestPurpose Delete an attribute with targetfilter with three statements with or, none true
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_019" scope="local">
+ <testcase name="getTestCaseName('Delete Attribute Value - targetfilter with three statements with or, none true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_delete_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete6a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter with 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter with three statements with or, none true, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Delete Attribute Value - targetfilter equals three statements with and, all statements false
+ #@TestIssue 444
+ #@TestPurpose Delete an attribute with targetfilter equals three statements with and, all statements false
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client deletes an attribute value in an entry in the targeted branch.
+ #@TestStep Client deletes an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_020" scope="local">
+ <testcase name="getTestCaseName('Delete Attribute Value - targetfilter equals three statements with and, all statements false')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_delete_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete7a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Delete Attribute Value - targetfilter equals three statements with and, all statements false, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/del_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!-- add attribute tests -->
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Add Attribute Value - userdn not equals dn
+ #@TestIssue 444
+ #@TestPurpose Adds an attribute to an entry with targetattr=* and userdn not equals to a dn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an attribute with a prohibited user in an entry in the targeted branch.
+ #@TestStep Client adds an attribute in an entry in the targeted branch.
+ #@TestStep Client adds an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an attribute in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_021" scope="local">
+ <testcase name="getTestCaseName('Add Attribute Value - userdn not equals dn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - userdn not equals dn, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - userdn not 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - userdn not equals dn, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Add Attribute Value - targetattr equals one attribute not present
+ #@TestIssue 444
+ #@TestPurpose Add an attribute value to an entry with targetattr equals one attribute not present
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an attribute in an entry in the targeted branch.
+ #@TestStep Client adds a prohibited attribute in an entry in the targeted branch.
+ #@TestStep Client adds an attribute in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_022" scope="local">
+ <testcase name="getTestCaseName('Add Attribute Value - targetattr equals one attribute not present')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add2.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr equals one attribute not present, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Add Attribute Value - targetattr not equals attribute, add multi-values
+ #@TestIssue 444
+ #@TestPurpose Add multi-valued attribute to an entry with targetattr not equals attribute, add multi-values
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an attribute value in an entry in the targeted branch.
+ #@TestStep Client adds another attribute value in an entry in the targeted branch.
+ #@TestStep Client adds a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_023" scope="local">
+ <testcase name="getTestCaseName('Add Attribute Value - targetattr not equals attribute, add multi-values')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry with second attribute value from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3.1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3.2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-write_add3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr not equals attribute, add multi-values, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Add Attribute Value - write not allowed
+ #@TestIssue 444
+ #@TestPurpose Adds an attribute value where write is not allowed
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an attribute value in an entry in the targeted branch.
+ #@TestStep Client adds a prohibited attribute value in an entry in the targeted branch.
+ #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_024" scope="local">
+ <testcase name="getTestCaseName('Add Attribute Value - write not allowed')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - write not allowed, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - write not allowed, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_add4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - write not allowed, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_add4.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - write not allowed, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_allow-read_add4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - write not allowed, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - write not allowed, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Add Attribute Value - targetattr and targattrfilter
+ #@TestIssue 444
+ #@TestPurpose Add an attribute value with a combination of targetattr and targattrfilter
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an attribute value in an entry in the targeted branch.
+ #@TestStep Client adds a prohibited attribute value by targattrfilter in an entry in the targeted branch.
+ #@TestStep Client adds an attribute value in a prohibited entry that is in the targeted branch.
+ #@TestStep Client adds a prohibited attribute value by targetattr in an entry in the targeted branch.
+ #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_025" scope="local">
+ <testcase name="getTestCaseName('Add Attribute Value - targetattr and targattrfilter')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targattrfilter) in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying prohibited entry (by targattrfilter) from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying prohibited attr (by targetattr) in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_add5.3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targattrfilter_delete5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, overall allow, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetattr and targattrfilter, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Add Attribute Value - targetfilter not equals three statements with or, none true
+ #@TestIssue 444
+ #@TestPurpose Add an attribute value with targetfilter not equals three statements with or, none true
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an attribute value in an entry in the targeted branch.
+ #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_026" scope="local">
+ <testcase name="getTestCaseName('Add Attribute Value - targetfilter not equals three statements with or, none true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_add6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_delete6a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with or, none true, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Add Attribute Value - targetfilter equals three statements with and, all statements false
+ #@TestIssue 444
+ #@TestPurpose Add an attribute with targetfilter equals three statements with and, all statements false
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client adds an attribute value in an entry in the targeted branch.
+ #@TestStep Client adds an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client adds an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_entry_027" scope="local">
+ <testcase name="getTestCaseName('Add Attribute Value - targetfilter not equals three statements with and, all statements false')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_entry/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilternot equals three statements with and, all statements false, preamble adding aci,\n %s' % curr_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_modify_entry/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_add7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/mod_targetfilter_add7a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, 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_modify_entry/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify: Add Attribute Value - targetfilter not equals three statements with and, all statements false, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_entry/add_common_prohibited_attr.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Postamble
+ #@TestIssue 444
+ #@TestPurpose Remove entries
+ #@TestPreamble none
+ #@TestStep Directory Manager removes entries that were used for testing.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="aci_modify_entry_028" scope="local">
+ <testcase name="getTestCaseName('Modify Entry Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify: Postamble - delete branch, o=Modify Tests'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter.xml
new file mode 100644
index 0000000..863e4f6
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter.xml
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_modify_filter"/>
+ <function name="aci_modify_filter" scope="local">
+ <sequence>
+ <block name="'aci_modify_filter'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'modify_filter'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Modify Filter'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Modify Filter Tests
+ #@TestSuitePurpose Verify that ACI modify_filters are functioning correctly
+ #@TestSuiteID ACI Modify Filter Tests
+ #@TestSuiteGroup ACI Modify Filter
+ #@TestGroup ACI
+ #@TestScript aci_modify_filter.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('modify_filter/modify_filter_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Modify Filter:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_modify_filter_001')
+ testsList.append('aci_modify_filter_002')
+ testsList.append('aci_modify_filter_003')
+ testsList.append('aci_modify_filter_004')
+ testsList.append('aci_modify_filter_005')
+ testsList.append('aci_modify_filter_006')
+ testsList.append('aci_modify_filter_007')
+ testsList.append('aci_modify_filter_008')
+ testsList.append('aci_modify_filter_009')
+ testsList.append('aci_modify_filter_010')
+ testsList.append('aci_modify_filter_011')
+ testsList.append('aci_modify_filter_012')
+ testsList.append('aci_modify_filter_013')
+ testsList.append('aci_modify_filter_014')
+ testsList.append('aci_modify_filter_015')
+ testsList.append('aci_modify_filter_016')
+ testsList.append('aci_modify_filter_017')
+ testsList.append('aci_modify_filter_018')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter_tests.xml
new file mode 100644
index 0000000..a7fe43d
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_filter/modify_filter_tests.xml
@@ -0,0 +1,4039 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 1 - targetattr equals wildcard, targattrfilters equal add and del
+ #@TestIssue 444
+ #@TestPurpose (targetattr= * )(targattrfilters= add=l:(l=Sunny*),del=l:(l=Sunny*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_001" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 1')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 1 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 2 - targetattr equals wildcard, targattrfilters equal add and del both with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= * )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(!(l=Sunny*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_002" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 2')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 2 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 3 - targetattr equals wildcard, targattrfilters equal add and del, both with not equal [filter] and no match
+ #@TestIssue 444
+ #@TestPurpose (targetattr= * )(targattrfilters= add=l:(!(l=Anythingelse*)),del=l:(!(l=Anythingelse*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_003" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 3')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 3 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 4 - targetattr equals wildcard, targattrfilters equal add and del, both with not equal [filter] and no match
+ #@TestIssue 444
+ #@TestPurpose (targetattr= * )(targattrfilters= add=l:(l=Anythingelse*),del=l:(l=Anythingelse*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_004" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 4')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 4 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 5 - targetattr equals wildcard, targattrfilters equal add and del, add with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= * )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(l=Sunny*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_005" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 5')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 5 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 6 - targetattr equals wildcard, targattrfilters equal add and del, del with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= * )(targattrfilters= add=l:(l=Sunny*),del=l:(!(l=Sunny*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_006" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 6')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 6 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 11 - targetattr equals l, targattrfilters equal add and del
+ #@TestIssue 444
+ #@TestPurpose (targetattr= l )(targattrfilters= add=l:(l=Sunny*),del=l:(l=Sunny*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_007" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 11')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 11 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 12 - targetattr equals l, targattrfilters equal add and del both with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= l )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(!(l=Sunny*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_008" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 12')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci12.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 12 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 13 - targetattr equals l, targattrfilters equal add and del, both with not equal [filter] and no match
+ #@TestIssue 444
+ #@TestPurpose (targetattr= l )(targattrfilters= add=l:(!(l=Anythingelse*)),del=l:(!(l=Anythingelse*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_009" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 13')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci13.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 13 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 14 - targetattr equals l, targattrfilters equal add and del, both with not equal [filter] and no match
+ #@TestIssue 444
+ #@TestPurpose (targetattr= l )(targattrfilters= add=l:(l=Anythingelse*),del=l:(l=Anythingelse*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_010" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 14')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci14.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 14 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 15 - targetattr equals l, targattrfilters equal add and del, add with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= l )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(l=Sunny*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_011" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 15')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci15.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 15 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 16 - targetattr equals l, targattrfilters equal add and del, del with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= l )(targattrfilters= add=l:(l=Sunny*),del=l:(!(l=Sunny*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_012" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 16')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci16.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 16 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 21 - targetattr equals carlicense, targattrfilters equal add and del
+ #@TestIssue 444
+ #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(l=Sunny*),del=l:(l=Sunny*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_013" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 21')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci21.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 21 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 22 - targetattr equals carlicense, targattrfilters equal add and del both with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(!(l=Sunny*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_014" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 22')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci22.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 22 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 23 - targetattr equals carlicense, targattrfilters equal add and del, both with not equal [filter] and no match
+ #@TestIssue 444
+ #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(!(l=Anythingelse*)),del=l:(!(l=Anythingelse*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_015" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 23')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci23.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 23 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 24 - targetattr equals carlicense, targattrfilters equal add and del, both with not equal [filter] and no match
+ #@TestIssue 444
+ #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(l=Anythingelse*),del=l:(l=Anythingelse*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_016" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 24')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci24.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 24 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 25 - targetattr equals carlicense, targattrfilters equal add and del, add with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(!(l=Sunny*)),del=l:(l=Sunny*) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_017" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 25')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci25.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 25 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Filter Tests
+ #@TestName ACI 26 - targetattr equals carlicense, targattrfilters equal add and del, del with not equal [filter]
+ #@TestIssue 444
+ #@TestPurpose (targetattr= carlicense )(targattrfilters= add=l:(l=Sunny*),del=l:(!(l=Sunny*)) )
+ #@TestPreamble Directory Manager adds ACI and adds entries to test
+ #@TestStep For entry 0, delete entire entry
+ #@TestStep For entry 1, replace attribute l with Sunnyfield
+ #@TestStep For entry 2, replace attribute l with Austin
+ #@TestStep For entry 3, replace attribute carlicense with new value
+ #@TestStep For entry 4, add attribute l with Sunnyfield
+ #@TestStep For entry 5, add attribute l with Austin
+ #@TestStep For entry 6, add attribute carlicense with new value
+ #@TestStep For entry 7, delete attribute l with Sunnyvale
+ #@TestStep For entry 8, delete attribute l
+ #@TestStep For entry 9, delete attribute carlicense
+ #@TestPostamble Directory Manager removes ACI and removes entries that were tested
+ #@TestResult Success if OpenDS returns 0 or 50
+ where appropriate
+ -->
+ <function name="aci_modify_filter_018" scope="local">
+ <testcase name="getTestCaseName('ACI Modify Filter 26')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Preamble, Adding Entries For Modify Filter Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_filter_tests/aci_startup_modify_tests.ldif' % remote.data }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci26.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_filter_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - preamble, adding aci,\n %s' % curr_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_modify_filter_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 0'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod0.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 1'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 5'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 6'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod6.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 7'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod7.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 8'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod8.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - Mod 9'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_filter_tests/mod9.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify Filter: ACI 26 - postamble, removing aci and entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Filter Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn.xml
new file mode 100644
index 0000000..2165a97
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_modify_rdn"/>
+ <function name="aci_modify_rdn" scope="local">
+ <sequence>
+ <block name="'aci_modify_rdn'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'modify_rdn'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Modify RDN'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Modify RDN Tests
+ #@TestSuitePurpose Verify that ACI modify_rdns are functioning correctly
+ #@TestSuiteID ACI Modify RDN Tests
+ #@TestSuiteGroup ACI Modify RDN
+ #@TestGroup ACI
+ #@TestScript modify_rdn.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('modify_rdn/modify_rdn_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Modify RDN:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_modify_rdn_001')
+ testsList.append('aci_modify_rdn_002')
+ testsList.append('aci_modify_rdn_003')
+ testsList.append('aci_modify_rdn_004')
+ testsList.append('aci_modify_rdn_005')
+ testsList.append('aci_modify_rdn_006')
+ testsList.append('aci_modify_rdn_007')
+ testsList.append('aci_modify_rdn_008')
+ testsList.append('aci_modify_rdn_009')
+ testsList.append('aci_modify_rdn_010')
+ testsList.append('aci_modify_rdn_011')
+ testsList.append('aci_modify_rdn_012')
+ testsList.append('aci_modify_rdn_013')
+ testsList.append('aci_modify_rdn_014')
+ testsList.append('aci_modify_rdn_015')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn_tests.xml
new file mode 100644
index 0000000..e98901c
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/modify_rdn/modify_rdn_tests.xml
@@ -0,0 +1,2197 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Preamble
+ #@TestIssue 445
+ #@TestPurpose Add additional entries
+ #@TestPreamble none
+ #@TestStep Directory Manager adds additional entries.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+
+ -->
+ <function name="aci_modify_rdn_001" scope="local">
+ <testcase name="getTestCaseName('Modify RDN Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify RDN: Preamble - Adding Entries For Modify RDN Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_modify_rdn/aci_startup_modrdn_tests.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Leaf - targetattr=* and userdn=all
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of a leaf with targetattr=* and userdn=all
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_002" scope="local">
+ <testcase name="getTestCaseName('Leaf - targetattr=* and userdn=all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=newtmorris, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=newtmorris,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=tmorris, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr=* and userdn=all, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Branch - targetattr=* and userdn=all
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of a branch with targetattr=* and userdn=all
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Admin restores the branch to the old rdn.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 2 and 4, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_003" scope="local">
+ <testcase name="getTestCaseName('Branch - targetattr=* and userdn=all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=New People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=New People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user restoring branch in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr=* and userdn=all, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Leaf - targetattr equals three attributes with uid
+ #@TestIssue 445
+ #@TestPurpose Modify an rdn where targetattr equals three attributes with uid
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_004" scope="local">
+ <testcase name="getTestCaseName('Leaf - targetattr equals three attributes with uid')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=newdmiller, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=newdmiller,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=dmiller, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes with uid, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Leaf - targetattr equals three attributes without uid
+ #@TestIssue 445
+ #@TestPurpose Modify an rdn where targetattr equals three attributes without uid
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an rdn of an entry in the targeted branch.
+ #@TestStep Client modifies an rdn of an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_rdn_005" scope="local">
+ <testcase name="getTestCaseName('Leaf - targetattr equals three attributes without uid')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr equals three attributes without uid, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Branch - targetattr with three attributes equals ou
+ #@TestIssue 445
+ #@TestPurpose Modify an attribute where targetattr equals equals ou
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Admin restores the branch to the old rdn.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_006" scope="local">
+ <testcase name="getTestCaseName('Branch - targetattr with three attributes equals ou')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=New People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=New People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user restoring branch in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes equals ou, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Branch - targetattr with three attributes not equals ou
+ #@TestIssue 445
+ #@TestPurpose Modify an attribute where targetattr with three attributes not equals ou
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an attribute value in an entry in the targeted branch.
+ #@TestStep Client modifies an attribute value in an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an attribute value in an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_rdn_007" scope="local">
+ <testcase name="getTestCaseName('Branch - targetattr with three attributes not equals ou')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry6a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - targetattr with three attributes not equals ou, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Leaf - Multi ACIs, allow and deny
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of a leaf with some entries allowed and some entries denied
+ #@TestPreamble Admin adds multiple acis.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is in the targeted branch but prohibited.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_008" scope="local">
+ <testcase name="getTestCaseName('Leaf - Multi ACIs, allow and deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry7.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=newtrigden, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=newtrigden,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=trigden, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying prohibited entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry7.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry7a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - Multi ACIs, allow and deny, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Branch - Multi ACIs, deny write on new branch
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of a branch where new branch has a deny write
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Client restores the branch to the old rdn.
+ #@TestStep Admin replaces the aci.
+ #@TestStep Client restores the branch to the old rdn.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 2 and 7, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_009" scope="local">
+ <testcase name="getTestCaseName('Branch - Multi ACIs, deny write on new branch')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch two, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=People,ou=branch two,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry8a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user restoring branch in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, preamble replacing 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_modify_rdn/replace_modrdn_aci8.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user restoring branch in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify Entry Tests
+ #@TestName Leaf - targetattr with three attributes not equals uid, delete old rdn
+ #@TestIssue 445
+ #@TestPurpose Modify an rdn where targetattr with three attributes not equals uid, delete old rdn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies an rdn of an entry in the targeted branch.
+ #@TestStep Client modifies an rdn of an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies an rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_modify_rdn_010" scope="local">
+ <testcase name="getTestCaseName('Leaf - targetattr with three attributes not equals uid, delete old rdn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry9.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry9a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, delete old rdn, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Leaf - targetattr with three attributes not equals uid, don't delete old rdn
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of an entry with targetattr with three attributes not equals uid, don't delete old rdn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1 and 2, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_011" scope="local">
+ <testcase name="getTestCaseName('Leaf - targetattr with three attributes not equals uid, dont delete old rdn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry10.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'sn=wallace, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: sn=wallace,ou=People,ou=branch one,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=jwallace, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry10a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals uid, dont delete old rdn, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of an entry with leaf with targetattr with three attributes not equals sn and cn, dont delete old rdn
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_012" scope="local">
+ <testcase name="getTestCaseName('Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry11.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry11a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Leaf - targetattr with three attributes not equals sn and cn, dont delete old rdn, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Branch - Multi ACIs, targattrfilters add:ou, del:ou
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of a branch where targattrfilters add:ou, del:ou
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Admin restores the branch to the old rdn.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 2 and 4, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_013" scope="local">
+ <testcase name="getTestCaseName('Branch - Multi ACIs, targattrfilters add:ou, del:ou')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci21.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry21.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch two, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=People,ou=branch two,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry21a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user restoring branch in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Branch - Multi ACIs, targattrfilters add:ou, del:ou 2
+ #@TestIssue 445
+ #@TestPurpose Modifies an rdn of a branch where targattrfilters add:ou, del:ou
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client modifies the rdn of an entry in the targeted branch.
+ #@TestStep Admin searches for the entry with the new rdn.
+ #@TestStep Admin searches for the entry with the old rdn.
+ #@TestStep Client modifies the rdn of an entry that is not in the targeted branch.
+ #@TestStep Client restores the branch to the old rdn.
+ #@TestStep Admin replaces the aci.
+ #@TestStep Client restores the branch to the old rdn.
+ #@TestStep Remove aci.
+ #@TestStep Client modifies the rdn of an entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for ACI add and delete operations,
+ 0 for steps 1, 2 and 7, and
+ 50 or 32 for all other steps.
+ -->
+ <function name="aci_modify_rdn_014" scope="local">
+ <testcase name="getTestCaseName('Branch - Multi ACIs, targattrfilters add:ou, del:ou 2')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_modrdn_aci22.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_modify_rdn/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, preamble adding aci,\n %s' % curr_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_modify_rdn/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry22.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user searching targeted entry, new rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch two, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=kvaughan,ou=People,ou=branch two,ou=aci branch,o=Modify RDN Tests' }
+ </call>
+
+ <if expr="returnCode != '1'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user searching targeted entry, old rdn'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'uid=kvaughan, ou=People, ou=branch one, ou=aci branch, o=Modify RDN Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn',
+ 'expectedRC' : 32
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_entry22a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user restoring branch in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, preamble replacing 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_modify_rdn/replace_modrdn_aci22.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, deny write on new branch, user restoring branch in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/modrdn_restore4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 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_modify_rdn/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Modify RDN: Branch - Multi ACIs, targattrfilters add:ou, del:ou 2, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_modify_rdn/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Postamble
+ #@TestIssue 445
+ #@TestPurpose Remove entries
+ #@TestPreamble none
+ #@TestStep Directory Manager removes entries that were used for testing.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="aci_modify_rdn_015" scope="local">
+ <testcase name="getTestCaseName('Modify RDN Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Modify RDN: Postamble - delete branch, o=Modify RDN Tests'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify RDN Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis.xml
new file mode 100644
index 0000000..72b6a5c
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis.xml
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_multi_acis"/>
+ <function name="aci_multi_acis" scope="local">
+ <sequence>
+ <block name="'aci_multi_acis'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'multi_acis'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Multi ACIs'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Multi ACIs Tests
+ #@TestSuitePurpose Verify that ACI multi_acis are functioning correctly
+ #@TestSuiteID ACI Multi ACIs Tests
+ #@TestSuiteGroup ACI Multi ACIs
+ #@TestGroup ACI
+ #@TestScript multi_acis.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('multi_acis/multi_acis_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Multi ACIs:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_multi_acis_001')
+ testsList.append('aci_multi_acis_002')
+ testsList.append('aci_multi_acis_003')
+ testsList.append('aci_multi_acis_004')
+ testsList.append('aci_multi_acis_005')
+ testsList.append('aci_multi_acis_006')
+ testsList.append('aci_multi_acis_007')
+ testsList.append('aci_multi_acis_008')
+ testsList.append('aci_multi_acis_009')
+ testsList.append('aci_multi_acis_010')
+ testsList.append('aci_multi_acis_011')
+ testsList.append('aci_multi_acis_012')
+ testsList.append('aci_multi_acis_013')
+ testsList.append('aci_multi_acis_014')
+ testsList.append('aci_multi_acis_015')
+ testsList.append('aci_multi_acis_016')
+ testsList.append('aci_multi_acis_017')
+ testsList.append('aci_multi_acis_018')
+ testsList.append('aci_multi_acis_019')
+ testsList.append('aci_multi_acis_020')
+ testsList.append('aci_multi_acis_021')
+ testsList.append('aci_multi_acis_022')
+ testsList.append('aci_multi_acis_023')
+ testsList.append('aci_multi_acis_024')
+ testsList.append('aci_multi_acis_025')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis_tests.xml
new file mode 100644
index 0000000..eb77467
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multi_acis/multi_acis_tests.xml
@@ -0,0 +1,4251 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Preamble
+ #@TestIssue 446
+ #@TestPurpose Prepare for multiple ACI test cases
+ #@TestPreamble none
+ #@TestStep Directory Manager adds extra entries
+ #@TestStep Directory Manager removes global ACI allowing searches
+ #@TestStep Client searches entry in one branch.
+ #@TestStep Client searches entry in another branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="aci_multi_acis_001" scope="local">
+ <testcase name="getTestCaseName('Multi ACIs Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Multiple ACIs: Preamble - Adding Branches For Multiple ACI Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/multiple_aci_tests/aci_startup_mult_aci_tests.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-one entry
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-one entry
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should not be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@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.
+ -->
+ <function name="aci_multi_acis_002" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-one entry')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one 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=dmiller,ou=People,ou=aci branch,o=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one 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=dmiller,ou=People,ou=aci branch,o=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-two entries 1
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, same attribute
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should also be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_003" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 1')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-two entries 2
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, two attributes with not equal
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should also be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_004" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 2')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-two entries 3
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, with two attributes with equal
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should also be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_005" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 3')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, one true, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-one entry, deny
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-one entry, deny
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should not be allowed in targeted branch.
+ #@TestStep Client searches second entry which should not be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches previous entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned for no steps.
+ -->
+ <function name="aci_multi_acis_006" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-one entry, deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-two entries 1, deny
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, same attribute, deny
+ #@TestPreamble Admin adds three ACIs, different targetfilters, two statements true with same attrs.
+ #@TestStep Client searches entry which should not be allowed in targeted branch.
+ #@TestStep Client searches second entry which should not be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches previous entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned for no steps.
+ -->
+ <function name="aci_multi_acis_007" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 1, deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-two entries 2, deny
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, two attributes with not equal, deny
+ #@TestPreamble Admin adds three ACIs, different targetfilters, two statements true with, two attributes with not equal, deny
+ #@TestStep Client searches entry which should not be allowed in targeted branch.
+ #@TestStep Client searches second entry which should not be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches previous entry.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned for no steps.
+ -->
+ <function name="aci_multi_acis_008" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 2, deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters, one aci-two entries 3, deny
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, with two attributes with equal, deny
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should not be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@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.
+ -->
+ <function name="aci_multi_acis_009" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 3, deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters and targetattr
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, same attribute
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should also be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_010" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters and targetattr')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters and targeattr, deny one attr
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, two attributes with not equal
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should also be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_011" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters and targeattr, deny one attr')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters and targetattr with not equals
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters and targetattr with not equals
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should also be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_012" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters and targetattr with not equals')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, one true, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters and targetattr, separate search-read with missing read
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters and targetattr, separate search-read with missing read
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should not be allowed in targeted branch.
+ #@TestStep Client searches second entry which should be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entries are returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_013" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters and targetattr, separate search-read with missing read')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci12.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with missing read, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with missing read, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with missing read, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read missing read, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read missing read, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read missing read, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters and targetattr, separate search-read
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters and targetattr, separate search-read
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should be allowed in targeted branch.
+ #@TestStep Client searches second entry which should also be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_multi_acis_014" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters and targetattr, separate search-read')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci13.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomNumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Different targetfilters and targetattr, separate search-read with deny search
+ #@TestIssue 446
+ #@TestPurpose Test three ACIs, different targetfilters and targetattr, separate search-read with deny search
+ #@TestPreamble Admin adds three ACIs.
+ #@TestStep Client searches entry which should not be allowed in targeted branch.
+ #@TestStep Client searches second entry which should be allowed in targeted branch.
+ #@TestStep Client searches entry which is outside of the targeted branch.
+ #@TestStep Remove aci.
+ #@TestStep Client searches entry which was previously allowed.
+ #@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.
+ -->
+ <function name="aci_multi_acis_015" scope="local">
+ <testcase name="getTestCaseName('Different targetfilters and targetattr, separate search-read with deny search')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci14.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber'}
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, 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=Search Tests,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=Search Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targattrfilters with add:l and del:l
+ #@TestIssue 444
+ #@TestPurpose Test with separate targattrfilters
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_016" scope="local">
+ <testcase name="getTestCaseName('Separate targattrfilters with add:l and del:l')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci31.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing l in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l31.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing mail in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_mail31.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing l in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l31a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing l in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l31.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targattrfilters with deny add:l and allow del:l
+ #@TestIssue 444
+ #@TestPurpose Test with separate targattrfilters
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ and 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_017" scope="local">
+ <testcase name="getTestCaseName('Separate targattrfilters with deny add:l and allow del:l')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci32.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing l in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l32.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing mail in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_mail32.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing l in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l32a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing l in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l32.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targattrfilters with allow add:l and deny del:l
+ #@TestIssue 444
+ #@TestPurpose Test with separate targattrfilters
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ and 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_018" scope="local">
+ <testcase name="getTestCaseName('Separate targattrfilters with allow add:l and deny del:l')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci33.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing l in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l33.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing mail in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_mail33.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing l in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l33a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing l in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l33.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+<!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targetattrs
+ #@TestIssue 444
+ #@TestPurpose Test with separate targetattrs
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ and 50 for all other steps.
+-->
+ <function name="aci_multi_acis_019" scope="local">
+ <testcase name="getTestCaseName('Separate targetattrs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci34.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l34.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title34.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l34a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targetattrs with not equals
+ #@TestIssue 444
+ #@TestPurpose Test with separate targetattrs
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1, 2 and 3, and
+ 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_020" scope="local">
+ <testcase name="getTestCaseName('Separate targetattrs with not equals')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci35.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with not equals, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l35.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title35.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l35a.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with not equals, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targetattrs and targattrfilters with equals and not equals
+ #@TestIssue 444
+ #@TestPurpose Test with separate targetattrs
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces title in an entry with the targeted branch dn.
+ #@TestStep Client replaces another title in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_021" scope="local">
+ <testcase name="getTestCaseName('Separate targetattrs and targattrfilters with equals and not equals')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci36.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l36.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title36.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title36.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l36a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targetattrs and targattrfilters with not equals
+ #@TestIssue 444
+ #@TestPurpose Test with separate targetattrs
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces title in an entry with the targeted branch dn.
+ #@TestStep Client replaces another title in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1, 2,`and 3, and
+ 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_022" scope="local">
+ <testcase name="getTestCaseName('Separate targetattrs and targattrfilters with not equals')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci37.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l37.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title37.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title37.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l37a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targetattrs and targattrfilters with deny
+ #@TestIssue 444
+ #@TestPurpose Test with separate targetattrs
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_023" scope="local">
+ <testcase name="getTestCaseName('Separate targetattrs and targattrfilters with deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci38.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l38.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title38.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title38.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l38a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Separate targetattrs with deny and targattrfilters
+ #@TestIssue 444
+ #@TestPurpose Test with separate targetattrs
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1, 2, and 3 and
+ 50 for all other steps.
+ -->
+ <function name="aci_multi_acis_024" scope="local">
+ <testcase name="getTestCaseName('Separate targetattrs with deny and targattrfilters')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci39.ldif'
+ curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , preamble adding aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l39.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title39.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying prohibited attr in entry from targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title39.1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying entry from non-targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l37a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying entry in previously targeted branch'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker Multiple ACI Tests
+ #@TestName Postamble
+ #@TestIssue 446
+ #@TestPurpose Reset global ACI to default settings
+ #@TestPreamble none
+ #@TestStep Client searches entry in one branch.
+ #@TestStep Client searches entry in another branch.
+ #@TestStep Directory Manager replaces default global aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="aci_multi_acis_025" scope="local">
+ <testcase name="getTestCaseName('Multi ACIs Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Multiple ACIs: 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=Search Tests,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=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: 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=Search Tests,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=non-aci branch,o=Search Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Postamble - delete branch, o=Search Tests'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Search Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Postamble - delete branch, o=Modify Tests'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Modify Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ <message>
+ 'ACI: Multiple ACIs: Postamble - Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multiple_aci_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multiple_aci_tests.xml
deleted file mode 100644
index c674baa..0000000
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/multiple_aci_tests.xml
+++ /dev/null
@@ -1,3834 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
-<!--
- ! CDDL HEADER START
- !
- ! The contents of this file are subject to the terms of the
- ! Common Development and Distribution License, Version 1.0 only
- ! (the "License"). You may not use this file except in compliance
- ! with the License.
- !
- ! You can obtain a copy of the license at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
- ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
- ! See the License for the specific language governing permissions
- ! and limitations under the License.
- !
- ! When distributing Covered Code, include this CDDL HEADER in each
- ! file and include the License file at
- ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
- ! add the following below this CDDL HEADER, with the fields enclosed
- ! by brackets "[]" replaced with your own identifying information:
- ! Portions Copyright [yyyy] [name of copyright owner]
- !
- ! CDDL HEADER END
- !
- ! Copyright 2008-2010 Sun Microsystems, Inc.
- ! -->
-<stax>
-
- <defaultcall function="multiple_aci_tests"/>
-
- <function name="multiple_aci_tests">
-
- <sequence>
-
- <block name="'multiple-aci-tests'">
-
- <sequence>
-
- <script>
- if not CurrentTestPath.has_key('group'):
- CurrentTestPath['group']='aci'
- CurrentTestPath['suite']=STAXCurrentBlock
- </script>
-
- <call function="'testSuite_Preamble'"/>
-
- <!---
- Place suite-specific test information here.
- #@TestSuiteName Multiple ACI Tests
- #@TestSuitePurpose Test the Support for multiple ACIs
- #@TestSuiteGroup Multiple ACi Tests
- #@TestScript multiple_aci_tests.xml
- -->
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_setup.xml' % (TESTS_DIR)"/>
- <call function="'aci_setup'" />
-
-
- <!---
- Place test-specific test information here.
- The tag, TestMarker, must be the same as the tag, TestSuiteName.
- #@TestMarker Multiple ACI Tests
- #@TestName Preamble
- #@TestIssue 446
- #@TestPurpose Prepare for multiple ACI test cases
- #@TestPreamble none
- #@TestStep Directory Manager adds extra entries
- #@TestStep Directory Manager removes global ACI allowing searches
- #@TestStep Client searches entry in one branch.
- #@TestStep Client searches entry in another branch.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Preamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Multiple ACIs: Preamble - Adding Branches For Multiple ACI Tests'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/aci/multiple_aci_tests/aci_startup_mult_aci_tests.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Preamble - Removing Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'remove' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-one entry
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-one entry
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should not be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@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="getTestCaseName('Different targetfilters, one aci-one entry')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci1.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one 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=dmiller,ou=People,ou=aci branch,o=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one 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=dmiller,ou=People,ou=aci branch,o=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-two entries 1
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, same attribute
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should also be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 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="getTestCaseName('Different targetfilters, one aci-two entries 1')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci2.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-two entries 2
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, two attributes with not equal
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should also be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 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="getTestCaseName('Different targetfilters, one aci-two entries 2')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci3.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-two entries 3
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, with two attributes with equal
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should also be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 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="getTestCaseName('Different targetfilters, one aci-two entries 3')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci4.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, one true, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-one entry, deny
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-one entry, deny
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should not be allowed in targeted branch.
- #@TestStep Client searches second entry which should not be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches previous entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned for no steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Different targetfilters, one aci-one entry, deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci5.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-one entry, deny, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-two entries 1, deny
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, same attribute, deny
- #@TestPreamble Admin adds three ACIs, different targetfilters, two statements true with same attrs.
- #@TestStep Client searches entry which should not be allowed in targeted branch.
- #@TestStep Client searches second entry which should not be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches previous entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned for no steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 1, deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci6.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, deny, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-two entries 2, deny
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, two attributes with not equal, deny
- #@TestPreamble Admin adds three ACIs, different targetfilters, two statements true with, two attributes with not equal, deny
- #@TestStep Client searches entry which should not be allowed in targeted branch.
- #@TestStep Client searches second entry which should not be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches previous entry.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned for no steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Different targetfilters, one aci-two entries 2, deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci7.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 2, deny, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters, one aci-two entries 3, deny
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, with two attributes with equal, deny
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should not be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@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="getTestCaseName('Different targetfilters, one aci-two entries 3, deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci8.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 3, deny, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters and targetattr
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, same attribute
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should also be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 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="getTestCaseName('Different targetfilters and targetattr')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci9.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters, one aci-two entries 1, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters and targeattr, deny one attr
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters, one aci-two entries, two attributes with not equal
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should also be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 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="getTestCaseName('Different targetfilters and targeattr, deny one attr')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci10.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '0' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targeattr, deny one attr, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters and targetattr with not equals
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters and targetattr with not equals
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should also be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 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="getTestCaseName('Different targetfilters and targetattr with not equals')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci11.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <if expr="returnCode != '0'">
- <tcstatus result="'fail'"/>
- </if>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, one true, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr with not equals, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters and targetattr, separate search-read with missing read
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters and targetattr, separate search-read with missing read
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should not be allowed in targeted branch.
- #@TestStep Client searches second entry which should be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entries are returned only for steps 1 and 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="getTestCaseName('Different targetfilters and targetattr, separate search-read with missing read')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci12.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with missing read, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with missing read, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with missing read, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read missing read, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read missing read, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read missing read, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters and targetattr, separate search-read
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters and targetattr, separate search-read
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should be allowed in targeted branch.
- #@TestStep Client searches second entry which should also be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldap operations.
- Entry is returned only for steps 1 and 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="getTestCaseName('Different targetfilters and targetattr, separate search-read')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci13.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomNumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Different targetfilters and targetattr, separate search-read with deny search
- #@TestIssue 446
- #@TestPurpose Test three ACIs, different targetfilters and targetattr, separate search-read with deny search
- #@TestPreamble Admin adds three ACIs.
- #@TestStep Client searches entry which should not be allowed in targeted branch.
- #@TestStep Client searches second entry which should be allowed in targeted branch.
- #@TestStep Client searches entry which is outside of the targeted branch.
- #@TestStep Remove aci.
- #@TestStep Client searches entry which was previously allowed.
- #@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="getTestCaseName('Different targetfilters and targetattr, separate search-read with deny search')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci14.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, user searching second 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=Search Tests,o=ACI Tests,dc=example,dc=com' ,
- 'dsFilter' : 'objectclass=*' ,
- 'attributes' : 'cn sn uid telephonenumber'}
- </call>
-
- <script>
- returnString = STAXResult[0][1]
- </script>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'telephonenumber:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'cn:' ,
- 'expectedResult' : '1' }
- </call>
-
- <call function="'searchStringForSubstring'">
- { 'returnString' : returnString ,
- 'testString' : 'roomnumber:' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, user searching second 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, 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/multiple_aci_tests/del_aci_search.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Different targetfilters and targetattr, separate search-read with deny search, 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=Search Tests,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=Search Tests,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 Multiple ACI Tests
- #@TestName Separate targattrfilters with add:l and del:l
- #@TestIssue 444
- #@TestPurpose Test with separate targattrfilters
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Separate targattrfilters with add:l and del:l')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci31.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing l in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l31.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing mail in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_mail31.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing l in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l31a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with add:l and del:l, user replacing l in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l31.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targattrfilters with deny add:l and allow del:l
- #@TestIssue 444
- #@TestPurpose Test with separate targattrfilters
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- and 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Separate targattrfilters with deny add:l and allow del:l')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci32.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing l in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l32.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing mail in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_mail32.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing l in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l32a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with deny add:l and allow del:l, user replacing l in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l32.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targattrfilters with allow add:l and deny del:l
- #@TestIssue 444
- #@TestPurpose Test with separate targattrfilters
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- and 50 for all other steps.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Separate targattrfilters with allow add:l and deny del:l')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci33.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing l in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l33.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing mail in targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_mail33.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing l in non-targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l33a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targattrfilters with allow add:l and deny del:l, user replacing l in previously targeted entry'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l33.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targetattrs
- #@TestIssue 444
- #@TestPurpose Test with separate targetattrs
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- and 50 for all other steps.
- -->
- <testcase name="getTestCaseName('Separate targetattrs')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci34.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l34.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title34.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l34a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targetattrs with not equals
- #@TestIssue 444
- #@TestPurpose Test with separate targetattrs
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1, 2 and 3, and
- 50 for all other steps.
- -->
- <testcase name="getTestCaseName('Separate targetattrs with not equals')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci35.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with not equals, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l35.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title35.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l35a.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with not equals, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with not equals, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targetattrs and targattrfilters with equals and not equals
- #@TestIssue 444
- #@TestPurpose Test with separate targetattrs
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces title in an entry with the targeted branch dn.
- #@TestStep Client replaces another title in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1 and 2, and
- 50 for all other steps.
- -->
- <testcase name="getTestCaseName('Separate targetattrs and targattrfilters with equals and not equals')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci36.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l36.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title36.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title36.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l36a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with equals and not equals, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targetattrs and targattrfilters with not equals
- #@TestIssue 444
- #@TestPurpose Test with separate targetattrs
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces title in an entry with the targeted branch dn.
- #@TestStep Client replaces another title in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1, 2,`and 3, and
- 50 for all other steps.
- -->
- <testcase name="getTestCaseName('Separate targetattrs and targattrfilters with not equals')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci37.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l37.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title37.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title37.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l37a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with not equals, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targetattrs and targattrfilters with deny
- #@TestIssue 444
- #@TestPurpose Test with separate targetattrs
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for step 1, and
- 50 for all other steps.
- -->
- <testcase name="getTestCaseName('Separate targetattrs and targattrfilters with deny')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci38.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l38.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title38.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title38.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l38a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs and targattrfilters with deny, user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Separate targetattrs with deny and targattrfilters
- #@TestIssue 444
- #@TestPurpose Test with separate targetattrs
- #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
- #@TestStep Client replaces l in an entry with the targeted branch dn.
- #@TestStep Client replaces mail in an entry with the targeted branch dn.
- #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
- #@TestStep Remove aci.
- #@TestStep Client replaces l from an entry with the previously targeted branch dn.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0
- for all ldapmodify operations,
- 0 for steps 1, 2, and 3 and
- 50 for all other steps.
- -->
- <testcase name="getTestCaseName('Separate targetattrs with deny and targattrfilters')">
- <sequence>
- <call function="'testCase_Preamble'"/>
-
- <script>
- curr_aci_ldif_file = 'add_aci39.ldif'
- curr_aci=retrieve_aci('%s/aci/multiple_aci_tests/%s' % (local.data,curr_aci_ldif_file));
- </script>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , preamble adding aci,\n %s' % curr_aci
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/%s' % (remote.data,curr_aci_ldif_file) }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l39.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title39.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying prohibited attr in entry from targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_title39.1.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying entry from non-targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/replace_l37a.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , 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/multiple_aci_tests/del_aci_modify.ldif' % remote.data }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Separate targetattrs with deny and targattrfilters , user modifying entry in previously targeted branch'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
- 'dsInstancePswd' : 'ACIRules' ,
- 'entryToBeModified' : '%s/aci/multiple_aci_tests/mod_common_prohibited_entry.ldif' % remote.data ,
- 'expectedRC' : 50
- }
- </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 Multiple ACI Tests
- #@TestName Postamble
- #@TestIssue 446
- #@TestPurpose Reset global ACI to default settings
- #@TestPreamble none
- #@TestStep Client searches entry in one branch.
- #@TestStep Client searches entry in another branch.
- #@TestStep Directory Manager replaces default global aci.
- #@TestPostamble none
- #@TestResult Success if OpenDS returns 0.
- -->
- <!-- cross reference to http://docs.sun.com/source/816-6698-10/aci.html -->
- <!-- cross reference to DS6 docs -->
- <testcase name="getTestCaseName('Postamble')">
- <sequence>
- <call function="'testCase_Preamble'"/>
- <message>
- 'ACI: Multiple ACIs: 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=Search Tests,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=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: 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=Search Tests,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=non-aci branch,o=Search Tests,o=ACI Tests' ,
- 'expectedResult' : '0' }
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Postamble - delete branch, o=Search Tests'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Search Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Postamble - delete branch, o=Modify Tests'
- </message>
-
- <call function="'DeleteEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : 'o=Modify Tests, o=ACI Tests,dc=example,dc=com' ,
- 'extraParams' : '-x'}
- </call>
-
- <message>
- 'ACI: Multiple ACIs: Postamble - Resetting Search Global ACI'
- </message>
-
- <call function="'modifyGlobalAci'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'aciValue' : GLOBAL_ACI_SEARCH ,
- 'opType' : 'add' }
- </call>
-
- <call function="'testCase_Postamble'"/>
-
- </sequence>
- </testcase>
-
-
- <import machine="STAF_LOCAL_HOSTNAME"
- file="'%s/testcases/aci/aci_cleanup.xml' % (TESTS_DIR)"/>
- <call function="'aci_cleanup'" />
-
-
- <call function="'testSuite_Postamble'"/>
-
- </sequence>
-
- </block>
-
- </sequence>
-
- </function>
-
-</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth.xml
new file mode 100644
index 0000000..1a1ec14
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth.xml
@@ -0,0 +1,152 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_proxy_auth"/>
+ <function name="aci_proxy_auth" scope="local">
+ <sequence>
+ <block name="'aci_proxy_auth'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'proxy_auth'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Proxy Auth'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Proxy Auth Tests
+ #@TestSuitePurpose Verify that ACI proxy_auths are functioning correctly
+ #@TestSuiteID ACI Proxy Auth Tests
+ #@TestSuiteGroup ACI Proxy Auth
+ #@TestGroup ACI
+ #@TestScript proxy_auth.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('proxy_auth/proxy_auth_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Proxy Auth:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_proxy_auth_001')
+ testsList.append('aci_proxy_auth_002')
+ testsList.append('aci_proxy_auth_003')
+ testsList.append('aci_proxy_auth_004')
+ testsList.append('aci_proxy_auth_005')
+ testsList.append('aci_proxy_auth_006')
+ testsList.append('aci_proxy_auth_007')
+ testsList.append('aci_proxy_auth_008')
+ testsList.append('aci_proxy_auth_009')
+#OOS testsList.append('aci_proxy_auth_010')
+ testsList.append('aci_proxy_auth_011')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth_tests.xml
new file mode 100644
index 0000000..1722c86
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/proxy_auth/proxy_auth_tests.xml
@@ -0,0 +1,2597 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying * information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Preamble
+ #@TestIssue 1489
+ #@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.
+ -->
+ <function name="aci_proxy_auth_001" scope="local">
+ <testcase name="getTestCaseName('Proxy Auth Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Proxy Auth: Preamble - Removing Search Global ACI'
+ </message>
+
+ <!-- Remove the global ACI -->
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <!-- Allow the proxy auth control for all ldap users read only -->
+ <script>
+ allow_aci='(targetcontrol=\"2.16.840.1.113730.3.4.18\") (version 3.0; acl \"allow proxy auth control access\"; allow(read) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <!-- Add the ACI under suffix -->
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Preamble - existing branch, user searching entry that will be targeted in future tests'
+ </message>
+
+ <!-- Search a users entry as another user. This should return no results -->
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <!-- TODO: Also perform a modify operation - should return insufficient access -->
+
+ <message>
+ 'ACI: Proxy Auth: Preamble - existing branch, user searching entry that will be non-targeted in future tests'
+ </message>
+
+ <!-- Search a users entry as another user. This should return no results -->
+ <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>
+
+ <!-- TODO: Also perform a modify operation - should return insufficient access -->
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with one proxied user
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with one user, one proxied user
+ #@TestPreamble none
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry that does not have the targeted dn for the targetattr.
+ #@TestStep Remove all acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ No entries are returned for any steps.
+ -->
+ <function name="aci_proxy_auth_002" scope="local">
+ <testcase name="getTestCaseName('one proxied user')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Proxy Auth: one proxied user, user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry as another user (uid=auser). This should return no results -->
+ <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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one proxied user, second user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry as another user (uid=buser). This should return no results -->
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry as uid=aproxy. This should return no results -->
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <!-- Add the proxi aci for user uid=aproxy under ou=aci branch -->
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one proxied user, proxy user searching targeted entry'
+ </message>
+
+ <!-- Search users entry with proxy dn without allowed aci access. This should return no results -->
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <!-- TODO: Also perform a modify operation - should return insufficient access -->
+
+ <message>
+ 'ACI: Proxy Auth: one proxied user, admin deleting both acis'
+ </message>
+
+ <!-- Delete the proxy aci for user uid=aproxy -->
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one proxied user, user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry as another user. This should return no results -->
+ <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' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with one user, one proxied user
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with one user, one proxied user
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry in targeted branch as proxied user through second user.
+ #@TestStep Remove all acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 5
+ and only with the specified attribute.
+ -->
+ <function name="aci_proxy_auth_003" scope="local">
+ <testcase name="getTestCaseName('one user, one proxied user')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <!-- Allow user uid=auser access to all entries under ou=aci branch -->
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_all.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry under suffix as uid=auser. This should return a result -->
+ <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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry as another user. This should return no results -->
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry just as proxy user. This should return no results -->
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <!-- Add the proxi aci for user uid=aproxy under ou=aci branch -->
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <!-- Search users entry with proxy dn with allowed aci access. This should return results -->
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <!-- TODO: Also perform a modify operation - should return success -->
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, proxied second user searching targeted entry'
+ </message>
+
+ <!-- Search users entry with proxy dn without allowed aci access. This should return no results -->
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, admin deleting both acis'
+ </message>
+
+ <!-- Remove aci attribute for uid=auser -->
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one proxied user, user searching targeted entry'
+ </message>
+
+ <!-- Search a users entry as a uid=auser. This should return no results -->
+ <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' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with one user for adds, one proxied user
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with one user for adds, one proxied user
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry in targeted branch as proxied user through second user.
+ #@TestStep Remove all acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ No entries returned for any step.
+ -->
+ <function name="aci_proxy_auth_004" scope="local">
+ <testcase name="getTestCaseName('one user for adds, one proxied user')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_add.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, proxied second user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for adds, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with one user for searches, one proxied user
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with one user for searches, one proxied user
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry in targeted branch as proxied user through second user.
+ #@TestStep Remove all acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 5
+ and only with the specified attribute.
+ -->
+ <function name="aci_proxy_auth_005" scope="local">
+ <testcase name="getTestCaseName('one user for searches, one proxied user')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_search.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, proxied second user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with one user for searches reads separate level, one proxied user
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with one user for searches reads separate level, one proxied user
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry in targeted branch as proxied user through second user.
+ #@TestStep Remove all acis.
+ #@TestStep Remove another level of acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1 and 5
+ and only with the specified attribute.
+ -->
+ <function name="aci_proxy_auth_006" scope="local">
+ <testcase name="getTestCaseName('one user for searches reads separate level, one proxied user')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_search_sep.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, proxied second user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user for searches reads separate level, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with many users with wildcard, one proxied user
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with many users with wildcard, one proxied user
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry in targeted branch as proxied user through second user.
+ #@TestStep Remove all acis.
+ #@TestStep Remove another level of acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1, 2, 5 and 6
+ and only with the specified attribute.
+ -->
+ <function name="aci_proxy_auth_007" scope="local">
+ <testcase name="getTestCaseName('many users with wildcard, one proxied user')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_all_wildcard.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, proxied second user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: many users with wildcard, one proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with one user, many proxied users with wildcard
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with one user, many proxied users with wildcard
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry in targeted branch as proxied user through second user.
+ #@TestStep Remove all acis.
+ #@TestStep Remove another level of acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations.
+ Entry is returned only for steps 1, 2, 5 and 6
+ and only with the specified attribute.
+ -->
+ <function name="aci_proxy_auth_008" scope="local">
+ <testcase name="getTestCaseName('many users one user, many proxied users with wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_all.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with wildcard, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with wildcard, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with wildcard, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci_wildcard.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with wildcard, preamble adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with wildcard, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with wildcard, proxied second user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=aproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with wildcard, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, many proxied users with 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with one user, one bad proxied user
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with one user, one bad proxied user
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as proxied user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Admin adds an aci giving proxied user permission to access as user.
+ #@TestStep Client searches entry in targeted branch as proxied user through user.
+ #@TestStep Client searches entry in targeted branch as proxied user through second user.
+ #@TestStep Remove all acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, except step 4 where 123 is expected.
+ Entry is returned only for step 1
+ and only with the specified attribute.
+ -->
+ <function name="aci_proxy_auth_009" scope="local">
+ <testcase name="getTestCaseName('one user, one bad proxied user')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_all.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' ,
+ 'expectedRC' : 123 }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'SEARCH operation failed' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' ,
+ 'expectedRC' : 123 }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'SEARCH operation failed' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, proxied second user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=bproxy,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ProxyRules' ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' ,
+ 'expectedRC' : 123 }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'SEARCH operation failed' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: one user, one bad proxied user, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Proxy rights with Directory Manager as proxy
+ #@TestIssue 1489
+ #@TestPurpose Test ACI with proxy rights with Directory Manager as proxy
+ #@TestPreamble Admin adds an aci giving user search and read access to one branch.
+ #@TestStep Client searches entry in targeted branch as user.
+ #@TestStep Client searches entry in targeted branch as second user.
+ #@TestStep Client searches entry in targeted branch as cn=Directory Manager proxied user.
+ #@TestStep Admin adds ds-privilege-name to cn=Directory Manager
+ #@TestStep Client searches entry in targeted branch as cn=Directory Manager proxied user.
+ #@TestStep Client searches entry in targeted branch as cn=Directory Manager proxied user through second user.
+ #@TestStep Admin deletes ds-privilege-name from cn=Directory Manager
+ #@TestStep Remove all acis.
+ #@TestStep Client searches entry in the previously targeted branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations except step 3 where 123 is expected.
+ Entry is returned only for steps 1 and 5
+ and only with the specified attribute.
+ -->
+ <function name="aci_proxy_auth_010" scope="local">
+ <testcase name="getTestCaseName('Directory Manager as proxy')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_user_aci_all.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, preamble adding user aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'cn=Directory Manager,cn=Root DNs,cn=config' ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid telephonenumber' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'SEARCH operation failed' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, adding proxied-auth'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/add_proxy_auth_dm.ldif' % (remote.data) }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_proxy_aci_dm.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_proxy_auth/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, adding proxy aci,\n %s' % curr_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_proxy_auth/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, proxied user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'cn=Directory Manager,cn=Root DNs,cn=config' ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsProxyDN' : 'dn:uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, proxied second user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'cn=Directory Manager,cn=Root DNs,cn=config' ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsProxyDN' : 'dn:uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsBaseDN' : 'uid=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, deleting proxied-auth'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_proxy_auth_dm.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, admin deleting both acis'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/aci/aci_proxy_auth/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Directory Manager as proxy, 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=tmorris,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ '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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Proxy Authorization Tests
+ #@TestName Postamble
+ #@TestIssue 1489
+ #@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.
+ -->
+ <function name="aci_proxy_auth_011" scope="local">
+ <testcase name="getTestCaseName('Proxy Auth Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Proxy Auth: 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: 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="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <script>
+ allow_aci='(targetcontrol=\"2.16.840.1.113730.3.4.18\") (version 3.0; acl \"allow proxy auth control access\"; allow(read) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Proxy Auth: Postamble - Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards.xml
new file mode 100644
index 0000000..6419111
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards.xml
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_rdn_wildcards"/>
+ <function name="aci_rdn_wildcards" scope="local">
+ <sequence>
+ <block name="'aci_rdn_wildcards'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'rdn_wildcards'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI RDN Wildcards'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI RDN Wildcards Tests
+ #@TestSuitePurpose Verify that ACI rdn_wildcardss are functioning correctly
+ #@TestSuiteID ACI RDN Wildcards Tests
+ #@TestSuiteGroup ACI RDN Wildcards
+ #@TestGroup ACI
+ #@TestScript rdn_wildcards.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('rdn_wildcards/rdn_wildcards_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: RDN Wildcards:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_rdn_wildcards_001')
+ testsList.append('aci_rdn_wildcards_002')
+ testsList.append('aci_rdn_wildcards_003')
+ testsList.append('aci_rdn_wildcards_004')
+ testsList.append('aci_rdn_wildcards_005')
+ testsList.append('aci_rdn_wildcards_006')
+ testsList.append('aci_rdn_wildcards_007')
+ testsList.append('aci_rdn_wildcards_008')
+ testsList.append('aci_rdn_wildcards_009')
+ testsList.append('aci_rdn_wildcards_010')
+ testsList.append('aci_rdn_wildcards_011')
+ testsList.append('aci_rdn_wildcards_012')
+ testsList.append('aci_rdn_wildcards_013')
+ testsList.append('aci_rdn_wildcards_014')
+ testsList.append('aci_rdn_wildcards_015')
+ testsList.append('aci_rdn_wildcards_016')
+ testsList.append('aci_rdn_wildcards_017')
+ testsList.append('aci_rdn_wildcards_018')
+ testsList.append('aci_rdn_wildcards_019')
+ testsList.append('aci_rdn_wildcards_020')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards_tests.xml
new file mode 100644
index 0000000..9cb9c43
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/rdn_wildcards/rdn_wildcards_tests.xml
@@ -0,0 +1,2256 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Preamble
+ #@TestIssue 445
+ #@TestPurpose Add additional entries
+ #@TestPreamble none
+ #@TestStep Directory Manager adds additional entries.
+ #@TestStep Client search for level one entry
+ #@TestStep Client search for level two entry
+ #@TestStep Client search for level three entry
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+ Entries are returned for steps 2, 3, and 4.
+ -->
+ <function name="aci_rdn_wildcards_001" scope="local">
+ <testcase name="getTestCaseName('RDN Wildcards Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: RDN Wildcards: Preamble - Adding Entries For RDN Wildcard Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_rdn_wildcards/aci_startup_rdn_wildcard_tests.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: Preamble - user searching targeted entry, level one'
+ </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=amiller, ou=branch level one, ou=aci branch,o=RDN Wildcard Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: Preamble - user searching targeted entry, level two'
+ </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=bmiller, ou=branch level two, ou=branch level one, ou=aci branch,o=RDN Wildcard Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: Preamble - user searching targeted entry, level three'
+ </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=branch level three, ou=branch level two, ou=branch level one, ou=aci branch,o=RDN Wildcard Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-type wildcard for single entry
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the last step.
+ -->
+ <function name="aci_rdn_wildcards_002" scope="local">
+ <testcase name="getTestCaseName('DN with whole-type wildcard, single entry')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, single entry, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, single 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-type wildcard for several entries
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, several entries, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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,
+ level two and level three entries
+ are returned in step 2, and the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_003" scope="local">
+ <testcase name="getTestCaseName('DN with whole-type wildcard, several entries')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, 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' : 'ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=*miller' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, 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=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-type wildcard for several entries, shorthand
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name with shorthand, several entries, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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,
+ level two and level three entries
+ are returned in step 2, and the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_004" scope="local">
+ <testcase name="getTestCaseName('DN with whole-type wildcard, several entries, shorthand')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, 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' : 'ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=*miller' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type wildcard, several entries, shorthand, 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=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-rdn wildcard for single entry
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_005" scope="local">
+ <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-rdn wildcard for single entry, two level allow
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entrries
+ are returned in the step 1 and the last step.
+ -->
+ <function name="aci_rdn_wildcards_006" scope="local">
+ <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry, two level allow')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level allow, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test multiple-whole-rdn wildcard for single entry, two level deny
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_007" scope="local">
+ <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard, single entry, two level deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-rdn wildcard for single entry, two level deny
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_008" scope="local">
+ <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry, two level deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, two level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test multiple-whole-rdn wildcard for single entry, three level deny
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_009" scope="local">
+ <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard, single entry, three level deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-rdn wildcard for single entry, three level deny
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_010" scope="local">
+ <testcase name="getTestCaseName('DN with whole-rdn wildcard, single entry, three level deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-rdn wildcard, single entry, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test whole-type and multiple-whole-rdn wildcard for several entries, shorthand
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name with shorthand, several entries, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_011" scope="local">
+ <testcase name="getTestCaseName('DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, 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' : 'ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=*miller' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=bmiller,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with whole-type and multiple-whole-rdn wildcard, several entries, shorthand, 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=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=amiller,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test several multiple-whole-rdn wildcards for single entry, three level deny
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_012" scope="local">
+ <testcase name="getTestCaseName('DN with several multiple-whole-rdn wildcards, three level deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards, three level deny, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test several multiple-whole-rdn wildcards with bad branch
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_013" scope="local">
+ <testcase name="getTestCaseName('DN with several multiple-whole-rdn wildcards with bad branch')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci12.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad branch, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with several multiple-whole-rdn wildcards with bad 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=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test multiple-whole-rdn wildcard syntax, multiple spaces
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry 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 the appropriate entry
+ is returned in the last step.
+ -->
+ <function name="aci_rdn_wildcards_014" scope="local">
+ <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard syntax, multiple spaces')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci21.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple spaces, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, multiple 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test multiple-whole-rdn wildcard syntax, extra internal space
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with multiple-whole-rdn wildcard syntax, extra internal space
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to the dn of one existing branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_rdn_wildcards_015" scope="local">
+ <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard syntax, extra internal space')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci22.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, extra internal space, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test multiple-whole-rdn wildcard syntax, extra wildcard
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wmultiple-whole-rdn wildcard syntax, extra wildcard
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to the dn of one existing branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_rdn_wildcards_016" scope="local">
+ <testcase name="getTestCaseName('DN with multiple-whole-rdn wildcard syntax, extra wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci23.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with multiple-whole-rdn wildcard syntax, extra wildcard, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test usrdn syntax, single wildcard for branch
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with single wildcard in branch name, deny
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to the dn of one existing branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_rdn_wildcards_017" scope="local">
+ <testcase name="getTestCaseName('DN with usrdn syntax, single wildcard for branch')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci24.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with usrdn syntax, single wildcard for branch, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test usrdn syntax, double wildcard notation for branch
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with double wildcard notation, deny
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to the dn of one existing branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_rdn_wildcards_018" scope="local">
+ <testcase name="getTestCaseName('DN with usrdn syntax, double wildcard notation for branch')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci25.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with usrdn syntax, double wildcard notation for branch, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI RDN Wildcard Tests
+ #@TestName Test usrdn syntax, wildcard notation for uid
+ #@TestIssue 1379
+ #@TestPurpose Target set equal to a dn with wildcard as attribute name, deny
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Client searches entry with the targeted branch dn with prohibited user.
+ #@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 the appropriate entry
+ is returned in step 2 and the last step.
+ -->
+ <function name="aci_rdn_wildcards_019" scope="local">
+ <testcase name="getTestCaseName('DN with usrdn syntax, wildcard notation for uid')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci26.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_rdn_wildcards/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, preamble adding aci,\n %s' % curr_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_rdn_wildcards/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, user searching targeted entry'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'dsBaseDN' : 'uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, 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_rdn_wildcards/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: RDN Wildcards: DN with usrdn syntax, wildcard notation for uid, 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=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestString'">
+ { 'returnString' : returnString ,
+ 'expectedString' : 'dn: uid=dmiller,ou=branch level three,ou=branch level two,ou=branch level one,ou=aci branch,o=RDN Wildcard Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Modify RDN Tests
+ #@TestName Postamble
+ #@TestIssue 1379
+ #@TestPurpose Remove entries
+ #@TestPreamble none
+ #@TestStep Directory Manager removes entries that were used for testing.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0.
+ -->
+ <function name="aci_rdn_wildcards_020" scope="local">
+ <testcase name="getTestCaseName('RDN Wildcards Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: RDN Wildcards: Postamble - delete branch, o=Modify RDN Tests'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=RDN Wildcard Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter.xml
new file mode 100644
index 0000000..834c36aa
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter.xml
@@ -0,0 +1,161 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_targattrfilter"/>
+ <function name="aci_targattrfilter" scope="local">
+ <sequence>
+ <block name="'aci_targattrfilter'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'targattrfilter'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI TargAttrFilter'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI TargAttrFilter Tests
+ #@TestSuitePurpose Verify that ACI targattrfilters are functioning correctly
+ #@TestSuiteID ACI TargAttrFilter Tests
+ #@TestSuiteGroup ACI TargAttrFilter
+ #@TestGroup ACI
+ #@TestScript aci_targattrfilter.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('targattrfilter/targattrfilter_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: TargAttrFilter:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_targattrfilter_001')
+ testsList.append('aci_targattrfilter_002')
+ testsList.append('aci_targattrfilter_003')
+ testsList.append('aci_targattrfilter_004')
+ testsList.append('aci_targattrfilter_005')
+ testsList.append('aci_targattrfilter_006')
+ testsList.append('aci_targattrfilter_007')
+ testsList.append('aci_targattrfilter_008')
+ testsList.append('aci_targattrfilter_009')
+ testsList.append('aci_targattrfilter_010')
+ testsList.append('aci_targattrfilter_011')
+ testsList.append('aci_targattrfilter_012')
+ testsList.append('aci_targattrfilter_013')
+ testsList.append('aci_targattrfilter_014')
+ testsList.append('aci_targattrfilter_015')
+ testsList.append('aci_targattrfilter_016')
+ testsList.append('aci_targattrfilter_017')
+ testsList.append('aci_targattrfilter_018')
+ testsList.append('aci_targattrfilter_019')
+ testsList.append('aci_targattrfilter_020')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter_tests.xml
new file mode 100644
index 0000000..8d6da18
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targattrfilter/targattrfilter_tests.xml
@@ -0,0 +1,1870 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Preamble
+ #@TestIssue 437
+ #@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.
+ -->
+ <function name="aci_targattrfilter_001" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targattrfilter: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: 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=gfarmer,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=gfarmer,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: 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=gfarmer,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=gfarmer,ou=People,ou=non-aci branch,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals add:title
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to add:title
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client adds title to an entry with the targeted branch dn.
+ #@TestStep Client adds prohibited title to an entry with the targeted branch dn.
+ #@TestStep Client deletes telephonenumber from an entry with the targeted branch dn.
+ #@TestStep Client adds title to an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client adds carlicense to an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1 and 3, and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_002" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals add:title')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding title to targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding prohibited title to targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title1a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:telephonenumber, user deleting roomnumber from targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_telephonenumber1.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding title to non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title1b.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title, 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title, user adding carlicense to previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_carlicense1.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals del:title
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to del:title
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client adds telephonenumber to an entry with the targeted branch dn.
+ #@TestStep Client deletes title from an entry with the targeted branch dn.
+ #@TestStep Client deletes roomnumber from an entry with the targeted branch dn.
+ #@TestStep Client deletes roomnumber from an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client deletes fax number from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1 and 3, and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_003" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals del:roomnumber')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user adding telephonenumber to targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_telephonenumber2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting title from targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_title2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting roomnumber from targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_roomnumber2.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting roomnumber from non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_roomnumber2a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:roomnumber, user deleting fax number from previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/del_faxnumber2.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals add:l,del:l
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to add:l,del:l
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_004" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals add:l,del:l')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l3.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing mail in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l3a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l3.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals add:st,del:st - st not present
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to add:st,del:st - st not present
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces st in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces st in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces st from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for step 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_005" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals add:st,del:st')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing st in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_st4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing mail in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail4.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing st in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_st4a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:st,del:st, user replacing st in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_st4.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals add:l,del:l
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to add:l,del:l
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces l in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces l in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces l from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1 and 2, and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_006" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals add:l,del:l wildcard only')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing mail in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail5.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l5a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:l,del:l, user replacing l in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_l5.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals add:street,del:street, street not present
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to add:street,del:street
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces st in an entry with the targeted branch dn.
+ #@TestStep Client replaces mail in an entry with the targeted branch dn.
+ #@TestStep Client replaces st in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces st from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for step 1, and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_007" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals add:street,del:street wildcard only, street not present')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci17.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing street in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_street17.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing mail in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_mail17.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing street in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_street17a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:street,del:street wildcard only, street not present, user replacing street in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_street17.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals add:title,del:title - wildcards
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to add:title,del:title with wildcards
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client replaces st in an entry with the targeted branch dn.
+ #@TestStep Client replaces st in an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client replaces st from an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_008" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals add:title,del:title with wildcards')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, user replacing title in targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_title6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, user replacing title in non-targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_title6a.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals add:title,del:title with wildcards, user replacing title in previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/replace_title6.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with misppelled add
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with mispelled add
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_009" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with mispelled add')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with mispelled add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with misppelled del
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with mispelled del
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_010" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with mispelled del')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with mispelled del, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with misppelled del with add
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with mispelled del
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_011" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with mispelled del with add')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with mispelled del with add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with missing comma
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with missing comma
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_012" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with missing comma')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with missing comma, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with extra quotes
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with extra quotes
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_013" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with extra quotes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with extra quotes, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with extra commas
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with extra commas
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_014" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with extra commas')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci12.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with extra commas, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with missing argument for add
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with missing argument for add
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_015" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with missing argument for add')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci13.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with missing argument for add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with missing argument for del
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with missing argument for del
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_016" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with missing argument for del')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci14.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with missing argument for del, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with missing argument for del with add
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with missing argument for del with add
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_017" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with missing argument for del with add')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci15.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with missing argument for del with add, adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter equals del:l,add:l
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter set equal to del:l,add:l
+ #@TestPreamble none
+ #@TestStep Admin adds the aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targattrfilter_018" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter equals del:l,add:l')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci16.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter equals del:l,add:l, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Targattrfilter with very long comment portion
+ #@TestIssue 437
+ #@TestPurpose Test with the targattrfilter with very long comment portion
+ #@TestPreamble Admin adds an aci with the target equal to the dn of one existing branch.
+ #@TestStep Client adds title to an entry with the targeted branch dn.
+ #@TestStep Client adds prohibited title to an entry with the targeted branch dn.
+ #@TestStep Client deletes telephonenumber from an entry with the targeted branch dn.
+ #@TestStep Client adds title to an entry that is not with the targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client adds carlicense to an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldapmodify operations,
+ 0 for steps 1 and 3, and
+ 50 for all other steps.
+ -->
+ <function name="aci_targattrfilter_019" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter with very long comment portion')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci18.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targattrfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with very long comment portion, preamble adding aci,\n %s' % curr_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_targattrfilter/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with very long comment portion, user adding title to targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_title18.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with very long comment portion, 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_targattrfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Targattrfilter with very long comment portion, user adding carlicense to previously targeted entry'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=auser,ou=people,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'ACIRules' ,
+ 'entryToBeModified' : '%s/aci/aci_targattrfilter/add_carlicense18.ldif' % remote.data ,
+ 'expectedRC' : 50
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targattrfilter Tests
+ #@TestName Postamble
+ #@TestIssue 437
+ #@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.
+ -->
+ <function name="aci_targattrfilter_020" scope="local">
+ <testcase name="getTestCaseName('Targattrfilter Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targattrfilter: Postamble - 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=gfarmer,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=gfarmer,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Postamble - 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=gfarmer,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=gfarmer,ou=People,ou=non-aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targattrfilter: Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target.xml
new file mode 100644
index 0000000..cb5db5a
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target.xml
@@ -0,0 +1,171 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_target"/>
+ <function name="aci_target" scope="local">
+ <sequence>
+ <block name="'aci_target'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'target'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI Target'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI Target Tests
+ #@TestSuitePurpose Verify that ACI target are functioning correctly
+ #@TestSuiteID ACI Target Tests
+ #@TestSuiteGroup ACI Target
+ #@TestGroup ACI
+ #@TestScript aci_target.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('target/target_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: Target:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_target_001')
+ testsList.append('aci_target_002')
+ testsList.append('aci_target_003')
+ testsList.append('aci_target_004')
+ testsList.append('aci_target_005')
+ testsList.append('aci_target_006')
+ testsList.append('aci_target_007')
+ testsList.append('aci_target_008')
+ testsList.append('aci_target_009')
+ testsList.append('aci_target_010')
+ testsList.append('aci_target_011')
+ testsList.append('aci_target_012')
+ testsList.append('aci_target_013')
+ testsList.append('aci_target_014')
+ testsList.append('aci_target_015')
+ testsList.append('aci_target_016')
+ testsList.append('aci_target_017')
+ testsList.append('aci_target_018')
+ testsList.append('aci_target_019')
+ testsList.append('aci_target_020')
+ testsList.append('aci_target_021')
+ testsList.append('aci_target_022')
+ testsList.append('aci_target_023')
+ testsList.append('aci_target_024')
+ testsList.append('aci_target_025')
+ testsList.append('aci_target_026')
+ testsList.append('aci_target_027')
+ testsList.append('aci_target_028')
+ testsList.append('aci_target_029')
+ testsList.append('aci_target_030')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target_tests.xml
new file mode 100644
index 0000000..e22d708
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/target/target_tests.xml
@@ -0,0 +1,4173 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_001" scope="local">
+ <testcase name="getTestCaseName('Target Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Target: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_002" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_003" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN - new branch')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_entries1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN - new branch, preamble adding entries,\n %s' % curr_aci
+ </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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_004" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN With Trailing Wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with trailing wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+-->
+ <function name="aci_target_005" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN With Leading Wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with leading wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_006" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN With Internal Wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with internal wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_007" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN With Multiple Wildcards')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with multiple wildcards, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_008" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN With Keyword self')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN With Keyword self - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_009" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN Above Entry')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN Above Entry - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 below 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.
+ -->
+ <function name="aci_target_010" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN Below Entry')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9a.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN Below Entry - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_011" scope="local">
+ <testcase name="getTestCaseName('Multiple Targets')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Multiple Targets - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_012" scope="local">
+ <testcase name="getTestCaseName('Keyword Target Misspelled')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Keyword Target Misspelled - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target with missing leading ldap:
+ #@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.
+ -->
+ <function name="aci_target_013" scope="local">
+ <testcase name="getTestCaseName('Missing Leading ldap:')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci12.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Missing leading ldap: - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <message>
+ 'ACI: Target: Missing leading ldap: - 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target with ldap:all
+ #@TestIssue 434
+ #@TestPurpose Test if an aci is allowed that contains the keyword target with all
+ #@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.
+ -->
+ <function name="aci_target_014" scope="local">
+ <testcase name="getTestCaseName('With ldap:all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci13.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: With ldap:all - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <message>
+ 'ACI: Target: With ldap:all - 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Target ACI with mispelled version
+ #@TestIssue 1750
+ #@TestPurpose Test if an aci is allowed that contains version mispelled
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to an existing entry
+ that has the keyword version misspelled
+ #@TestStep Admin checks if aci was added.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21,
+ and the aci has not been added.
+ -->
+ <function name="aci_target_015" scope="local">
+ <testcase name="getTestCaseName('Keyword version mispelled')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci="(targetattr=\"*\")(verison 3.0; acl \"add_aci14\"; allow (search,read) userdn=\"ldap:///all\";)"
+ </script>
+
+ <message>
+ 'ACI: Target: Keyword version mispelled - add aci,\n %s' % curr_aci
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'add' ,
+ 'expectedRC' : 21}
+ </call>
+
+ <message>
+ 'ACI: Target: Keyword version 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' : 'objectclass=*' ,
+ 'extraParams' : '-s base' ,
+ 'attributes' : 'aci' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'aci:' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Enable and disable ACIs
+ #@TestIssue 432
+ #@TestPurpose Enable and disable access control functionality
+ #@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 Admin adds a deny ACI.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Admin disables access control functionality.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Admin enables access control functionality.
+ #@TestStep Remove aci.
+ #@TestStep Remove deny 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 steps 1 and 5.
+ -->
+ <function name="aci_target_016" scope="local">
+ <testcase name="getTestCaseName('Enable and disable ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci="(targetattr=\"*\")(version 3.0; acl \"add_aci15\"; allow (search,read) userdn=\"ldap:///all\";)"
+ </script>
+
+ <message>
+ 'ACI: Target: Target enable and disable ACIs, preamble adding aci'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable ACIs, 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid: scarter' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <script>
+ curr_aci2="(targetattr=\"*\")(version 3.0; acl \"add_aci15\"; deny (search,read) userdn=\"ldap:///all\";)"
+ </script>
+
+ <message>
+ 'ACI: Target: Target enable and disable ACIs, adding deny aci'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci2 ,
+ 'changetype' : 'add' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable ACIs, 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target enable and disable ACIs, disable ACIs'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
+ 'attributeName' : 'ds-cfg-enabled' ,
+ 'newAttributeValue' : 'false' ,
+ 'changetype' : 'replace' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable ACIs, 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid: scarter' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target enable and disable ACIs, enable ACIs'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
+ 'attributeName' : 'ds-cfg-enabled' ,
+ 'newAttributeValue' : 'true' ,
+ 'changetype' : 'replace' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable ACIs, 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable ACIs, admin deleting aci'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable ACIs, admin deleting deny aci'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : curr_aci2 ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable ACIs, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Enable and disable global ACIs
+ #@TestIssue 432
+ #@TestPurpose Enable and disable access control functionality
+ #@TestPreamble none
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Admin disables access control functionality.
+ #@TestStep Client searches entry with the targeted branch dn.
+ #@TestStep Admin enables access control functionality.
+ #@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 3.
+ -->
+ <function name="aci_target_017" scope="local">
+ <testcase name="getTestCaseName('Enable and disable global ACIs')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Target: enable and disable global ACIs, 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target enable and disable global ACIs, disable ACIs'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
+ 'attributeName' : 'ds-cfg-enabled' ,
+ 'newAttributeValue' : 'false' ,
+ 'changetype' : 'replace' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable global ACIs, 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid: scarter' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target enable and disable global ACIs, enable ACIs'
+ </message>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'cn=Access Control Handler,cn=config' ,
+ 'attributeName' : 'ds-cfg-enabled' ,
+ 'newAttributeValue' : 'true' ,
+ 'changetype' : 'replace' }
+ </call>
+
+ <message>
+ 'ACI: Target: enable and disable global ACIs, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!---
+ 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 userdn equal all
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn equal all
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with anonymous user.
+ #@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.
+ -->
+ <function name="aci_target_018" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn equals all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci21.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals all, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals all, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals all, user searching targeted entry as anonymous user'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals all, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals all, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 userdn equal anyone
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn equal anyone
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with anonoymous user
+ #@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 steps 1 and 2.
+ -->
+ <function name="aci_target_019" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn equals anyone')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci22.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals anyone, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals anyone, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals anyone, user searching targeted entry as anonymous user'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals anyone, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equals anyone, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 userdn not equal all
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn not equal all
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with anonymous user.
+ #@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 2.
+ -->
+ <function name="aci_target_020" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn not equals all')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci23.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn not equals all, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn not equals all, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn not equals all, user searching targeted entry as anonymous user'
+ </message>
+
+ <call function="'AnonSearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsBaseDN' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn not equals all, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn not equals all, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 userdn equal self
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn equal self
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with self user.
+ #@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 2.
+ -->
+ <function name="aci_target_021" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn equal self')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci24.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self, user searching targeted entry as self'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'sprain' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 userdn equal self with wildcard
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with self user.
+ #@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 2.
+ -->
+ <function name="aci_target_022" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn equal self with wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci25.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard, user searching targeted entry as self'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'sprain' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 userdn equal self with wildcard and filter
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard and filter
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with another authenticated user.
+ #@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 steps 1 and 2.
+ -->
+ <function name="aci_target_023" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn equal self with wildcard and filter')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci26.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, user searching targeted entry as self'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 userdn equal self with wildcard and filter, deny
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard and filter, deny
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with another authenticated user.
+ #@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 no entries are returned for any step.
+ -->
+ <function name="aci_target_024" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn equal self with wildcard and filter, deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci27.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, user searching targeted entry as self'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, deny, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 userdn equal self with wildcard and filter, allow and deny
+ #@TestIssue 453
+ #@TestPurpose Test with the target set equal to a dn with userdn equal self with wildcard and filter, allow and deny
+ #@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 with authenticated user.
+ #@TestStep Client searches entry with the targeted branch dn with another authenticated user.
+ #@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.
+ -->
+ <function name="aci_target_025" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with userdn equal self with wildcard and filter, allow and deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci28.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, user searching targeted entry as authenticated user'
+ </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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, user searching targeted entry as self'
+ </message>
+
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=buser,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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with userdn equal self with wildcard and filter, allow and deny, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName userdn equals self - modify operational attributes
+ #@TestIssue 1479
+ #@TestPurpose Test userdn equals self - modify operational attributes
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client modifies attribute in an entry.
+ #@TestStep Client modifies one operational attribute in an entry.
+ #@TestStep Client modifies another operational attribute in an entry.
+ #@TestStep Client modifies entry to reset the original attrobute value.
+ #@TestStep Remove aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for steps 1 and 4, and 53 for steps 2 and 3.
+ -->
+ <function name="aci_target_026" scope="local">
+ <testcase name="getTestCaseName('userdn equals self - modify operational attributes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci31.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: userdn equals self - modify operational attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: userdn equals self - modify operational attributes, modify 1 '
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'sprain' ,
+ 'entryToBeModified' : '%s/aci/aci_target/mod_entry31.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Target: userdn equals self - modify operational attributes, modify 2'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'sprain' ,
+ 'entryToBeModified' : '%s/aci/aci_target/mod_entry31a.ldif' % (remote.data) ,
+ 'expectedRC' : 19
+ }
+ </call>
+
+ <message>
+ 'ACI: Target: userdn equals self - modify operational attributes, modify 3'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'sprain' ,
+ 'entryToBeModified' : '%s/aci/aci_target/mod_entry31b.ldif' % (remote.data) ,
+ 'expectedRC' : 19
+ }
+ </call>
+
+ <message>
+ 'ACI: Target: userdn equals self - modify operational attributes, modify 4'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsInstancePswd' : 'sprain' ,
+ 'entryToBeModified' : '%s/aci/aci_target/mod_entry31c.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Target: userdn equals self - modify operational 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_target/del_aci.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Search for operational attributes
+ #@TestIssue 1479
+ #@TestPurpose Test search for operational attributes
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Admin modifies entry to generate a modifiersName and modifyTimestamp
+ #@TestStep Client searches entry with no attributes stated.
+ #@TestStep Client searches entry with two operational attributes stated.
+ #@TestStep Client searches entry for all operational attributes.
+ #@TestStep Admin modifies entry to reset the original attrobute value.
+ #@TestStep Remove aci.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations,
+ and entries are returned for steps 2, 3, and 4.
+ No operational attributes are returned in step 2 and
+ only the appropriate operational attributes for steps 3 and 4.
+ -->
+ <function name="aci_target_027" scope="local">
+ <testcase name="getTestCaseName('search for operational attributes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci32.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: search for operational attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: search for operational attributes, admin modifying entry'
+ </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/mod_entry32.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Target: search for operational attributes, 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=*' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'creatorsName:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'createTimestamp:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryDN:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <if expr="returnCode != '0'">
+ <tcstatus result="'fail'"/>
+ </if>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'modifiersName:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'modifyTimestamp' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'subschemaSubentry:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: search for operational attributes, 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' : 'creatorsName modifiersName' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'creatorsName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'modifiersName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: search for operational attributes, 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' : '+' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'creatorsName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'createTimestamp:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryDN:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'modifiersName:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'modifyTimestamp' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'subschemaSubentry:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: search for operational attributes, admin modifying entry'
+ </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/mod_entry32c.ldif' % (remote.data) }
+ </call>
+
+ <message>
+ 'ACI: Target: search for operational 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_target/del_aci.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 comma
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn with comma
+ #@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.
+ -->
+ <function name="aci_target_028" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN with comma')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci33.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN with comma, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with comma, 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' : 'ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=*carter*' ,
+ '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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=acarter' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with comma, 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' : 'ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'uid=*carter*' ,
+ '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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=acarter' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with comma, 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' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN with comma, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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, default targetattr
+ #@TestIssue 434
+ #@TestPurpose Test with the target set equal to a dn, default targetattr
+ #@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
+ no entries returned for any search step.
+ -->
+ <function name="aci_target_029" scope="local">
+ <testcase name="getTestCaseName('Target Equals DN, default targetattr')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci34.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_target/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Target Equals DN, default targetattr, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN, default targetattr, 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN, default targetattr, 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN, default 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_target/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Target Equals DN, default targetattr, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!---
+ 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.
+ -->
+ <function name="aci_target_030" scope="local">
+ <testcase name="getTestCaseName('Target Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr.xml
new file mode 100644
index 0000000..24b317a
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr.xml
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_targetattr"/>
+ <function name="aci_targetattr" scope="local">
+ <sequence>
+ <block name="'aci_targetattr'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'targetattr'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI TargetAttr'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI TargetAttr Tests
+ #@TestSuitePurpose Verify that ACI targetattr are functioning correctly
+ #@TestSuiteID ACI TargetAttr Tests
+ #@TestSuiteGroup ACI TargetAttr
+ #@TestGroup ACI
+ #@TestScript aci_targetattr.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('targetattr/targetattr_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: TargetAttr:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_targetattr_001')
+ testsList.append('aci_targetattr_002')
+ testsList.append('aci_targetattr_003')
+ testsList.append('aci_targetattr_004')
+ testsList.append('aci_targetattr_005')
+ testsList.append('aci_targetattr_006')
+ testsList.append('aci_targetattr_007')
+ testsList.append('aci_targetattr_008')
+ testsList.append('aci_targetattr_009')
+ testsList.append('aci_targetattr_010')
+ testsList.append('aci_targetattr_011')
+ testsList.append('aci_targetattr_012')
+ testsList.append('aci_targetattr_013')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr_tests.xml
new file mode 100644
index 0000000..04e4a79
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetattr/targetattr_tests.xml
@@ -0,0 +1,1673 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying * information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_targetattr_001" scope="local">
+ <testcase name="getTestCaseName('TargetAttr Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targetattr: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_targetattr_002" scope="local">
+ <testcase name="getTestCaseName('Targetattr Equals One Attribute')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals One Attribute, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_targetattr_003" scope="local">
+ <testcase name="getTestCaseName('Targetattr Not Equals One Attribute')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals One Attribute, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_targetattr_004" scope="local">
+ <testcase name="getTestCaseName('Targetattr Equals Three Attributes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals Three Attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'sn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephoneNumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_targetattr_005" scope="local">
+ <testcase name="getTestCaseName('Targetattr Not Equals Three Attributes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Not Equals Three Attributes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'sn:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetattr Tests
+ #@TestName Attribute mispelled or non-existent in the entry - Use Not Equals
+ #@TestIssue 435
+ #@TestPurpose Test if an aci is allowed where the targetattr has an attribute not in the entry
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to an existing entry
+ that has specifies a non-existent attribute for the targetattr.
+ #@TestStep Client searches entry with the targeted dn for the targetattr.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0 for all ldap operations
+ and no attributes are returned.
+ -->
+ <function name="aci_targetattr_006" scope="local">
+ <testcase name="getTestCaseName('Bad Targetattr')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Bad Targetattr, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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
+ -->
+ <function name="aci_targetattr_007" scope="local">
+ <testcase name="getTestCaseName('Multiple Targets')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Multiple Targetattrs - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ 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
+ -->
+ <function name="aci_targetattr_008" scope="local">
+ <testcase name="getTestCaseName('Keyword Targetattr Mispelled')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Keyword Targetattr Mispelled - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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
+ -->
+ <function name="aci_targetattr_009" scope="local">
+ <testcase name="getTestCaseName('Targetattr With Missing Quotes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Targetattr With Missing Quotes - add aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_targetattr_010" scope="local">
+ <testcase name="getTestCaseName('Targetattr With Spaces')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Targetattr With Spaces, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephoneNumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 wildcard
+ #@TestIssue 434
+ #@TestPurpose Test with the targetattr not equal to wildcard
+ #@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 no entries are returned for any ldapsearch step.
+ -->
+ <function name="aci_targetattr_011" scope="local">
+ <testcase name="getTestCaseName('Targetattr Not Equals Wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Target: Targetattr Not Equals Wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 0
+ }
+ </call>
+
+ <message>
+ 'ACI: Target: Targetattr Not Equals 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=tmorris,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=tmorris,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Targetattr Not Equals 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=tmorris,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=tmorris,ou=People,ou=aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Target: Targetattr Not Equals 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_targetattr/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Target: Targetattr Not Equals 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=tmorris,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=tmorris,ou=People,ou=aci branch,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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 with wildcard
+ #@TestIssue 435
+ #@TestPurpose Test with the targetattr set equal to a specific attribute with wildcard
+ #@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 21.
+ -->
+ <function name="aci_targetattr_012" scope="local">
+ <testcase name="getTestCaseName('Targetattr Equals One Attribute with wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetattr/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetattr: Targetattr Equals One Attribute with wildcard, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ 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.
+ -->
+ <function name="aci_targetattr_013" scope="local">
+ <testcase name="getTestCaseName('Targetattr Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=tmorris,ou=People,ou=non-aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetattr: Postamble - Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol.xml
new file mode 100644
index 0000000..3567667
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_targetcontrol"/>
+ <function name="aci_targetcontrol" scope="local">
+ <sequence>
+ <block name="'aci_targetcontrol'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'targetcontrol'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI TargetControl'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI TargetControl Tests
+ #@TestSuitePurpose Verify that ACI targetcontrols are functioning correctly
+ #@TestSuiteID ACI TargetControl Tests
+ #@TestSuiteGroup ACI TargetControl
+ #@TestGroup ACI
+ #@TestScript aci_targetcontrol.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('targetcontrol/targetcontrol_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: TargetControl:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_targetcontrol_001')
+ testsList.append('aci_targetcontrol_002')
+ testsList.append('aci_targetcontrol_003')
+ testsList.append('aci_targetcontrol_004')
+ testsList.append('aci_targetcontrol_005')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol_tests.xml
new file mode 100644
index 0000000..a45629f
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetcontrol/targetcontrol_tests.xml
@@ -0,0 +1,725 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetcontrol Tests
+ #@TestName Preamble
+ #@TestIssue 452
+ #@TestPurpose Prepare for targetcontrol tests
+ #@TestPreamble none
+ #@TestStep Admin removes global search ACI
+ #@TestStep Admin adds ACI to access controls
+ #@TestStep Admin adds ACI to access effective rights
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+ -->
+ <function name="aci_targetcontrol_001" scope="local">
+ <testcase name="getTestCaseName('TargetControl Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targetcontrol: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <script>
+ allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_effrights_aci.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetcontrol: Preamble - Admin adding get effective rights ACI,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetcontrol Tests
+ #@TestName Targetcontrol using search effective rights with control allow
+ #@TestIssue 452
+ #@TestPurpose Test targetcontrol with search effective rights with control allow
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ apprpriate entries are returned for any step.
+ -->
+ <function name="aci_targetcontrol_002" scope="local">
+ <testcase name="getTestCaseName('Basic - search with control allow')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, preamble adding aci,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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_targetcontrol/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetcontrol Tests
+ #@TestName Targetcontrol using search effective rights with control deny
+ #@TestIssue 452
+ #@TestPurpose Test targetcontrol with search effective rights with control deny
+ #@TestPreamble Admin adds an ACI to deny effective rights control and Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestStep Admin removes ACI that denied effective rights control.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap modify operations, 50
+ for all effective rights search queries, and
+ appropriate entries are returned for any step.
+ -->
+ <function name="aci_targetcontrol_003" scope="local">
+ <testcase name="getTestCaseName('Basic - search with control deny')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ deny_aci='(targetcontrol=\"1.3.6.1.4.1.42.2.27.9.5.2\") (version 3.0; acl \"deny effective rights control\"; deny(all) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : deny_aci ,
+ 'changetype' : 'add' }
+ </call>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, preamble adding aci,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' ,
+ 'expectedRC' : 50 }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'insufficient access rights' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' ,
+ 'expectedRC' : 50 }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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_targetcontrol/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' ,
+ 'expectedRC' : 50 }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : deny_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetcontrol Tests
+ #@TestName Targetcontrol using search effective rights with control allow 2
+ #@TestIssue 452
+ #@TestPurpose Test targetcontrol with search effective rights with control allow
+ #@TestPreamble Admin adds an aci.
+ #@TestStep Client searches for effective rights in an entry in the targeted branch dn.
+ #@TestStep Client searches for effective rights in an entry in the non-targeted branch dn.
+ #@TestStep Remove aci.
+ #@TestStep Client searches for effective rights in an entry with the previously targeted branch dn.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all ldap operations, and
+ apprpriate entries are returned for any step.
+ -->
+ <function name="aci_targetcontrol_004" scope="local">
+ <testcase name="getTestCaseName('Basic - search with control allow 2')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetcontrol/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, preamble adding aci,\n %s' % curr_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_targetcontrol/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'uid aclRights roomnumber' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'entryLevel: add:0,delete:0,read:1,write:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;uid: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'attributeLevel;roomnumber: search:1,read:0,compare:0,write:0,selfwrite_add:0,selfwrite_delete:0,proxy:0' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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_targetcontrol/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Basic - search, 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' : 'aclRights' ,
+ 'extraParams' : '-T -g "dn: uid=auser,ou=people,o=ACI Tests,dc=example,dc=com" -e uid -e roomnumber -e aclRights' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'uid=scarter,ou=People,ou=non-aci branch,o=ACI Tests,dc=example,dc=com' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetcontrol Tests
+ #@TestName Postamble
+ #@TestIssue 452
+ #@TestPurpose Reset targetcontrol tests
+ #@TestPreamble none
+ #@TestStep Admin deletes ACI to access effective rights
+ #@TestStep Admin puts back global search ACI
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ for all operations.
+ -->
+ <function name="aci_targetcontrol_005" scope="local">
+ <testcase name="getTestCaseName('TargetControl Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targetcontrol: Postamble - Admin deleting get effective rights 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_targetcontrol/del_effrights_aci.ldif' % (remote.data) }
+ </call>
+
+ <script>
+ allow_aci='(targetcontrol=\"*\") (version 3.0; acl \"allow control access\"; allow(read) userdn=\"ldap:///anyone\";)'
+ </script>
+
+ <call function="'modifyAnAttribute'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'DNToModify' : 'dc=example,dc=com' ,
+ 'attributeName' : 'aci' ,
+ 'newAttributeValue' : allow_aci ,
+ 'changetype' : 'delete' }
+ </call>
+
+ <message>
+ 'ACI: Targetcontrol: Preamble - putting back Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter.xml
new file mode 100644
index 0000000..64ae941
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter.xml
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_targetfilter"/>
+ <function name="aci_targetfilter" scope="local">
+ <sequence>
+ <block name="'aci_targetfilter'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'targetfilter'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI TargetFilter'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI TargetFilter Tests
+ #@TestSuitePurpose Verify that ACI targetfilters are functioning correctly
+ #@TestSuiteID ACI TargetFilter Tests
+ #@TestSuiteGroup ACI TargetFilter
+ #@TestGroup ACI
+ #@TestScript aci_targetfilter.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('targetfilter/targetfilter_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: TargetFilter:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_targetfilter_001')
+ testsList.append('aci_targetfilter_002')
+ testsList.append('aci_targetfilter_003')
+ testsList.append('aci_targetfilter_004')
+ testsList.append('aci_targetfilter_005')
+ testsList.append('aci_targetfilter_006')
+ testsList.append('aci_targetfilter_007')
+ testsList.append('aci_targetfilter_008')
+ testsList.append('aci_targetfilter_009')
+ testsList.append('aci_targetfilter_010')
+ testsList.append('aci_targetfilter_011')
+ testsList.append('aci_targetfilter_012')
+ testsList.append('aci_targetfilter_013')
+ testsList.append('aci_targetfilter_014')
+ testsList.append('aci_targetfilter_015')
+ testsList.append('aci_targetfilter_016')
+ testsList.append('aci_targetfilter_017')
+ testsList.append('aci_targetfilter_018')
+ testsList.append('aci_targetfilter_019')
+ testsList.append('aci_targetfilter_020')
+ testsList.append('aci_targetfilter_021')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter_tests.xml
new file mode 100644
index 0000000..d1ce6e9
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetfilter/targetfilter_tests.xml
@@ -0,0 +1,3245 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying * information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter 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.
+ -->
+ <function name="aci_targetfilter_001" scope="local">
+ <testcase name="getTestCaseName('TargeFilter Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targetfilter: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_002" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals One Statement')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!--
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_003" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals One Statement 2')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 2, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_004" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals One Statement 3')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals One Statement 3, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomNumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephoneNumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_005" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Not Equals One Statement')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals One Statement, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_006" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With or, one true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter (not equals) with three statements with or, one statement true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with not equals 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 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_targetfilter_007" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Not Equals Three Statements With or, one true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3a.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals Three Statements With or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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=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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_008" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With or, none true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With or, none true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_009" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With and, one true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci5.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_010" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With and, all true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter (not equals) with three statements with and, all statements true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with not equals 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 2
+ and only with the appropriate attributes.
+ -->
+ <function name="aci_targetfilter_011" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Not Equals Three Statements With and, all true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci6a.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not Equals Three Statements With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Not 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=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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter with three statements with wildcard and or, one statement true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with wildcard and or and one statement is true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with wildcard and 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.
+ -->
+ <function name="aci_targetfilter_012" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With Wildcard and or, one true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci10.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard and 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter with three statements with two wildcards and or, one statement true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with two wildcards and or and one statement is true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with wildcard and 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.
+ -->
+ <function name="aci_targetfilter_013" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With Two Wildcards and or, one true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci11.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and or, one true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Two Wildcards and 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter with three statements with wildcard and and, all statements true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with wildcard with and and all statements true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with wildcard 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.
+ -->
+ <function name="aci_targetfilter_014" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With Wildcard With and, all true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci12.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Wildcard 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter with three statements with three wildcards and and, all statements true
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with three statements with three wildcards with and and all statements true
+ #@TestPreamble Admin adds an aci with the targetfilter containing three statements with three wildcards 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.
+ -->
+ <function name="aci_targetfilter_015" scope="local">
+ <testcase name="getTestCaseName('Targetfilter Equals Three Statements With Three Wildcards With and, all true')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci13.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards With and, all true, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'roomnumber:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'telephonenumber:' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter Equals Three Statements With Three Wildcards 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_016" scope="local">
+ <testcase name="getTestCaseName('Targetfilter With Extra Spaces')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci7.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Extra Spaces, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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_targetfilter/del_aci.ldif' % remote.data }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_017" scope="local">
+ <testcase name="getTestCaseName('Targetfilter With Missing Quotes')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci8.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Missing Quotes, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@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.
+ -->
+ <function name="aci_targetfilter_018" scope="local">
+ <testcase name="getTestCaseName('Targetfilter With Missing Quotes 2')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci9.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Missing Quotes 2, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter with Improperly Formatted Filter with or
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with improperly formatted filter with or
+ #@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.
+ -->
+ <function name="aci_targetfilter_019" scope="local">
+ <testcase name="getTestCaseName('Targetfilter With Improperly Formatted Filter with or')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci14.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with or, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with or, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter Tests
+ #@TestName Targetfilter with Improperly Formatted Filter with and
+ #@TestIssue 436
+ #@TestPurpose Test with a targetfilter with improperly formatted filter with and
+ #@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.
+ -->
+ <function name="aci_targetfilter_020" scope="local">
+ <testcase name="getTestCaseName('Targetfilter With Improperly Formatted Filter with and')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci15.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetfilter/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with and, preamble adding aci,\n %s' % curr_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/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Targetfilter With Improperly Formatted Filter with and, 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>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetfilter 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.
+ -->
+ <function name="aci_targetfilter_021" scope="local">
+ <testcase name="getTestCaseName('TargeFilter Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <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' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <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="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=non-aci branch,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetfilter: Postamble - Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope.xml
new file mode 100644
index 0000000..f6bfcaa
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope.xml
@@ -0,0 +1,146 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
+ ! or http://forgerock.org/license/CDDLv1.0.html.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2012 ForgeRock AS.
+ ! -->
+<stax>
+ <defaultcall function="aci_targetscope"/>
+ <function name="aci_targetscope" scope="local">
+ <sequence>
+ <block name="'aci_targetscope'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group'] = 'aci'
+ CurrentTestPath['suite'] = 'targetscope'
+
+ _group=CurrentTestPath['group']
+ _groupdir='%s/testcases/%s' % (TESTS_DIR,_group)
+ _label = 'ACI TargetScope'
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName ACI TargetScope Tests
+ #@TestSuitePurpose Verify that ACI targetscopes are functioning correctly
+ #@TestSuiteID ACI TargetScope Tests
+ #@TestSuiteGroup ACI TargetScope
+ #@TestGroup ACI
+ #@TestScript aci_targetscope.xml
+ #@TestHTMLLink http://www.forgerock.org/
+ -->
+
+ <call function="'testSuite_Preamble'"/>
+
+ <try>
+ <sequence>
+
+ <call function="'common_setup'">
+ {
+ 'stopServer' : False,
+ 'ldifFile' : '%s/aci/aci_startup.ldif' % remote.data,
+ 'friendlyName' : _label
+ }
+ </call>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('targetscope/targetscope_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="_import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (_groupdir,_import)"/>
+ </iterate>
+
+ <!-- Specific to aci tests -->
+ <script>
+ msg1 = 'ACI: TargetScope:'
+ </script>
+
+ <!-- List of Test Cases -->
+ <script>
+ testsList=[]
+ testsList.append('aci_targetscope_001')
+ testsList.append('aci_targetscope_002')
+ testsList.append('aci_targetscope_003')
+ testsList.append('aci_targetscope_004')
+ testsList.append('aci_targetscope_005')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: ACI Cleanup.'</message>
+ <try>
+ <sequence>
+ <call function="'common_cleanup'">
+ { 'friendlyName' : _label }
+ </call>
+ </sequence>
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope_tests.xml
new file mode 100644
index 0000000..e86ec24
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/aci/targetscope/targetscope_tests.xml
@@ -0,0 +1,1175 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2008-2010 Sun Microsystems, Inc.
+ ! Portions Copyright 2011-2012 ForgeRock AS.
+ ! -->
+<stax>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Targetscope Tests
+ #@TestName Preamble
+ #@TestIssue none
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Admin removes global search ACI.
+ #@TestStep Admin adds entries for the test cases.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <function name="aci_targetscope_001" scope="local">
+ <testcase name="getTestCaseName('TargetScope Preamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targetscope: Preamble - Removing Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'remove' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: Preamble - Adding Entries For Targetscope Tests'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/aci/aci_targetscope/aci_startup_targetscope.ldif' % remote.data }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName targetscope - base
+ #@TestIssue none
+ #@TestPurpose Test behavior of targetscope equals base
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
+ #@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 parent entry is returned in step 1.
+ -->
+ <function name="aci_targetscope_002" scope="local">
+ <testcase name="getTestCaseName('TargetScope base')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetscope: base, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: base, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: base, user searching in first child level'
+ </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: base, user searching in second child level'
+ </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: base, 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_targetscope/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: base, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName targetscope - onelevel
+ #@TestIssue none
+ #@TestPurpose Test behavior of targetscope equals onelevel
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
+ #@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.
+ Child entry are returned in steps 1 and 2.
+ -->
+ <function name="aci_targetscope_003" scope="local">
+ <testcase name="getTestCaseName('TargetScope onelevel')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetscope: onelevel, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: onelevel, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: onelevel, user searching in first child level'
+ </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: onelevel, user searching in second child level'
+ </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: onelevel, 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_targetscope/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: onelevel, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName targetscope - subtree
+ #@TestIssue none
+ #@TestPurpose Test behavior of targetscope equals onelevel
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
+ #@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.
+ All entries are returned in steps 1, 2 and 3.
+ -->
+ <function name="aci_targetscope_004" scope="local">
+ <testcase name="getTestCaseName('TargetScope subtree')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetscope: subtree, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subtree, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subtree, user searching in first child level'
+ </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subtree, user searching in second child level'
+ </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subtree, 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_targetscope/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subtree, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName targetscope - subordinate
+ #@TestIssue none
+ #@TestPurpose Test behavior of targetscope equals onelevel
+ #@TestPreamble Admin adds an aci to the dn of one existing branch.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, parent.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, first child.
+ #@TestStep Client searches entry in the targeted branch dn for entry with children, second child.
+ #@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.
+ All entries except the parent are returned in steps 1, 2 and 3.
+ -->
+ <function name="aci_targetscope_005" scope="local">
+ <testcase name="getTestCaseName('TargetScope subordinate')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_aci4.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetscope: subordinate, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subordinate, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '0' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subordinate, user searching in first child level'
+ </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=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subordinate, user searching in second child level'
+ </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=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmillertwo,uid=dmillerone,uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <call function="'searchStringForSubstring'">
+ { 'returnString' : returnString ,
+ 'testString' : 'cn:' ,
+ 'expectedResult' : '1' }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subordinate, 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_targetscope/del_aci.ldif' % remote.data }
+ </call>
+
+ <message>
+ 'ACI: Targetscope: subordinate, 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=Targetscope Tests,o=ACI Tests,dc=example,dc=com' ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'attributes' : 'cn sn uid' ,
+ 'extraParams' : '-T' }
+ </call>
+
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+
+ <call function="'checktestStringNotPresent'">
+ { 'returnString' : returnString ,
+ 'testString' : 'dn: uid=dmiller,ou=People,ou=aci branch,o=Targetscope Tests,o=ACI Tests' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName targetscope - syntax, bad keyword
+ #@TestIssue none
+ #@TestPurpose Test behavior of targetscope equals bad keyword
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to the dn of one existing branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targetscope_006" scope="local">
+ <testcase name="getTestCaseName('TargetScope bad keyword')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci1.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetscope: bad keyword, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName targetscope - syntax, wildcard
+ #@TestIssue none
+ #@TestPurpose Test behavior of targetscope equals wildcard
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to the dn of one existing branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targetscope_007" scope="local">
+ <testcase name="getTestCaseName('TargetScope wildcard')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci2.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetscope: wildcard, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Bind Type Tests
+ #@TestName targetscope - syntax, not equals
+ #@TestIssue none
+ #@TestPurpose Test behavior of targetscope with not equals
+ #@TestPreamble none
+ #@TestStep Admin adds an aci to the dn of one existing branch.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 21.
+ -->
+ <function name="aci_targetscope_008" scope="local">
+ <testcase name="getTestCaseName('TargetScope not equals')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ curr_aci_ldif_file = 'add_syntax_aci3.ldif'
+ curr_aci=retrieve_aci('%s/aci/aci_targetscope/%s' % (local.data,curr_aci_ldif_file));
+ </script>
+
+ <message>
+ 'ACI: Targetscope: not equals, preamble adding aci,\n %s' % curr_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_targetscope/%s' % (remote.data,curr_aci_ldif_file) ,
+ 'expectedRC' : 21
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+ <!---
+ Place test-specific test information here.
+ The tag, TestMarker, must be the same as the tag, TestSuiteName.
+ #@TestMarker ACI Target Tests
+ #@TestName Postamble
+ #@TestIssue none
+ #@TestPurpose Test default aci settings
+ #@TestPreamble none
+ #@TestStep Admin deletes the entries that were used for testing.
+ #@TestStep Admin puts back the global ACI for searches.
+ #@TestPostamble none
+ #@TestResult Success if OpenDS returns 0
+ and no entries are returned
+ for all operations.
+ -->
+ <function name="aci_targetscope_009" scope="local">
+ <testcase name="getTestCaseName('TargetScope Postamble')">
+ <sequence>
+ <try>
+ <sequence>
+
+ <call function="'testCase_Preamble'"/>
+
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <message>
+ 'ACI: Targetscope: Postamble - deleting entries'
+ </message>
+
+ <call function="'DeleteEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : 'o=Targetscope Tests, o=ACI Tests,dc=example,dc=com' ,
+ 'extraParams' : '-x'}
+ </call>
+
+ <message>
+ 'ACI: Targetscope: Resetting Search Global ACI'
+ </message>
+
+ <call function="'modifyGlobalAci'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'aciValue' : GLOBAL_ACI_SEARCH ,
+ 'opType' : 'add' }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <sequence>
+ <call function="'testCase_Postamble'"/>
+ </sequence>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+</stax>
--
Gitblit v1.10.0