<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!--
! 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
! 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-2009 Sun Microsystems, Inc.
! Portions Copyright 2011-2013 ForgeRock AS
! -->
<stax>
<defaultcall function="main_privileges" />
<function name="main_privileges">
<function-list-args>
<function-required-arg name="STAXParentID"/>
</function-list-args>
<sequence>
<try>
<block name="'privileges'">
<sequence>
<!--- Load the job environment for the test group execution -->
<import machine="STAF_LOCAL_HOSTNAME"
file="'%s/environment.xml' % TESTS_FUNCTIONS_DIR" />
<call function="'loadJobEnvironment'">
{ 'parent' : STAXParentID }
</call>
<script>
CurrentTestPath['group']='privileges'
_group=CurrentTestPath['group']
import re
if UPGRADE_OPENDJNAME != '' and re.search('2.4.*',UPGRADE_OPENDJNAME) is not None:
# UPGRADE MODE
# Only for upgrade from 2.4.x
GLOBAL_ACI_SEARCH="(targetattr!=\"userPassword||authPassword||changes||changeNumber||changeType||changeTime||targetDN||newRDN||newSuperior||deleteOldRDN||targetEntryUUID||targetUniqueID||changeInitiatorsName||changeLogCookie\")(version 3.0; acl \"Anonymous read access\"; allow (read,search,compare) userdn=\"ldap:///anyone\";)"
elif UPGRADE_OPENDJNAME != '' and (re.search('2.5.*',UPGRADE_OPENDJNAME) is not None or re.search('2.6.0',UPGRADE_OPENDJNAME) is not None):
# UPGRADE MODE
# Only for upgrade from 2.5.x and 2.6.0
GLOBAL_ACI_SEARCH="(targetattr!=\"userPassword||authPassword||changes||changeNumber||changeType||changeTime||targetDN||newRDN||newSuperior||deleteOldRDN||targetEntryUUID||targetUniqueID||changeInitiatorsName||changeLogCookie\")(version 3.0; acl \"Anonymous read access\"; allow (read,search,compare) userdn=\"ldap:///anyone\";)"
else:
# NORMAL MODE
GLOBAL_ACI_SEARCH="(targetattr!=\"userPassword||authPassword||changes||changeNumber||changeType||changeTime||targetDN||newRDN||newSuperior||deleteOldRDN\")(version 3.0; acl \"Anonymous read access\"; allow (read,search,compare) userdn=\"ldap:///anyone\";)"
</script>
<call function="'testGroup_Preamble'" />
<script>
suiteList = []
suiteList.append('users')
suiteList.append('directory_manager')
suiteList.append('new_root_user')
suiteList.append('unindexed_searches')
suiteList.append('import_task')
suiteList.append('export_task')
suiteList.append('backup_task')
suiteList.append('restore_task')
</script>
<!-- Run the test suites -->
<iterate var="_suite" in="suiteList">
<sequence>
<try>
<sequence>
<import machine="STAF_LOCAL_HOSTNAME"
<call function="'%s_%s' % (_group,_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>
</sequence>
</block>
<catch exception="'STAXException.TestGroupException'">
<sequence>
<message log="1" level="'fatal'">'Execution of Test Group Failed'</message>
</sequence>
</catch>
<finally>
<!-- Test Group postamble -->
<call function="'testGroup_Postamble'"/>
</finally>
</try>
</sequence>
</function>
</stax>