5065N/A<?xml version="1.0" encoding="UTF-8" standalone="no"?>
5065N/A<!DOCTYPE stax SYSTEM "/shared/stax.dtd">
5065N/A<!--
5065N/A ! CDDL HEADER START
5065N/A !
5065N/A ! The contents of this file are subject to the terms of the
5065N/A ! Common Development and Distribution License, Version 1.0 only
5065N/A ! (the "License"). You may not use this file except in compliance
5065N/A ! with the License.
5065N/A !
6982N/A ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
6982N/A ! or http://forgerock.org/license/CDDLv1.0.html.
5065N/A ! See the License for the specific language governing permissions
5065N/A ! and limitations under the License.
5065N/A !
5065N/A ! When distributing Covered Code, include this CDDL HEADER in each
6982N/A ! file and include the License file at legal-notices/CDDLv1_0.txt.
6982N/A ! If applicable, add the following below this CDDL HEADER, with the
6982N/A ! fields enclosed by brackets "[]" replaced with your own identifying
6982N/A ! information:
5065N/A ! Portions Copyright [yyyy] [name of copyright owner]
5065N/A !
5065N/A ! CDDL HEADER END
5065N/A !
5065N/A ! Copyright 2010 Sun Microsystems, Inc.
6518N/A ! Portions Copyright 2011-2013 ForgeRock AS.
5065N/A ! -->
5065N/A<stax>
5065N/A
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Import LDIF file
5065N/A #@TestID Import LDIF file
5065N/A #@TestPurpose Import LDIF file using the default backend and start the server
5065N/A #@TestPreamble
5065N/A #@TestSteps
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_import-ldif_1" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Import LDIF file')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <call function="'ImportLdifWithScript'">
5065N/A {
5073N/A 'ldifFile' : '%s/core/psearch/default.ldif' % remote.data,
5073N/A 'backEnd' : DIRECTORY_INSTANCE_BE
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'checkImport'">
5065N/A { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
5065N/A 'uid=dmiller, ou=People, dc=example,dc=com',
5065N/A 'uid=rhunt, ou=People, dc=example,dc=com'] }
5065N/A </call>
5065N/A
5065N/A <call function="'StartDsWithScript'"/>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Delete entries
5065N/A #@TestID Delete entries
5065N/A #@TestPurpose Verify PSearch with "delete" option, detect delete operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "delete" option, in parallel delete some entries
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_delete_1" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Delete entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete: starting the psearch client with "delete" option'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "delete",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/delete/psearch-delete.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete: delete entries tmorris,abergin,jwalker,tclow'
5065N/A </message>
5065N/A <call function="'ldapDeleteWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/delete/delete.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete: Check all delete operations have been successfully detected'
5065N/A </message>
5065N/A <call function="'LdifDiffWithScript'">
5065N/A {
5540N/A 'sourceLdif' : '%s/core/psearch/delete/psearch-delete.out' % remote.temp,
5065N/A 'targetLdif' : '%s/core/psearch/delete/delete.ref' % remote.data,
5540N/A 'outputLdif' : '%s/psearch-delete-diffs.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A </parallel>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Add-Modify-Moddn entries
5065N/A #@TestID Add-Modify-Moddn entries
5065N/A #@TestPurpose Verify PSearch with "delete" option, no detect other operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "delete" option, in parallel make the following operations modify add moddn
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_delete_2" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Add-Modify-Moddn entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete_blank: starting the psearch client with "delete" option'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "delete",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/delete/delete_blank.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete_blank: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete_blank: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete_blank: add entry uid=Bada Boum,ou=People,dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/delete/add.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete_blank: moddn entry uid=elott, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/delete/moddn.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A
5065N/A <message>
5065N/A 'psearch_delete_blank: modify entry uid=rschneid, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/delete/modify.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A
5065N/A </parallel>
5065N/A
5065N/A <message>
5065N/A 'psearch_delete: Check "modify,add,moddn" operations have not been detected'
5065N/A </message>
5065N/A
5065N/A <call function="'GetEntry'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5540N/A 'entry' : '%s/core/psearch/delete/delete_blank.out' % remote.temp,
5065N/A 'attribute' : 'TYPE'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <if expr="RC != 48">
5065N/A <tcstatus result="'fail'"/>
5065N/A </if>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Modify entries
5065N/A #@TestID Modify entries
5065N/A #@TestPurpose Verify PSearch with "modify" option, detect modify operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "modify" option, in parallel modify some entries
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_modify_1" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Modify entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify: starting the psearch client with "modify" option'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "modify",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/modify/psearch-modify.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify: modify entries uid=bjensen, ou=People, dc=example,dc=com\
5065N/A uid=mwhite, ou=People, dc=example,dc=com\
5065N/A uid=mtalbot, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/modify/modify.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify: Check all modify operations have been successfully detected'
5065N/A </message>
5065N/A <call function="'LdifDiffWithScript'">
5065N/A {
5540N/A 'sourceLdif' : '%s/core/psearch/modify/psearch-modify.out' % remote.temp,
5065N/A 'targetLdif' : '%s/core/psearch/modify/modify.ref' % remote.data,
5540N/A 'outputLdif' : '%s/psearch-modify-diffs.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A </parallel>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Add-Delete-Moddn entries
5065N/A #@TestID Add-Delete-Moddn entries
5065N/A #@TestPurpose Verify PSearch with "modify" option, no detect other operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "modify" option, in parallel make the following operations add delete moddn
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_modify_2" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Add-Delete-Moddn entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify_blank: starting the psearch client with "modify" option'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "modify",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/modify/psearch-modify_blank.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify_blank: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify_blank: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify_blank: add entry uid=Bidi Bim,ou=People,dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/modify/add.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify_blank: moddn entry uid=elotte, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/modify/moddn.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A
5065N/A <message>
5065N/A 'psearch_modify_blank: delete entry Bidi Bim,ou=People,dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapDeleteWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/modify/delete.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A
5065N/A </parallel>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify: Check "delete,add,moddn" operations have not been detected'
5065N/A </message>
5065N/A
5065N/A <call function="'GetEntry'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5540N/A 'entry' : '%s/core/psearch/modify/psearch-modify_blank.out' % remote.temp,
5065N/A 'attribute' : 'TYPE'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <if expr="RC != 48">
5065N/A <tcstatus result="'fail'"/>
5065N/A </if>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Moddn entries
5065N/A #@TestID Moddn entries
5065N/A #@TestPurpose Verify PSearch with "moddn" option, detect moddn operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "moddn" option, in parallel moddn some entries
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_moddn_1" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Moddn entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn: starting the psearch client with "moddn" option'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "moddn",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/moddn/psearch-moddn.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn: moddn entries uid=mreuter, ou=People, dc=example,dc=com \
5065N/A uid=jgoldste, ou=People, dc=example,dc=com \
5065N/A uid=dlanoway, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/moddn/moddn.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn: Check all moddn operations have been successfully detected'
5065N/A </message>
5065N/A <call function="'LdifDiffWithScript'">
5065N/A {
5540N/A 'sourceLdif' : '%s/core/psearch/moddn/psearch-moddn.out' % remote.temp,
5065N/A 'targetLdif' : '%s/core/psearch/moddn/moddn.ref' % remote.data,
5540N/A 'outputLdif' : '%s/psearch-moddn-diffs.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A </parallel>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Add-Delete-Modify entries
5065N/A #@TestID Add-Delete-Modify entries
5065N/A #@TestPurpose Verify PSearch with "moddn" option, no detect other operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "moddn" option, in parallel make the following operations add delete modify
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_moddn_2" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Add-Delete-Modify entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn_blank: starting the psearch client with "moddn" option'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "moddn",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/moddn/psearch-moddn_blank.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn_blank: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_modify_blank: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn_blank: add entry uid=Bobo Baba,ou=People,dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/moddn/add.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn_blank: modify entry lrentz, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/moddn/modify.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn_blank: delete entry uid=Bobo Baba,ou=People,dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapDeleteWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/moddn/delete.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A
5065N/A </parallel>
5065N/A
5065N/A <message>
5065N/A 'psearch_moddn: Check "delete,add,modify" operations have not been detected'
5065N/A </message>
5065N/A
5065N/A <call function="'GetEntry'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5540N/A 'entry' : '%s/core/psearch/moddn/psearch-moddn_blank.out' % remote.temp,
5065N/A 'attribute' : 'TYPE'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <if expr="RC != 48">
5065N/A <tcstatus result="'fail'"/>
5065N/A </if>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Add entries
5065N/A #@TestID Add entries
5065N/A #@TestPurpose Verify PSearch with "add" option, detect add operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "add" option, in parallel add some entries
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_add_1" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Add entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_add: starting the psearch client with "add" options'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "add",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/add/psearch-add.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_add: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_add: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_add: add entries uid=Bil Bo,ou=People,dc=example,dc=com \
5065N/A Blam Blo,ou=People,dc=example,dc=com \
5065N/A Blum Blue,ou=People,dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/add/add.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_add: Check all add operations have been successfully detected'
5065N/A </message>
5065N/A <call function="'LdifDiffWithScript'">
5065N/A {
5540N/A 'sourceLdif' : '%s/core/psearch/add/psearch-add.out' % remote.temp,
5065N/A 'targetLdif' : '%s/core/psearch/add/add.ref' % remote.data,
5540N/A 'outputLdif' : '%s/psearch-add-diffs.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A </parallel>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5065N/A <!--- Test Case information
5065N/A #@TestMarker Core PSearch Tests
5065N/A #@TestName Core: PSearch: Moddn-Delete-Modify entries
5065N/A #@TestID Moddn-Delete-Modify entries
5065N/A #@TestPurpose Verify PSearch with "add" option, no detect other operations
5065N/A #@TestPreamble
5065N/A #@TestSteps Start PSearch with "add" option, in parallel make the following operations moddn delete modify
5065N/A #@TestPostamble
5065N/A #@TestResult Test is successful if the result code is 0
5065N/A -->
5065N/A
5065N/A <function name="core_psearch_add_2" scope="local">
5065N/A
5065N/A <testcase name="getTestCaseName('Moddn-Delete-Modify entries')">
5065N/A
5065N/A <try>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <call function="'testCase_Preamble'"/>
5065N/A
5065N/A <parallel>
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_add_blank: starting the psearch client with "add" option'
5065N/A </message>
5065N/A
5065N/A <call function="'psearch'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
5065N/A 'dsBaseDn' : "dc=example,dc=com",
5065N/A 'operation' : "add",
5065N/A 'ldif' : "True",
5540N/A 'outputFile' : '%s/core/psearch/add/psearch-add_blank.out' % remote.temp
5065N/A }
5065N/A </call>
5065N/A </sequence>
5065N/A
5065N/A <sequence>
5065N/A
5065N/A <message>
5065N/A 'psearch_add_blank: wait event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'WaitEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_add_blank: delete event from psearch'
5065N/A </message>
5065N/A
5065N/A <call function="'DeleteEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch/Ready'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_add_blank: modify entry uid=Blam Blo, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/add/modify.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <message>
5065N/A 'psearch_add_blank: moodn entry uid=Bil Bo, ou=People, dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapModifyWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/add/moddn.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A
5065N/A <message>
5065N/A 'psearch_add_blank: delete entry uid=Blum Blue,ou=People,dc=example,dc=com'
5065N/A </message>
5065N/A
5065N/A <call function="'ldapDeleteWithScript'">
5065N/A {
5065N/A 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
5065N/A 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
5065N/A 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
5065N/A 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
5065N/A 'dsFilename' : '%s/core/psearch/add/delete.ldif' % remote.data
5065N/A }
5065N/A </call>
5065N/A
5065N/A <call function="'SendEvent'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5065N/A 'name' : 'PSearch tests/Completed'
5065N/A }
5065N/A </call>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A
5065N/A </parallel>
5065N/A
5065N/A <message>
5065N/A 'psearch_add: Check "delete,moddn,modify" operations have not been detected'
5065N/A </message>
5065N/A
5065N/A <call function="'GetEntry'">
5065N/A {
5065N/A 'location' : STAF_REMOTE_HOSTNAME ,
5540N/A 'entry' : '%s/core/psearch/add/psearch-add_blank.out' % remote.temp,
5065N/A 'attribute' : 'TYPE'
5065N/A }
5065N/A </call>
5065N/A
5065N/A <if expr="RC != 48">
5065N/A <tcstatus result="'fail'"/>
5065N/A </if>
5065N/A
5065N/A </sequence>
5065N/A
5065N/A <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
5065N/A <message log="1" level="'fatal'">
5065N/A '%s: Test failed. eInfo(%s)' % (eType,eInfo)
5065N/A </message>
5065N/A </catch>
5065N/A
5065N/A <finally>
5065N/A <call function="'testCase_Postamble'"/>
5065N/A </finally>
5065N/A
5065N/A </try>
5065N/A
5065N/A </testcase>
5065N/A </function>
5065N/A
5073N/A</stax>