<?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 2008 Sun Microsystems, Inc.
! -->
<stax>
<defaultcall function="virtualAttributes_setup"/>
<function name="virtualAttributes_setup">
<function-map-args>
<function-arg-def name="startDS" type="optional" default="True">
<function-arg-description>
Optional start the Directory Server
</function-arg-description>
<function-arg-property name="type" value="boolean"/>
</function-arg-def>
<function-arg-def name="loadBackend" type="optional" default="True">
<function-arg-description>
Specifies whether the backend should be loaded with some data.
</function-arg-description>
<function-arg-property name="type" value="boolean"/>
</function-arg-def>
</function-map-args>
<sequence>
<block name="'setup'">
<sequence>
<block name="'Create DS Topology'">
<!-- Create the topology necessary to the tests -->
<sequence>
<message>
'------ Create DS topology as described in config.py'
</message>
<call function="'createTopology'">
{ 'initialiseInstance' : False }
</call>
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
</sequence>
</block>
<if expr="startDS == True">
<block name="'Start DS'">
<!--- Start DS -->
<sequence>
<message>
'------ Start DS on port %s' % DIRECTORY_INSTANCE_PORT
</message>
<!--- Start DS -->
<call function="'StartDsWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME }
</call>
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<!--- Check that DS started -->
<call function="'isAlive'">
{ 'noOfLoops' : 10 ,
'noOfMilliSeconds' : 2000 }
</call>
</sequence>
</block>
</if>
<if expr="loadBackend == True">
<block name="'Load Backend Data'">
<!-- Load the data needed by the test suite -->
<sequence>
<message>
'------ Load LDIF : virtualAttributes.ldif'
</message>
<call function="'ldapModifyWithScript'">
{ 'dsAdd' : 'True',
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
% remote.data,
'dsContinueOnError' : 'true',
'expectedRC' : 0
}
</call>
</sequence>
</block>
</if>
</sequence>
</block>
</sequence>
</function>
</stax>