pta_basic_tests.xml revision 9e400e3d1871744e62389a6c84b841e6e6158d63
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams<?xml version="1.0" encoding="UTF-8" standalone="no"?>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams<!DOCTYPE stax SYSTEM "/shared/stax.dtd">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams<!--
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! CDDL HEADER START
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams !
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! The contents of this file are subject to the terms of the
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! Common Development and Distribution License, Version 1.0 only
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! (the "License"). You may not use this file except in compliance
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! with the License.
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams !
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! You can obtain a copy of the license at
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! trunk/opends/resource/legal-notices/CDDLv1_0.txt
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! or http://forgerock.org/license/CDDLv1.0.html.
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! See the License for the specific language governing permissions
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! and limitations under the License.
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams !
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! When distributing Covered Code, include this CDDL HEADER in each
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! file and include the License file at
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! trunk/opends/resource/legal-notices/CDDLv1_0.txt. If applicable,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! add the following below this CDDL HEADER, with the fields enclosed
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! by brackets "[]" replaced with your own identifying information:
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! Portions Copyright [yyyy] [name of copyright owner]
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams !
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! CDDL HEADER END
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams !
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! Copyright 2011 ForgeRock AS
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams<stax>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Definition of Test Cases -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!--- Test Cases : Basic : PTA -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!--- Test Case information
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestMarker Basic: PTA unmapped
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestName Basic: PTA unmapped
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestID basic_pta_001
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPurpose Verify user with a LDAP PTA unmapped policy can authenticated to remote server
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPreamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestSteps Configure LDAP PTA Policy
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPostamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestResult Test is successful if the result code is 0
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!--- Test Case information
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestMarker Basic: PTA mapped-bind
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestName Basic: PTA mapped-bind
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestID basic_pta_002
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPurpose Verify user with a LDAP PTA mapped-bind policy can authenticated to remote server
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPreamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestSteps Configure LDAP PTA Policy
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPostamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestResult Test is successful if the result code is 0
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!--- Test Case information
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestMarker Basic: PTA mapped-search
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestName Basic: PTA mapped-search
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestID basic_pta_003
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPurpose Verify user with a LDAP PTA mapped-search policy can authenticated to remote server
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPreamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestSteps Configure LDAP PTA Policy
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPostamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestResult Test is successful if the result code is 0
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <function name="basic_pta_003" scope="local">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <testcase name="getTestCaseName('PTA mapped-search')">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <try>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'testCase_Preamble'"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <message>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'Test Name = %s' % STAXCurrentTestcase
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </message>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- On primary server configure LDAP PTA -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams primaryHost = primary_remote_ldap_server.getHostname()
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams primaryPort = primary_remote_ldap_server.getPort()
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams secondaryHost = secondary_remote_ldap_server.getHostname()
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams secondaryPort = secondary_remote_ldap_server.getPort()
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options=[]
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--set primary-remote-ldap-server:%s:%s' % (primaryHost,primaryPort))
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--set mapped-attribute:cn')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--set mapped-search-base-dn:dc=AD,dc=com')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--set mapping-policy:mapped-search')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--set secondary-remote-ldap-server:%s:%s' % (secondaryHost,secondaryPort))
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--type ldap-pass-through')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--policy-name "LDAP PTA"')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams dsconfigOptions=' '.join(options)
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'dsconfig'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % (local_ldap_server.getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceAdminPort' : local_ldap_server.getAdminPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : local_ldap_server.getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : local_ldap_server.getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'subcommand' : 'create-password-policy',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'optionsString' : dsconfigOptions
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Read back the "authentication policy" object -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options=[]
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams options.append('--policy-name "LDAP PTA"')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams dsconfigOptions=' '.join(options)
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'dsconfig'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % (local_ldap_server.getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceAdminPort' : local_ldap_server.getAdminPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : local_ldap_server.getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : local_ldap_server.getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'subcommand' : 'get-password-policy-prop',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'optionsString' : dsconfigOptions
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Add ds-pwp-password-policy-dn:
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams cn=LDAP PTA,cn=Password Policies,cn=config
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams to users entry -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams remotePTAuserName='uid=jvedder, ou=People, o=example'
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams remotePTAuserPSWD='befitting'
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ldapObject=[]
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ldapObject.append('ds-pwp-password-policy-dn: cn=LDAP PTA,cn=Password Policies,cn=config')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'modifyAnAttribute'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % (local_ldap_server.getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : local_ldap_server.getHostname() ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : local_ldap_server.getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : local_ldap_server.getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : local_ldap_server.getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'DNToModify' : remotePTAuserName ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'listAttributes' : ldapObject ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'changetype' : 'add' }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Search users entry as Directory Manager for operational attributes -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'ldapSearchWithScript'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % (local_ldap_server.getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : local_ldap_server.getHostname() ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : local_ldap_server.getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : local_ldap_server.getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : local_ldap_server.getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsBaseDN' : remotePTAuserName ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsFilter' : 'objectclass=*' ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsAttributes' : '+'
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Search users entry as himself -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'ldapSearchWithScript'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % (local_ldap_server.getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : local_ldap_server.getHostname() ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : local_ldap_server.getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : remotePTAuserName,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : remotePTAuserPSWD ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsBaseDN' : remotePTAuserName ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsFilter' : 'objectclass=*'
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Modify the users entry -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ldapObject=[]
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ldapObject.append('description: i am now a remote LDAP PTA user')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'modifyAnAttribute'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % (local_ldap_server.getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : local_ldap_server.getHostname() ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : local_ldap_server.getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : remotePTAuserName,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : remotePTAuserPSWD,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'DNToModify' : remotePTAuserName ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'listAttributes' : ldapObject ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'changetype' : 'replace' }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Delete LDAP PTA (authentication) password policy attribute -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ldapObject=[]
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ldapObject.append('ds-pwp-password-policy-dn: cn=LDAP PTA,cn=Password Policies,cn=config')
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'modifyAnAttribute'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : local_ldap_server.getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % (local_ldap_server.getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : local_ldap_server.getHostname() ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : local_ldap_server.getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : local_ldap_server.getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : local_ldap_server.getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'DNToModify' : remotePTAuserName ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'listAttributes' : ldapObject ,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'changetype' : 'delete' }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <message log="1" level="'fatal'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </message>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </catch>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <finally>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'testCase_Postamble'"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </finally>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </try>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </testcase>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </function>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams</stax>