core_psearch_tests.xml revision 945930ece8ea73e5184836bf0bf3efad2e3e6c36
<?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 2010 Sun Microsystems, Inc.
! Portions Copyright 2011 ForgeRock AS.
! -->
<stax>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Import LDIF file
#@TestID Import LDIF file
#@TestPurpose Import LDIF file using the default backend and start the server
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_import-ldif_1" scope="local">
<testcase name="getTestCaseName('Import LDIF file')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{
'ldifFile' : '%s/core/psearch/default.ldif' % remote.data,
'backEnd' : DIRECTORY_INSTANCE_BE
}
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] }
</call>
<call function="'StartDsWithScript'"/>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Delete entries
#@TestID Delete entries
#@TestPurpose Verify PSearch with "delete" option, detect delete operations
#@TestPreamble
#@TestSteps Start PSearch with "delete" option, in parallel delete some entries
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_delete_1" scope="local">
<testcase name="getTestCaseName('Delete entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_delete: starting the psearch client with "delete" option'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "delete",
'ldif' : "True",
'outputFile' : '%s/core/psearch/delete/psearch-delete.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_delete: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_delete: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_delete: delete entries tmorris,abergin,jwalker,tclow'
</message>
<call function="'ldapDeleteWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/delete/delete.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
<message>
'psearch_delete: Check all delete operations have been successfully detected'
</message>
<call function="'LdifDiffWithScript'">
{
'sourceLdif' : '%s/core/psearch/delete/psearch-delete.out' % remote.temp,
'targetLdif' : '%s/core/psearch/delete/delete.ref' % remote.data,
'outputLdif' : '%s/psearch-delete-diffs.out' % remote.temp
}
</call>
<if expr="STAXResult != 0">
<tcstatus result="'fail'"/>
</if>
</sequence>
</parallel>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Add-Modify-Moddn entries
#@TestID Add-Modify-Moddn entries
#@TestPurpose Verify PSearch with "delete" option, no detect other operations
#@TestPreamble
#@TestSteps Start PSearch with "delete" option, in parallel make the following operations modify add moddn
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_delete_2" scope="local">
<testcase name="getTestCaseName('Add-Modify-Moddn entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_delete_blank: starting the psearch client with "delete" option'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "delete",
'ldif' : "True",
'outputFile' : '%s/core/psearch/delete/delete_blank.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_delete_blank: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_delete_blank: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_delete_blank: add entry uid=Bada Boum,ou=People,dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/delete/add.ldif' % remote.data
}
</call>
<message>
'psearch_delete_blank: moddn entry uid=elott, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/delete/moddn.ldif' % remote.data
}
</call>
<message>
'psearch_delete_blank: modify entry uid=rschneid, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/delete/modify.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
</sequence>
</parallel>
<message>
'psearch_delete: Check "modify,add,moddn" operations have not been detected'
</message>
<call function="'GetEntry'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'entry' : '%s/core/psearch/delete/delete_blank.out' % remote.temp,
'attribute' : 'TYPE'
}
</call>
<if expr="RC != 48">
<tcstatus result="'fail'"/>
</if>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Modify entries
#@TestID Modify entries
#@TestPurpose Verify PSearch with "modify" option, detect modify operations
#@TestPreamble
#@TestSteps Start PSearch with "modify" option, in parallel modify some entries
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_modify_1" scope="local">
<testcase name="getTestCaseName('Modify entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_modify: starting the psearch client with "modify" option'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "modify",
'ldif' : "True",
'outputFile' : '%s/core/psearch/modify/psearch-modify.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_modify: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_modify: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_modify: modify entries uid=bjensen, ou=People, dc=example,dc=com\
uid=mwhite, ou=People, dc=example,dc=com\
uid=mtalbot, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/modify/modify.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
<message>
'psearch_modify: Check all modify operations have been successfully detected'
</message>
<call function="'LdifDiffWithScript'">
{
'sourceLdif' : '%s/core/psearch/modify/psearch-modify.out' % remote.temp,
'targetLdif' : '%s/core/psearch/modify/modify.ref' % remote.data,
'outputLdif' : '%s/psearch-modify-diffs.out' % remote.temp
}
</call>
<if expr="STAXResult != 0">
<tcstatus result="'fail'"/>
</if>
</sequence>
</parallel>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Add-Delete-Moddn entries
#@TestID Add-Delete-Moddn entries
#@TestPurpose Verify PSearch with "modify" option, no detect other operations
#@TestPreamble
#@TestSteps Start PSearch with "modify" option, in parallel make the following operations add delete moddn
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_modify_2" scope="local">
<testcase name="getTestCaseName('Add-Delete-Moddn entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_modify_blank: starting the psearch client with "modify" option'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "modify",
'ldif' : "True",
'outputFile' : '%s/core/psearch/modify/psearch-modify_blank.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_modify_blank: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_modify_blank: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_modify_blank: add entry uid=Bidi Bim,ou=People,dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/modify/add.ldif' % remote.data
}
</call>
<message>
'psearch_modify_blank: moddn entry uid=elotte, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/modify/moddn.ldif' % remote.data
}
</call>
<message>
'psearch_modify_blank: delete entry Bidi Bim,ou=People,dc=example,dc=com'
</message>
<call function="'ldapDeleteWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/modify/delete.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
</sequence>
</parallel>
<message>
'psearch_modify: Check "delete,add,moddn" operations have not been detected'
</message>
<call function="'GetEntry'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'entry' : '%s/core/psearch/modify/psearch-modify_blank.out' % remote.temp,
'attribute' : 'TYPE'
}
</call>
<if expr="RC != 48">
<tcstatus result="'fail'"/>
</if>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Moddn entries
#@TestID Moddn entries
#@TestPurpose Verify PSearch with "moddn" option, detect moddn operations
#@TestPreamble
#@TestSteps Start PSearch with "moddn" option, in parallel moddn some entries
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_moddn_1" scope="local">
<testcase name="getTestCaseName('Moddn entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_moddn: starting the psearch client with "moddn" option'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "moddn",
'ldif' : "True",
'outputFile' : '%s/core/psearch/moddn/psearch-moddn.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_moddn: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_moddn: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_moddn: moddn entries uid=mreuter, ou=People, dc=example,dc=com \
uid=jgoldste, ou=People, dc=example,dc=com \
uid=dlanoway, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/moddn/moddn.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
<message>
'psearch_moddn: Check all moddn operations have been successfully detected'
</message>
<call function="'LdifDiffWithScript'">
{
'sourceLdif' : '%s/core/psearch/moddn/psearch-moddn.out' % remote.temp,
'targetLdif' : '%s/core/psearch/moddn/moddn.ref' % remote.data,
'outputLdif' : '%s/psearch-moddn-diffs.out' % remote.temp
}
</call>
<if expr="STAXResult != 0">
<tcstatus result="'fail'"/>
</if>
</sequence>
</parallel>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Add-Delete-Modify entries
#@TestID Add-Delete-Modify entries
#@TestPurpose Verify PSearch with "moddn" option, no detect other operations
#@TestPreamble
#@TestSteps Start PSearch with "moddn" option, in parallel make the following operations add delete modify
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_moddn_2" scope="local">
<testcase name="getTestCaseName('Add-Delete-Modify entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_moddn_blank: starting the psearch client with "moddn" option'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "moddn",
'ldif' : "True",
'outputFile' : '%s/core/psearch/moddn/psearch-moddn_blank.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_moddn_blank: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_modify_blank: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_moddn_blank: add entry uid=Bobo Baba,ou=People,dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/moddn/add.ldif' % remote.data
}
</call>
<message>
'psearch_moddn_blank: modify entry lrentz, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/moddn/modify.ldif' % remote.data
}
</call>
<message>
'psearch_moddn_blank: delete entry uid=Bobo Baba,ou=People,dc=example,dc=com'
</message>
<call function="'ldapDeleteWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/moddn/delete.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
</sequence>
</parallel>
<message>
'psearch_moddn: Check "delete,add,modify" operations have not been detected'
</message>
<call function="'GetEntry'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'entry' : '%s/core/psearch/moddn/psearch-moddn_blank.out' % remote.temp,
'attribute' : 'TYPE'
}
</call>
<if expr="RC != 48">
<tcstatus result="'fail'"/>
</if>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Add entries
#@TestID Add entries
#@TestPurpose Verify PSearch with "add" option, detect add operations
#@TestPreamble
#@TestSteps Start PSearch with "add" option, in parallel add some entries
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_add_1" scope="local">
<testcase name="getTestCaseName('Add entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_add: starting the psearch client with "add" options'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "add",
'ldif' : "True",
'outputFile' : '%s/core/psearch/add/psearch-add.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_add: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_add: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_add: add entries uid=Bil Bo,ou=People,dc=example,dc=com \
Blam Blo,ou=People,dc=example,dc=com \
Blum Blue,ou=People,dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/add/add.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
<message>
'psearch_add: Check all add operations have been successfully detected'
</message>
<call function="'LdifDiffWithScript'">
{
'sourceLdif' : '%s/core/psearch/add/psearch-add.out' % remote.temp,
'targetLdif' : '%s/core/psearch/add/add.ref' % remote.data,
'outputLdif' : '%s/psearch-add-diffs.out' % remote.temp
}
</call>
<if expr="STAXResult != 0">
<tcstatus result="'fail'"/>
</if>
</sequence>
</parallel>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
<!--- Test Case information
#@TestMarker Core PSearch Tests
#@TestName Core: PSearch: Moddn-Delete-Modify entries
#@TestID Moddn-Delete-Modify entries
#@TestPurpose Verify PSearch with "add" option, no detect other operations
#@TestPreamble
#@TestSteps Start PSearch with "add" option, in parallel make the following operations moddn delete modify
#@TestPostamble
#@TestResult Test is successful if the result code is 0
-->
<function name="core_psearch_add_2" scope="local">
<testcase name="getTestCaseName('Moddn-Delete-Modify entries')">
<try>
<sequence>
<call function="'testCase_Preamble'"/>
<parallel>
<sequence>
<message>
'psearch_add_blank: starting the psearch client with "add" option'
</message>
<call function="'psearch'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
'dsBaseDn' : "dc=example,dc=com",
'operation' : "add",
'ldif' : "True",
'outputFile' : '%s/core/psearch/add/psearch-add_blank.out' % remote.temp
}
</call>
</sequence>
<sequence>
<message>
'psearch_add_blank: wait event from psearch'
</message>
<call function="'WaitEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_add_blank: delete event from psearch'
</message>
<call function="'DeleteEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch/Ready'
}
</call>
<message>
'psearch_add_blank: modify entry uid=Blam Blo, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/add/modify.ldif' % remote.data
}
</call>
<message>
'psearch_add_blank: moodn entry uid=Bil Bo, ou=People, dc=example,dc=com'
</message>
<call function="'ldapModifyWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/add/moddn.ldif' % remote.data
}
</call>
<message>
'psearch_add_blank: delete entry uid=Blum Blue,ou=People,dc=example,dc=com'
</message>
<call function="'ldapDeleteWithScript'">
{
'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
'dsFilename' : '%s/core/psearch/add/delete.ldif' % remote.data
}
</call>
<call function="'SendEvent'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'name' : 'PSearch tests/Completed'
}
</call>
</sequence>
</parallel>
<message>
'psearch_add: Check "delete,moddn,modify" operations have not been detected'
</message>
<call function="'GetEntry'">
{
'location' : STAF_REMOTE_HOSTNAME ,
'entry' : '%s/core/psearch/add/psearch-add_blank.out' % remote.temp,
'attribute' : 'TYPE'
}
</call>
<if expr="RC != 48">
<tcstatus result="'fail'"/>
</if>
</sequence>
<catch exception="'STAXException.*'" typevar="eType" var="eInfo">
<message log="1" level="'fatal'">
'%s: Test failed. eInfo(%s)' % (eType,eInfo)
</message>
</catch>
<finally>
<call function="'testCase_Postamble'"/>
</finally>
</try>
</testcase>
</function>
</stax>