da97433d5cd26e422a370d186f98659383c06721csovant<?xml version="1.0" encoding="UTF-8" standalone="no"?>
da97433d5cd26e422a370d186f98659383c06721csovant<!DOCTYPE stax SYSTEM "/shared/stax.dtd">
da97433d5cd26e422a370d186f98659383c06721csovant<!--
da97433d5cd26e422a370d186f98659383c06721csovant ! CDDL HEADER START
da97433d5cd26e422a370d186f98659383c06721csovant !
da97433d5cd26e422a370d186f98659383c06721csovant ! The contents of this file are subject to the terms of the
da97433d5cd26e422a370d186f98659383c06721csovant ! Common Development and Distribution License, Version 1.0 only
da97433d5cd26e422a370d186f98659383c06721csovant ! (the "License"). You may not use this file except in compliance
da97433d5cd26e422a370d186f98659383c06721csovant ! with the License.
da97433d5cd26e422a370d186f98659383c06721csovant !
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! or http://forgerock.org/license/CDDLv1.0.html.
da97433d5cd26e422a370d186f98659383c06721csovant ! See the License for the specific language governing permissions
da97433d5cd26e422a370d186f98659383c06721csovant ! and limitations under the License.
da97433d5cd26e422a370d186f98659383c06721csovant !
da97433d5cd26e422a370d186f98659383c06721csovant ! When distributing Covered Code, include this CDDL HEADER in each
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! file and include the License file at legal-notices/CDDLv1_0.txt.
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! If applicable, add the following below this CDDL HEADER, with the
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! fields enclosed by brackets "[]" replaced with your own identifying
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! information:
da97433d5cd26e422a370d186f98659383c06721csovant ! Portions Copyright [yyyy] [name of copyright owner]
da97433d5cd26e422a370d186f98659383c06721csovant !
da97433d5cd26e422a370d186f98659383c06721csovant ! CDDL HEADER END
da97433d5cd26e422a370d186f98659383c06721csovant !
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp ! Copyright 2009-2010 Sun Microsystems, Inc.
004a0de820f70c99337ff8270d52950808da24f9gary.williams ! Portions Copyright 2011-2014 ForgeRock AS.
da97433d5cd26e422a370d186f98659383c06721csovant ! -->
da97433d5cd26e422a370d186f98659383c06721csovant<stax>
da97433d5cd26e422a370d186f98659383c06721csovant <defaultcall function="fractional-replication_basic"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="fractional-replication_basic">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <block name="'basic'">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Suite information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSuiteName fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSuitePurpose Verify the basic fractional replication setup
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSuiteID basic tests
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSuiteGroup basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestGroup fractional-replication
da97433d5cd26e422a370d186f98659383c06721csovant #@TestScript basic.xml
da97433d5cd26e422a370d186f98659383c06721csovant #@TestHTMLLink http://opends.dev.java.net/
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <script>
da97433d5cd26e422a370d186f98659383c06721csovant if not CurrentTestPath.has_key('group'):
da97433d5cd26e422a370d186f98659383c06721csovant CurrentTestPath['group']='fractional-replication'
004a0de820f70c99337ff8270d52950808da24f9gary.williams CurrentTestPath['suite']='basic'
da97433d5cd26e422a370d186f98659383c06721csovant </script>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testSuite_Preamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- fractional-replication setup -->
da97433d5cd26e422a370d186f98659383c06721csovant <import machine="STAF_LOCAL_HOSTNAME"
da97433d5cd26e422a370d186f98659383c06721csovant file="'%s/testcases/fractional-replication/fractional-replication_setup.xml'
da97433d5cd26e422a370d186f98659383c06721csovant % (TESTS_DIR)"/>
004a0de820f70c99337ff8270d52950808da24f9gary.williams <call function="'fractional-replication_setup'">
004a0de820f70c99337ff8270d52950808da24f9gary.williams { 'label' : "Basic" }
004a0de820f70c99337ff8270d52950808da24f9gary.williams </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <script>
da97433d5cd26e422a370d186f98659383c06721csovant Pservers = _topologyServerList
da97433d5cd26e422a370d186f98659383c06721csovant ldapPservers = [ '%s:%s' % (s.getHostname(),s.getPort()) for s in Pservers]
da97433d5cd26e422a370d186f98659383c06721csovant fractionalTypes = ['fractional-include','fractional-exclude']
da97433d5cd26e422a370d186f98659383c06721csovant </script>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <!-- Retrieve replication-domain name -->
da97433d5cd26e422a370d186f98659383c06721csovant <paralleliterate var="s" in="Pservers">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'dsconfig'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : s.getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (s.getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : s.getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceAdminPort' : s.getAdminPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : s.getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : s.getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'subcommand' : 'list-replication-domains',
da97433d5cd26e422a370d186f98659383c06721csovant 'objectType' : 'provider-name',
da97433d5cd26e422a370d186f98659383c06721csovant 'objectName' : 'Multimaster Synchronization',
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <script>
da97433d5cd26e422a370d186f98659383c06721csovant replicationDomains = STAXResult[0][1]
da97433d5cd26e422a370d186f98659383c06721csovant for line in replicationDomains.splitlines():
da97433d5cd26e422a370d186f98659383c06721csovant if line.startswith(synchroSuffix):
da97433d5cd26e422a370d186f98659383c06721csovant colSplit = line.split(':')
da97433d5cd26e422a370d186f98659383c06721csovant domain = colSplit[0].strip()
da97433d5cd26e422a370d186f98659383c06721csovant serverId = colSplit[2].strip()
da97433d5cd26e422a370d186f98659383c06721csovant ls = '%s:%s' % (s.getHostname(),s.getPort())
da97433d5cd26e422a370d186f98659383c06721csovant domainMap[ls] = (domain,serverId)
da97433d5cd26e422a370d186f98659383c06721csovant break
da97433d5cd26e422a370d186f98659383c06721csovant </script>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </paralleliterate>
da97433d5cd26e422a370d186f98659383c06721csovant <script>
b168b33f591684db77dc1078f77947802d2fedf4gary.williams replDomainSuffix = 'cn=o_example,cn=replication,cn=monitor'
da97433d5cd26e422a370d186f98659383c06721csovant </script>
da97433d5cd26e422a370d186f98659383c06721csovant <message level="'debug'">'domainMap=%s' % domainMap</message>
da97433d5cd26e422a370d186f98659383c06721csovant <script>
da97433d5cd26e422a370d186f98659383c06721csovant testsList=[]
da97433d5cd26e422a370d186f98659383c06721csovant testsList.append('basic_include')
da97433d5cd26e422a370d186f98659383c06721csovant testsList.append('basic_exclude')
da97433d5cd26e422a370d186f98659383c06721csovant </script>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <!-- Execute the Tests -->
da97433d5cd26e422a370d186f98659383c06721csovant <iterate var="__test" in="testsList">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'%s' % (__test)" />
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </iterate>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <message>'Test Cases Completed.'</message>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- Test Suite Cleanup -->
b648c67a5f4519293f03f821f46be687ae804401gary.williams <message>'Finally: Global Cleanup.'</message>
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- fractional-replication cleanup -->
da97433d5cd26e422a370d186f98659383c06721csovant <import machine="STAF_LOCAL_HOSTNAME"
da97433d5cd26e422a370d186f98659383c06721csovant file="'%s/testcases/fractional-replication/fractional-replication_cleanup.xml'
da97433d5cd26e422a370d186f98659383c06721csovant % (TESTS_DIR)"/>
004a0de820f70c99337ff8270d52950808da24f9gary.williams <call function="'fractional-replication_cleanup'">
004a0de820f70c99337ff8270d52950808da24f9gary.williams { 'label' : "Basic" }
004a0de820f70c99337ff8270d52950808da24f9gary.williams </call>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAFException'">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testSuite_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </block>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="basic_exclude">
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Case information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestName basic fractional-exclude
da97433d5cd26e422a370d186f98659383c06721csovant #@TestID basic fractional-exclude
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPurpose basic fractional-exclude functionality
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPreamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps ...
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPostamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestResult Success if test replica contains filtered data
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <testcase name="getTestCaseName('basic fractional-exclude')">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Preamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'replicationStatus'">
b168b33f591684db77dc1078f77947802d2fedf4gary.williams { "server" : Pservers[0],
b168b33f591684db77dc1078f77947802d2fedf4gary.williams "replicationDomainSuffix" : replDomainSuffix,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- set fractional-exclude on server 2 -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'set-ops-fractional-replication-attributes'">
da97433d5cd26e422a370d186f98659383c06721csovant {
da97433d5cd26e422a370d186f98659383c06721csovant "replicationDomain" : domainMap[ldapPservers[1]][0],
da97433d5cd26e422a370d186f98659383c06721csovant "server" : Pservers[1],
da97433d5cd26e422a370d186f98659383c06721csovant "include" : [('reset','')],
da97433d5cd26e422a370d186f98659383c06721csovant "exclude" : [('set','*:description,0.9.2342.19200300.100.1.60')],
da97433d5cd26e422a370d186f98659383c06721csovant "expectedRC" : 0
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <script>
da97433d5cd26e422a370d186f98659383c06721csovant keptAttributes = [ 'cn', 'dn', 'employeeNumber', 'givenName',
da97433d5cd26e422a370d186f98659383c06721csovant 'initials', 'l', 'mail', 'mobile', 'objectClass',
da97433d5cd26e422a370d186f98659383c06721csovant 'o', 'ou', 'pager', 'postalAddress',
da97433d5cd26e422a370d186f98659383c06721csovant 'sn', 'st', 'street', 'telephoneNumber',
da97433d5cd26e422a370d186f98659383c06721csovant 'uid', 'userPassword', 'postalCode'
da97433d5cd26e422a370d186f98659383c06721csovant ]
da97433d5cd26e422a370d186f98659383c06721csovant </script>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- verify we have Bad Generation ID -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'replicationStatus'">
b168b33f591684db77dc1078f77947802d2fedf4gary.williams { "server" : Pservers[1],
b168b33f591684db77dc1078f77947802d2fedf4gary.williams "replicationDomainSuffix" : replDomainSuffix,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <if expr="STAXResult[1] != None">
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <sequence>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <if expr="len(STAXResult) == 3 and STAXResult[1].find('Bad generation id') != -1">
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'testPassed'"/>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <else>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'testFailed'"/>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </else>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </if>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'getNumberOfEntries'">
da97433d5cd26e422a370d186f98659383c06721csovant { "server" : Pservers[1],
da97433d5cd26e422a370d186f98659383c06721csovant "backend" : "userRoot",
da97433d5cd26e422a370d186f98659383c06721csovant "domain" : "o=example",
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_initialization'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_add'">
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams { 'masterEntry' : '%s/fractional-replication/basic-masterAdd.ldif' \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[0].getDataDir(),
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'replicaEntry' : '%s/fractional-replication/basic-replicaExcludeAdd.ldif' \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[1].getDataDir()
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_modify'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_modifyDN'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_onlineImport'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">
da97433d5cd26e422a370d186f98659383c06721csovant '%s: Test failed. eInfo(%s)' % (eType,eInfo)
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </testcase>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="basic_include">
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Case information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestName basic fractional-include
da97433d5cd26e422a370d186f98659383c06721csovant #@TestID basic fractional-include
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPurpose basic fractional-include functionality
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPreamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps ...
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPostamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestResult Success if test replica contains filtered data
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <testcase name="getTestCaseName('basic fractional-include')">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Preamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'replicationStatus'">
b168b33f591684db77dc1078f77947802d2fedf4gary.williams { "server" : Pservers[0],
b168b33f591684db77dc1078f77947802d2fedf4gary.williams "replicationDomainSuffix" : replDomainSuffix,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- set fractional-include on server 2 -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'set-ops-fractional-replication-attributes'">
da97433d5cd26e422a370d186f98659383c06721csovant {
da97433d5cd26e422a370d186f98659383c06721csovant "replicationDomain" : domainMap[ldapPservers[1]][0],
da97433d5cd26e422a370d186f98659383c06721csovant "server" : Pservers[1],
da97433d5cd26e422a370d186f98659383c06721csovant "include" : [('set','*:description')],
da97433d5cd26e422a370d186f98659383c06721csovant "exclude" : [('reset','')],
da97433d5cd26e422a370d186f98659383c06721csovant "expectedRC" : 0
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <script>
da97433d5cd26e422a370d186f98659383c06721csovant keptAttributes = ['dn','sn','objectClass','description',
da97433d5cd26e422a370d186f98659383c06721csovant 'cn','ou','uid','o',
da97433d5cd26e422a370d186f98659383c06721csovant 'ds-sync-generation-id', 'entryUUID'
da97433d5cd26e422a370d186f98659383c06721csovant ]
da97433d5cd26e422a370d186f98659383c06721csovant </script>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- verify we have Bad Generation ID -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'replicationStatus'">
b168b33f591684db77dc1078f77947802d2fedf4gary.williams { "server" : Pservers[1],
b168b33f591684db77dc1078f77947802d2fedf4gary.williams "replicationDomainSuffix" : replDomainSuffix,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <if expr="STAXResult[1] != None">
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <sequence>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <if expr="len(STAXResult) == 3 and STAXResult[1].find('Bad generation id') != -1">
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'testPassed'"/>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <else>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'testFailed'"/>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </else>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </if>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'getNumberOfEntries'">
da97433d5cd26e422a370d186f98659383c06721csovant { "server" : Pservers[1],
da97433d5cd26e422a370d186f98659383c06721csovant "backend" : "userRoot",
da97433d5cd26e422a370d186f98659383c06721csovant "domain" : "o=example",
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_initialization'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_add'">
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams { 'masterEntry' : '%s/fractional-replication/basic-masterAdd.ldif' \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[0].getDataDir(),
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'replicaEntry' : '%s/fractional-replication/basic-replicaIncludeAdd.ldif' \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[1].getDataDir()
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_modify'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_modifyDN'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'basic_onlineImport'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">
da97433d5cd26e422a370d186f98659383c06721csovant '%s: Test failed. eInfo(%s)' % (eType,eInfo)
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </testcase>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="basic_initialization">
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Case information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestName basic initialization
da97433d5cd26e422a370d186f98659383c06721csovant #@TestID basic initialization
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPurpose check fractional-include Bad Generation ID -> Normal status
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPreamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps ...
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPostamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestResult Success if test replica contains filtered data
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <testcase name="getTestCaseName('basic initialization')">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Preamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'stopServers'">
da97433d5cd26e422a370d186f98659383c06721csovant [ Pservers ]
da97433d5cd26e422a370d186f98659383c06721csovant </call>
28eeffb99d4c7f8ff501c22d1d21501cbfe3ad32csovant <!-- server 1 import basic-master.ldif -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ImportLdifWithScript'">
da97433d5cd26e422a370d186f98659383c06721csovant { "location" : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant "dsPath" : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp "backEnd" : "userRoot",
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams "templateFile" : "%s/fractional-replication/basic-master.template" \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[0].getDataDir(),
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp "replaceExisting" : True,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- all Pservers : start -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'startServers'">
da97433d5cd26e422a370d186f98659383c06721csovant [ Pservers ]
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- Check some data was imported into Directory Server -->
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams <message>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'Checking import on %s folder %s.' % (Pservers[0].getHostname(),Pservers[0].getDir())
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams </message>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'checkImport'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' \
da97433d5cd26e422a370d186f98659383c06721csovant % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsAdminPort' : Pservers[0].getAdminPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'startDS' : 'no',
da97433d5cd26e422a370d186f98659383c06721csovant 'expectedEntries' : ['uid=user.0,ou=People,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'uid=user.49,ou=People,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'uid=user.35,ou=People,o=example'
da97433d5cd26e422a370d186f98659383c06721csovant ]
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'getNumberOfEntries'">
da97433d5cd26e422a370d186f98659383c06721csovant { "server" : Pservers[0],
da97433d5cd26e422a370d186f98659383c06721csovant "backend" : "userRoot",
da97433d5cd26e422a370d186f98659383c06721csovant "domain" : "o=example",
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'getNumberOfEntries'">
da97433d5cd26e422a370d186f98659383c06721csovant { "server" : Pservers[1],
da97433d5cd26e422a370d186f98659383c06721csovant "backend" : "userRoot",
da97433d5cd26e422a370d186f98659383c06721csovant "domain" : "o=example",
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <!-- server 1 : initialize server 1 from server 2 -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'initializeReplication'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'sourceInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'sourceInstanceAdminPort' : Pservers[0].getAdminPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'replicationDnList' : ['o=example']
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testPassed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">
da97433d5cd26e422a370d186f98659383c06721csovant '%s: Test failed. eInfo(%s)' % (eType,eInfo)
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </testcase>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="basic_onlineImport">
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Case information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestName basic online import
da97433d5cd26e422a370d186f98659383c06721csovant #@TestID basic online import
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPurpose add entries with a online import
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPreamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps online import data on Master
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps online import data on Replica
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPostamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestResult Success add on both master and replica is
da97433d5cd26e422a370d186f98659383c06721csovant correctly filtered
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <testcase name="getTestCaseName('basic online import')">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Preamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'replicationStatus'">
b168b33f591684db77dc1078f77947802d2fedf4gary.williams { "server" : Pservers[1],
b168b33f591684db77dc1078f77947802d2fedf4gary.williams "replicationDomainSuffix" : replDomainSuffix,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams <script>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisDataDir1="%s/fractional-replication" \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[0].getDataDir()
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisDataDir2="%s/fractional-replication" \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[1].getDataDir()
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisTempdir1=Pservers[0].getTmpDir()
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisTempdir2=Pservers[1].getTmpDir()
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams </script>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams
28eeffb99d4c7f8ff501c22d1d21501cbfe3ad32csovant <call function="'ImportLdifWithScript'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceAdminPort' : Pservers[0].getAdminPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp 'backEnd' : 'userRoot',
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp 'append' : True,
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'rejectFile' : '%s/basic-masterOnlineImport.rejected' % thisTempdir1,
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp 'overwriteFile' : True,
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'templateFile' : '%s/basic-masterOnlineImport.template' % \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisDataDir1
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
28eeffb99d4c7f8ff501c22d1d21501cbfe3ad32csovant <call function="'ImportLdifWithScript'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceAdminPort' : Pservers[1].getAdminPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[1].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[1].getRootPwd(),
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp 'backEnd' : 'userRoot',
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp 'append' : True,
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'rejectFile' : '%s/basic-masterOnlineImport.rejected' % thisTempdir2,
2b68af05b4308b32506f1d68f6357cdc458869d7ludovicp 'overwriteFile' : True,
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'templateFile' : '%s/basic-masterOnlineImport.template' % \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisDataDir2
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'replicationStatus'">
b168b33f591684db77dc1078f77947802d2fedf4gary.williams { "server" : Pservers[1],
b168b33f591684db77dc1078f77947802d2fedf4gary.williams "replicationDomainSuffix" : replDomainSuffix,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <if expr="STAXResult[1] != None">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <if expr="len(STAXResult) == 3 and STAXResult[1].find('Bad generation id') != -1">
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <sequence>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'testFailed'"/>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <break/>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </sequence>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <else>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <sequence>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <!-- Check some data was imported into Directory Server -->
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'checkImport'">
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant { 'location' : Pservers[0].getHostname(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsHost' : Pservers[0].getHostname(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsAdminPort' : Pservers[0].getAdminPort(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsPort' : Pservers[0].getPort(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsDn' : Pservers[0].getRootDn(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsPswd' : Pservers[0].getRootPwd(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'startDS' : 'no',
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'expectedEntries' : ['uid=user.0,ou=masterOnlineImport,o=example',
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'uid=user.2,ou=masterOnlineImport,o=example',
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'uid=user.4,ou=masterOnlineImport,o=example'
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant ],
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant }
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </call>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'checkImport'">
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant { 'location' : Pservers[1].getHostname(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsHost' : Pservers[1].getHostname(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsAdminPort' : Pservers[1].getAdminPort(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsPort' : Pservers[1].getPort(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsDn' : Pservers[1].getRootDn(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'dsPswd' : Pservers[1].getRootPwd(),
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'startDS' : 'no',
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'expectedEntries' : ['uid=user.0,ou=masterOnlineImport,o=example',
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'uid=user.2,ou=masterOnlineImport,o=example',
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant 'uid=user.4,ou=masterOnlineImport,o=example'
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant ],
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant }
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </call>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </sequence>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </else>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
b9336ad63b61644c4d9f31bccfb371c70ecbd865csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testPassed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">
da97433d5cd26e422a370d186f98659383c06721csovant '%s: Test failed. eInfo(%s)' % (eType,eInfo)
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </testcase>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="basic_add">
da97433d5cd26e422a370d186f98659383c06721csovant <function-map-args>
da97433d5cd26e422a370d186f98659383c06721csovant <function-required-arg name="masterEntry"/>
da97433d5cd26e422a370d186f98659383c06721csovant <function-required-arg name="replicaEntry"/>
da97433d5cd26e422a370d186f98659383c06721csovant </function-map-args>
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Case information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestName basic add operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestID basic add operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPurpose check add operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPreamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps ...
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPostamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestResult Success add on both master and replica is
da97433d5cd26e422a370d186f98659383c06721csovant correctly filtered
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <testcase name="getTestCaseName('basic add operation')">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Preamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- adding entry with filterable attributes in master -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'addEntry'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'entryToBeAdded' : masterEntry,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'SearchObject'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsBaseDN' : 'uid=added-user.0,ou=People,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'dsFilter' : 'objectclass=*',
da97433d5cd26e422a370d186f98659383c06721csovant 'extraParams' : '-s base' }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testPassed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- Delete previously added entry -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapDeleteWithScript'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsDn' : ['uid=added-user.0,ou=People,o=example'],
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- adding entry with filterable attributes in replica -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'addEntry'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[1].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[1].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[1].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'entryToBeAdded' : masterEntry,
f584beb63dd7c124e23cff1c9c1db5691beb0172csovant 'expectedRC' : 53,
f584beb63dd7c124e23cff1c9c1db5691beb0172csovant 'knownIssue' : 'OPENDJ-1106'
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- adding entry without filterable attributes in replica -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'addEntry'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[1].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[1].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[1].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'entryToBeAdded' : replicaEntry
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'SearchObject'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[1].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[1].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[1].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsBaseDN' : 'cn=added-user.1,ou=People,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'dsFilter' : 'objectclass=*',
da97433d5cd26e422a370d186f98659383c06721csovant 'extraParams' : '-s base' }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testPassed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- Delete previously added entry -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapDeleteWithScript'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[1].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[1].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[1].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsDn' : ['cn=added-user.1,ou=People,o=example'],
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">
da97433d5cd26e422a370d186f98659383c06721csovant '%s: Test failed. eInfo(%s)' % (eType,eInfo)
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </testcase>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="basic_modify">
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Case information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestName basic modify operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestID basic modify operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPurpose check modify operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPreamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps ...
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPostamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestResult Success modify on both master and replica is
da97433d5cd26e422a370d186f98659383c06721csovant correctly filtered
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <testcase name="getTestCaseName('basic modify operation')">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Preamble'"/>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams <script>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisDataDir1="%s/fractional-replication" \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[0].getDataDir()
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams </script>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapModifyWithScript'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'dsFilename' : '%s/basic-masterModify.ldif' \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % thisDataDir1
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'SearchObject'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsBaseDN' : 'uid=user.0,ou=People,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'dsFilter' : 'objectclass=*',
da97433d5cd26e422a370d186f98659383c06721csovant 'attributes' : 'postalCode',
da97433d5cd26e422a370d186f98659383c06721csovant 'extraParams' : '-s base' }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testPassed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">
da97433d5cd26e422a370d186f98659383c06721csovant '%s: Test failed. eInfo(%s)' % (eType,eInfo)
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </testcase>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant <function name="basic_modifyDN">
da97433d5cd26e422a370d186f98659383c06721csovant <!--- Test Case information
da97433d5cd26e422a370d186f98659383c06721csovant #@TestMarker fractional-replication basic
da97433d5cd26e422a370d186f98659383c06721csovant #@TestName basic modifyDN operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestID basic modifyDN operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPurpose check modifyDN operation
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPreamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestSteps ...
da97433d5cd26e422a370d186f98659383c06721csovant #@TestPostamble
da97433d5cd26e422a370d186f98659383c06721csovant #@TestResult Success modifyDN on both master and replica is
da97433d5cd26e422a370d186f98659383c06721csovant correctly filtered
da97433d5cd26e422a370d186f98659383c06721csovant -->
da97433d5cd26e422a370d186f98659383c06721csovant <testcase name="getTestCaseName('basic modifyDN operation')">
da97433d5cd26e422a370d186f98659383c06721csovant <try>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Preamble'"/>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams <script>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams thisDataDir1 = "%s/fractional-replication" \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % Pservers[0].getDataDir()
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams </script>
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'addEntry'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams 'entryToBeAdded' : '%s/basic-masterModifyDN.ldif' \
945930ece8ea73e5184836bf0bf3efad2e3e6c36gary.williams % thisDataDir1
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'SearchObject'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsBaseDN' : 'uid=user.0,ou=A,ou=masterModifyDN,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'dsFilter' : 'objectclass=*',
da97433d5cd26e422a370d186f98659383c06721csovant 'extraParams' : '-s base' }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- modify the RDN and delete old one -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'modifyDn'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'DNToModify' : 'uid=user.0,ou=A,ou=masterModifyDN,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'newRDN' : 'uid=newUser.0',
da97433d5cd26e422a370d186f98659383c06721csovant 'deleteOldRDN' : True,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- modify the RDN and keep old one -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'modifyDn'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'DNToModify' : 'uid=user.1,ou=A,ou=masterModifyDN,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'newRDN' : 'uid=newUser.1',
da97433d5cd26e422a370d186f98659383c06721csovant 'deleteOldRDN' : False,
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <!-- change superior -->
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'modifyDn'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'DNToModify' : 'uid=user.2,ou=A,ou=masterModifyDN,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'newRDN' : 'uid=newUser.2',
da97433d5cd26e422a370d186f98659383c06721csovant 'deleteOldRDN' : False,
da97433d5cd26e422a370d186f98659383c06721csovant 'newSuperior' : 'ou=B,ou=masterModifyDN,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'ldapsearchVerifyFrac'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'servers' : Pservers,
da97433d5cd26e422a370d186f98659383c06721csovant 'keptAttributes' : keptAttributes
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'SearchObject'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[0].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[0].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[0].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[0].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[0].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsBaseDN' : 'ou=masterModifyDN,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'dsFilter' : 'objectclass=*',
da97433d5cd26e422a370d186f98659383c06721csovant 'extraParams' : '-s sub' }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <message level="'debug'">
da97433d5cd26e422a370d186f98659383c06721csovant STAXResult
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant <if expr="RC == 0">
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testPassed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant <else>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testFailed'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </else>
da97433d5cd26e422a370d186f98659383c06721csovant </if>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
da97433d5cd26e422a370d186f98659383c06721csovant <message log="1" level="'fatal'">
da97433d5cd26e422a370d186f98659383c06721csovant '%s: Test failed. eInfo(%s)' % (eType,eInfo)
da97433d5cd26e422a370d186f98659383c06721csovant </message>
da97433d5cd26e422a370d186f98659383c06721csovant </catch>
da97433d5cd26e422a370d186f98659383c06721csovant <finally>
da97433d5cd26e422a370d186f98659383c06721csovant <sequence>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'DeleteEntry'">
da97433d5cd26e422a370d186f98659383c06721csovant { 'location' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsPath' : '%s/%s' % (Pservers[1].getDir(),OPENDSNAME),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceHost' : Pservers[1].getHostname(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePort' : Pservers[1].getPort(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstanceDn' : Pservers[1].getRootDn(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsInstancePswd' : Pservers[1].getRootPwd(),
da97433d5cd26e422a370d186f98659383c06721csovant 'dsBaseDN' : 'ou=masterModifyDN,o=example',
da97433d5cd26e422a370d186f98659383c06721csovant 'extraParams' : '-x'
da97433d5cd26e422a370d186f98659383c06721csovant }
da97433d5cd26e422a370d186f98659383c06721csovant </call>
da97433d5cd26e422a370d186f98659383c06721csovant <call function="'testCase_Postamble'"/>
da97433d5cd26e422a370d186f98659383c06721csovant </sequence>
da97433d5cd26e422a370d186f98659383c06721csovant </finally>
da97433d5cd26e422a370d186f98659383c06721csovant </try>
da97433d5cd26e422a370d186f98659383c06721csovant </testcase>
da97433d5cd26e422a370d186f98659383c06721csovant </function>
da97433d5cd26e422a370d186f98659383c06721csovant
da97433d5cd26e422a370d186f98659383c06721csovant</stax>