basic.xml revision 5540
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/OpenDS.LICENSE
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
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/OpenDS.LICENSE. 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 2009-2010 Sun Microsystems, Inc.
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! Portions Copyright 2011 ForgeRock AS.
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams ! -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams<stax>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <defaultcall function="fractional-replication_basic"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <function name="fractional-replication_basic">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <block name="'basic'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <try>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!--- Test Suite information
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSuiteName fractional-replication basic
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSuitePurpose Verify the basic fractional replication setup
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSuiteID basic tests
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSuiteGroup basic
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestMarker fractional-replication basic
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestGroup fractional-replication
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestScript basic.xml
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestHTMLLink http://opends.dev.java.net/
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams if not CurrentTestPath.has_key('group'):
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams CurrentTestPath['group']='fractional-replication'
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams CurrentTestPath['suite']=STAXCurrentBlock
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testSuite_Preamble'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- fractional-replication setup -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <import machine="STAF_LOCAL_HOSTNAME"
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams file="'%s/testcases/fractional-replication/fractional-replication_setup.xml'
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams % (TESTS_DIR)"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'fractional-replication_setup'" />
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams Pservers = _topologyServerList
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams ldapPservers = [ '%s:%s' % (s.getHostname(),s.getPort()) for s in Pservers]
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams fractionalTypes = ['fractional-include','fractional-exclude']
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- Retrieve replication-domain name -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <paralleliterate var="s" in="Pservers">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'dsconfig'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'location' : s.getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPath' : '%s/%s' % (s.getDir(),OPENDSNAME),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceHost' : s.getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceAdminPort' : s.getAdminPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceDn' : s.getRootDn(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstancePswd' : s.getRootPwd(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'subcommand' : 'list-replication-domains',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'objectType' : 'provider-name',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'objectName' : 'Multimaster Synchronization',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <if expr="RC == 0">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams replicationDomains = STAXResult[0][1]
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams for line in replicationDomains.splitlines():
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams if line.startswith(synchroSuffix):
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams colSplit = line.split(':')
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams domain = colSplit[0].strip()
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams serverId = colSplit[2].strip()
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams ls = '%s:%s' % (s.getHostname(),s.getPort())
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams domainMap[ls] = (domain,serverId)
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams break
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </if>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </paralleliterate>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams repMasterDomain = '%s %s,cn=o_example,%s' % \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams ("cn=Replication Domain",
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams domainMap[ldapPservers[0]][1],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "cn=replication,cn=monitor")
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams repClientDomain = '%s %s,cn=o_example,%s' % \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams ("cn=Replication Domain",
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams domainMap[ldapPservers[1]][1],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "cn=replication,cn=monitor")
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <message level="'debug'">'domainMap=%s' % domainMap</message>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams testsList=[]
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams testsList.append('basic_include')
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams testsList.append('basic_exclude')
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- Execute the Tests -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <iterate var="__test" in="testsList">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'%s' % (__test)" />
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </iterate>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <message>'Test Cases Completed.'</message>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- Test Suite Cleanup -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <message>'Finally: Global Schema Cleanup.'</message>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- fractional-replication cleanup -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <import machine="STAF_LOCAL_HOSTNAME"
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams file="'%s/testcases/fractional-replication/fractional-replication_cleanup.xml'
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams % (TESTS_DIR)"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'fractional-replication_cleanup'" />
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <catch exception="'STAFException'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </catch>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testSuite_Postamble'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </block>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </function>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <function name="basic_exclude">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!--- Test Case information
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestMarker fractional-replication basic
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestName basic fractional-exclude
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestID basic fractional-exclude
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPurpose basic fractional-exclude functionality
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPreamble
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSteps ...
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPostamble
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestResult Success if test replica contains filtered data
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <testcase name="getTestCaseName('basic fractional-exclude')">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testCase_Preamble'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'replicationStatus'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { "server" : Pservers[0],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "replicationDomain" : repMasterDomain,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- set fractional-exclude on server 2 -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'set-ops-fractional-replication-attributes'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams {
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "replicationDomain" : domainMap[ldapPservers[1]][0],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "server" : Pservers[1],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "include" : [('reset','')],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "exclude" : [('set','*:description,0.9.2342.19200300.100.1.60')],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "expectedRC" : 0
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams keptAttributes = [ 'cn', 'dn', 'employeeNumber', 'givenName',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'initials', 'l', 'mail', 'mobile', 'objectClass',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'o', 'ou', 'pager', 'postalAddress',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'sn', 'st', 'street', 'telephoneNumber',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'uid', 'userPassword', 'postalCode'
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams ]
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- verify we have Bad Generation ID -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'replicationStatus'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { "server" : Pservers[1],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "replicationDomain" : repClientDomain,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <if expr="len(STAXResult) == 3 and STAXResult[1].find('Bad generation id') != -1">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testPassed'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <else>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testFailed'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </else>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </if>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'getNumberOfEntries'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { "server" : Pservers[1],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "backend" : "userRoot",
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "domain" : "o=example",
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'basic_initialization'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'basic_add'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'masterEntry' : '%s/fractional-replication/basic-masterAdd.ldif' \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams % Pservers[0].getDataDir(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'replicaEntry' : '%s/fractional-replication/basic-replicaExcludeAdd.ldif' \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams % Pservers[1].getDataDir()
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams <call function="'basic_modify'"/>
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams <call function="'basic_modifyDN'"/>
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams <call function="'basic_onlineImport'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <message log="1" level="'fatal'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </message>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </catch>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testCase_Postamble'"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </finally>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </testcase>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </function>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <function name="basic_include">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!--- Test Case information
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestMarker fractional-replication basic
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestName basic fractional-include
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestID basic fractional-include
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPurpose basic fractional-include functionality
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPreamble
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestSteps ...
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPostamble
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestResult Success if test replica contains filtered data
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <testcase name="getTestCaseName('basic fractional-include')">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <try>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <sequence>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testCase_Preamble'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'replicationStatus'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { "server" : Pservers[0],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "replicationDomain" : repMasterDomain,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- set fractional-include on server 2 -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'set-ops-fractional-replication-attributes'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams {
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "replicationDomain" : domainMap[ldapPservers[1]][0],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "server" : Pservers[1],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "include" : [('set','*:description')],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "exclude" : [('reset','')],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "expectedRC" : 0
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <script>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams keptAttributes = ['dn','sn','objectClass','description',
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'cn','ou','uid','o',
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'ds-sync-generation-id', 'entryUUID'
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams ]
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </script>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- verify we have Bad Generation ID -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'replicationStatus'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { "server" : Pservers[1],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "replicationDomain" : repClientDomain,
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <if expr="len(STAXResult) == 3 and STAXResult[1].find('Bad generation id') != -1">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testPassed'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <else>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testFailed'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </else>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </if>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'getNumberOfEntries'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { "server" : Pservers[1],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "backend" : "userRoot",
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "domain" : "o=example",
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'basic_initialization'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'basic_add'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { 'masterEntry' : '%s/fractional-replication/basic-masterAdd.ldif' \
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams % Pservers[0].getDataDir(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'replicaEntry' : '%s/fractional-replication/basic-replicaIncludeAdd.ldif' \
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams % Pservers[1].getDataDir()
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'basic_modify'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'basic_modifyDN'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'basic_onlineImport'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </sequence>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <message log="1" level="'fatal'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </message>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </catch>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <finally>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testCase_Postamble'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </finally>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </try>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </testcase>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </function>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <function name="basic_initialization">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!--- Test Case information
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestMarker fractional-replication basic
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestName basic initialization
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestID basic initialization
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestPurpose check fractional-include Bad Generation ID -> Normal status
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestPreamble
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestSteps ...
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestPostamble
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestResult Success if test replica contains filtered data
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <testcase name="getTestCaseName('basic initialization')">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <try>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <sequence>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testCase_Preamble'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'stopServers'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams [ Pservers ]
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- server 1 import basic-master.ldif -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'ImportLdifWithScript'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { "location" : Pservers[0].getHostname(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "dsPath" : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "backEnd" : "userRoot",
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "templateFile" : "%s/fractional-replication/basic-master.template" \
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams % Pservers[0].getDataDir(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "replaceExisting" : True,
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- all Pservers : start -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'startServers'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams [ Pservers ]
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- Check some data was imported into Directory Server -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <message>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'Checking import on %s folder %s.' % (Pservers[0].getHostname(),Pservers[0].getDir())
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </message>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'checkImport'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { 'location' : Pservers[0].getHostname(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsPath' : '%s/%s' \
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams % (Pservers[0].getDir(),OPENDSNAME),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsHost' : Pservers[0].getHostname(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsAdminPort' : Pservers[0].getAdminPort(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsPort' : Pservers[0].getPort(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsDn' : Pservers[0].getRootDn(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsPswd' : Pservers[0].getRootPwd(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'startDS' : 'no',
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'expectedEntries' : ['uid=user.0,ou=People,o=example',
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'uid=user.49,ou=People,o=example',
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'uid=user.35,ou=People,o=example'
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams ]
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'getNumberOfEntries'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { "server" : Pservers[0],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "backend" : "userRoot",
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "domain" : "o=example",
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'getNumberOfEntries'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { "server" : Pservers[1],
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "backend" : "userRoot",
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams "domain" : "o=example",
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- server 1 : initialize server 1 from server 2 -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'initializeReplication'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { 'location' : Pservers[0].getHostname(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'sourceInstanceHost' : Pservers[0].getHostname(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'sourceInstanceAdminPort' : Pservers[0].getAdminPort(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'replicationDnList' : ['o=example']
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'ldapsearchVerifyFrac'">
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams { 'servers' : Pservers,
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams 'keptAttributes' : keptAttributes
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams }
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <if expr="RC == 0">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testPassed'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <else>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testFailed'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </else>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </if>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <message log="1" level="'fatal'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </message>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </catch>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <finally>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testCase_Postamble'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </finally>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </try>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </testcase>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </function>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <function name="basic_onlineImport">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!--- Test Case information
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestMarker fractional-replication basic
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestName basic online import
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestID basic online import
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPurpose add entries with a online import
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPreamble
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSteps online import data on Master
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSteps online import data on Replica
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPostamble
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestResult Success add on both master and replica is
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams correctly filtered
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <testcase name="getTestCaseName('basic online import')">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testCase_Preamble'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'replicationStatus'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { "server" : Pservers[1],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "replicationDomain" : repClientDomain,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams thisDataDir1="%s/fractional-replication" \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams % Pservers[0].getDataDir()
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams thisDataDir2="%s/fractional-replication" \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams % Pservers[1].getDataDir()
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams thisTempdir1=Pservers[0].getTmpDir()
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams thisTempdir2=Pservers[1].getTmpDir()
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </script>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'ImportLdifWithScript'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'location' : Pservers[0].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceAdminPort' : Pservers[0].getAdminPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'backEnd' : 'userRoot',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'append' : True,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'rejectFile' : '%s/basic-masterOnlineImport.rejected' % thisTempdir1,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'overwriteFile' : True,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'templateFile' : '%s/basic-masterOnlineImport.template' % \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams thisDataDir1
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'ImportLdifWithScript'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'location' : Pservers[1].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceHost' : Pservers[1].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceAdminPort' : Pservers[1].getAdminPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceDn' : Pservers[1].getRootDn(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstancePswd' : Pservers[1].getRootPwd(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'backEnd' : 'userRoot',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'append' : True,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'rejectFile' : '%s/basic-masterOnlineImport.rejected' % thisTempdir2,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'overwriteFile' : True,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'templateFile' : '%s/basic-masterOnlineImport.template' % \
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams thisDataDir2
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'replicationStatus'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { "server" : Pservers[1],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams "replicationDomain" : repClientDomain,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <if expr="len(STAXResult) == 3 and STAXResult[1].find('Bad generation id') != -1">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testFailed'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <break/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <else>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- Check some data was imported into Directory Server -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'checkImport'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'location' : Pservers[0].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsHost' : Pservers[0].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsAdminPort' : Pservers[0].getAdminPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPort' : Pservers[0].getPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsDn' : Pservers[0].getRootDn(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPswd' : Pservers[0].getRootPwd(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'startDS' : 'no',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'expectedEntries' : ['uid=user.0,ou=masterOnlineImport,o=example',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'uid=user.2,ou=masterOnlineImport,o=example',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'uid=user.4,ou=masterOnlineImport,o=example'
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams ],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'checkImport'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'location' : Pservers[1].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsHost' : Pservers[1].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsAdminPort' : Pservers[1].getAdminPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPort' : Pservers[1].getPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsDn' : Pservers[1].getRootDn(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPswd' : Pservers[1].getRootPwd(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'startDS' : 'no',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'expectedEntries' : ['uid=user.0,ou=masterOnlineImport,o=example',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'uid=user.2,ou=masterOnlineImport,o=example',
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'uid=user.4,ou=masterOnlineImport,o=example'
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams ],
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <if expr="RC != 0">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'setKnownIssue'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'issueId' : 0000 }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <break/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </if>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </else>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </if>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'ldapsearchVerifyFrac'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'servers' : Pservers,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'keptAttributes' : keptAttributes
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <if expr="RC == 0">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testPassed'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <else>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testFailed'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </else>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </if>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <message log="1" level="'fatal'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </message>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </catch>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testCase_Postamble'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </finally>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </testcase>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </function>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <function name="basic_add">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <function-map-args>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <function-required-arg name="masterEntry"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <function-required-arg name="replicaEntry"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </function-map-args>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!--- Test Case information
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestMarker fractional-replication basic
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestName basic add operation
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestID basic add operation
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPurpose check add operation
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestPreamble
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams #@TestSteps ...
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams #@TestPostamble
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams #@TestResult Success add on both master and replica is
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams correctly filtered
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <testcase name="getTestCaseName('basic add operation')">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <try>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <sequence>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'testCase_Preamble'"/>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <!-- adding entry with filterable attributes in master -->
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'addEntry'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'location' : Pservers[0].getHostname(),
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams 'dsInstancePort' : Pservers[0].getPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'entryToBeAdded' : masterEntry,
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <call function="'SearchObject'">
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams { 'location' : Pservers[0].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstancePort' : Pservers[0].getPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsBaseDN' : 'uid=added-user.0,ou=People,o=example',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsFilter' : 'objectclass=*',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'extraParams' : '-s base' }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'ldapsearchVerifyFrac'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'servers' : Pservers,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'keptAttributes' : keptAttributes
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams <if expr="RC == 0">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'testPassed'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- Delete previously added entry -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'ldapDeleteWithScript'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : Pservers[0].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstancePort' : Pservers[0].getPort(),
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsDn' : ['uid=added-user.0,ou=People,o=example'],
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
d5ab1ee6a7f1c8159562af429b861ae32f6aa2d6gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <else>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'testFailed'"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </else>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </if>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- adding entry with filterable attributes in replica -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'addEntry'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : Pservers[1].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : Pservers[1].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : Pservers[1].getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : Pservers[1].getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : Pservers[1].getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'entryToBeAdded' : masterEntry,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'expectedRC' : 53
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <!-- adding entry without filterable attributes in replica -->
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'addEntry'">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams { 'location' : Pservers[1].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : Pservers[1].getHostname(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsInstancePort' : Pservers[1].getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : Pservers[1].getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : Pservers[1].getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'entryToBeAdded' : replicaEntry
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'SearchObject'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : Pservers[1].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : Pservers[1].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : Pservers[1].getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : Pservers[1].getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : Pservers[1].getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsBaseDN' : 'cn=added-user.1,ou=People,o=example',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsFilter' : 'objectclass=*',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'extraParams' : '-s base' }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <if expr="RC == 0">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <sequence>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'ldapsearchVerifyFrac'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'servers' : Pservers,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'keptAttributes' : keptAttributes
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <if expr="RC == 0">
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'testPassed'"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!-- Delete previously added entry -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'ldapDeleteWithScript'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : Pservers[1].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : Pservers[1].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : Pservers[1].getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : Pservers[1].getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : Pservers[1].getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsDn' : ['cn=added-user.1,ou=People,o=example'],
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </sequence>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <else>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'testFailed'"/>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </else>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </if>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </if>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </sequence>
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 </testcase>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </function>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <function name="basic_modify">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <!--- Test Case information
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestMarker fractional-replication basic
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestName basic modify operation
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestID basic modify operation
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams #@TestPurpose check modify operation
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPreamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestSteps ...
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestPostamble
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams #@TestResult Success modify on both master and replica is
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams correctly filtered
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams -->
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <testcase name="getTestCaseName('basic modify operation')">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <try>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'testCase_Preamble'"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <script>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams thisDataDir1="%s/fractional-replication" \
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams % Pservers[0].getDataDir()
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams </script>
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams <call function="'ldapModifyWithScript'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : Pservers[0].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : Pservers[0].getPort(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsFilename' : '%s/basic-masterModify.ldif' \
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams % thisDataDir1
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'SearchObject'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'location' : Pservers[0].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'dsInstancePort' : Pservers[0].getPort(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsBaseDN' : 'uid=user.0,ou=People,o=example',
01e09f486fb36ebba02ca7958e3069a251dd6ce9gary.williams 'dsFilter' : 'objectclass=*',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'attributes' : 'postalCode',
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'extraParams' : '-s base' }
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </call>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'ldapsearchVerifyFrac'">
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams { 'servers' : Pservers,
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams 'keptAttributes' : keptAttributes
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams }
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams </call>
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams <if expr="RC == 0">
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams <call function="'testPassed'"/>
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams <else>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <call function="'testFailed'"/>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </else>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </if>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams </sequence>
9e400e3d1871744e62389a6c84b841e6e6158d63gary.williams <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <message log="1" level="'fatal'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </message>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </catch>
cac8d0253f9bf77a50323a91487c6246013ef4ebgary.williams <finally>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'testCase_Postamble'"/>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </finally>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </try>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </testcase>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </function>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <function name="basic_modifyDN">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <!--- Test Case information
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestMarker fractional-replication basic
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestName basic modifyDN operation
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestID basic modifyDN operation
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestPurpose check modifyDN operation
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestPreamble
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestSteps ...
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestPostamble
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams #@TestResult Success modifyDN on both master and replica is
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams correctly filtered
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams -->
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <testcase name="getTestCaseName('basic modifyDN operation')">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <try>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <sequence>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'testCase_Preamble'"/>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <script>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams thisDataDir1 = "%s/fractional-replication" \
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams % Pservers[0].getDataDir()
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </script>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'addEntry'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'location' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePort' : Pservers[0].getPort(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'entryToBeAdded' : '%s/basic-masterModifyDN.ldif' \
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams % thisDataDir1
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'SearchObject'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'location' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePort' : Pservers[0].getPort(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsBaseDN' : 'uid=user.0,ou=A,ou=masterModifyDN,o=example',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsFilter' : 'objectclass=*',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'extraParams' : '-s base' }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'ldapsearchVerifyFrac'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'servers' : Pservers,
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'keptAttributes' : keptAttributes
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <!-- modify the RDN and delete old one -->
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'modifyDn'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'location' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePort' : Pservers[0].getPort(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'DNToModify' : 'uid=user.0,ou=A,ou=masterModifyDN,o=example',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'newRDN' : 'uid=newUser.0',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'deleteOldRDN' : True,
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'ldapsearchVerifyFrac'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'servers' : Pservers,
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'keptAttributes' : keptAttributes
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <!-- modify the RDN and keep old one -->
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'modifyDn'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'location' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePort' : Pservers[0].getPort(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'DNToModify' : 'uid=user.1,ou=A,ou=masterModifyDN,o=example',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'newRDN' : 'uid=newUser.1',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'deleteOldRDN' : False,
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'ldapsearchVerifyFrac'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'servers' : Pservers,
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'keptAttributes' : keptAttributes
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <!-- change superior -->
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'modifyDn'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'location' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePort' : Pservers[0].getPort(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'DNToModify' : 'uid=user.2,ou=A,ou=masterModifyDN,o=example',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'newRDN' : 'uid=newUser.2',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'deleteOldRDN' : False,
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'newSuperior' : 'ou=B,ou=masterModifyDN,o=example',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'ldapsearchVerifyFrac'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'servers' : Pservers,
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'keptAttributes' : keptAttributes
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'SearchObject'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'location' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceHost' : Pservers[0].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePort' : Pservers[0].getPort(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceDn' : Pservers[0].getRootDn(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePswd' : Pservers[0].getRootPwd(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsBaseDN' : 'ou=masterModifyDN,o=example',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsFilter' : 'objectclass=*',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'extraParams' : '-s sub' }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <message level="'debug'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams STAXResult
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </message>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <if expr="RC == 0">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'testPassed'"/>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <else>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'testFailed'"/>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </else>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </if>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </sequence>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <message log="1" level="'fatal'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </message>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </catch>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <finally>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <sequence>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'DeleteEntry'">
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams { 'location' : Pservers[1].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceHost' : Pservers[1].getHostname(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePort' : Pservers[1].getPort(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstanceDn' : Pservers[1].getRootDn(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsInstancePswd' : Pservers[1].getRootPwd(),
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'dsBaseDN' : 'ou=masterModifyDN,o=example',
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams 'extraParams' : '-x'
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams }
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </call>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams <call function="'testCase_Postamble'"/>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </sequence>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </finally>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </try>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </testcase>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams </function>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams</stax>
a031e6d9877cabf432f5e4f9caafec7f5781198agary.williams