<?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 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 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 2006-2009 Sun Microsystems, Inc.
! Portions Copyright 2011-2013 ForgeRock AS
! -->
<stax>
<defaultcall function="main_security" />
<function name="main_security">
<function-list-args>
<function-required-arg name="STAXParentID"/>
</function-list-args>
<sequence>
<try>
<block name="'security'">
<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']='security'
_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:
# UPGRADE MODE
# Only for upgrade from 2.5.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.6.*',UPGRADE_OPENDJNAME) is not None:
# UPGRADE MODE
# Only for upgrade from 2.6.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\";)"
else:
# NORMAL MODE
GLOBAL_ACI_SEARCH="(targetattr!=\"userPassword||authPassword||debugsearchindex||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(['client_auth','client_auth'])
suiteList.append(['jks','security_jks'])
suiteList.append(['pkcs12','security_pkcs12'])
suiteList.append(['startTLS','security_startTLS'])
suiteList.append(['sasl','security_sasl'])
suiteList.append(['auth_pwd_syntax','security_auth_pwd_syntax'])
suiteList.append(['pwd_validator','security_pwd_validator'])
suiteList.append(['pwd_storage','security_pwd_storage'])
suiteList.append(['bind_no_pwd','security_bind_no_pwd'])
suiteList.append(['account_activation','security_account_activation'])
</script>
<!-- Run the test suites -->
<iterate var="_suite" in="suiteList">
<sequence>
<try>
<sequence>
<import machine="STAF_LOCAL_HOSTNAME"
file="'%s/testcases/%s/%s/%s.xml' % (TESTS_DIR,_group,_suite[0],_suite[1])"/>
<call function="'%s' % _suite[1]" />
</sequence>
<catch exception="'STAFException.TestSuite.SetupException'">
<sequence>
<message log="1" level="'fatal'">'Setup of test suite %s failed.' % _suite[0]</message>
</sequence>
</catch>
<catch exception="'STAFException.TestSuite.MainException'">
<sequence>
<message log="1" level="'fatal'">'Main part of test suite %s failed.' % _suite[0]</message>
</sequence>
</catch>
<catch exception="'STAFException.TestSuite.CleanupException'">
<sequence>
<message log="1" level="'fatal'">'Cleanup of test suite %s failed.' % _suite[0]</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>