schema_tests.xml revision 3437829f938dbb44527d91fbbc5f430a1243c5a5
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams<?xml version="1.0" encoding="UTF-8" standalone="no"?>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams<!DOCTYPE stax SYSTEM "/shared/stax.dtd">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams<!--
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! CDDL HEADER START
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams !
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! The contents of this file are subject to the terms of the
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! Common Development and Distribution License, Version 1.0 only
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! (the "License"). You may not use this file except in compliance
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! with the License.
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams !
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! You can obtain a copy of the license at legal-notices/CDDLv1_0.txt
3437829f938dbb44527d91fbbc5f430a1243c5a5JnRouvignac ! or http://forgerock.org/license/CDDLv1.0.html.
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! See the License for the specific language governing permissions
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! and limitations under the License.
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams !
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! 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:
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! Portions Copyright [yyyy] [name of copyright owner]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams !
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! CDDL HEADER END
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams !
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! Copyright 2007-2008 Sun Microsystems, Inc.
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! Portions Copyright 2011-2012 ForgeRock AS.
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams ! -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams<stax>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!--- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication: Add objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Add objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when a new objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams is added
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble Load entries
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add new objectclass definition on server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add entry of new objectclass on server2
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema add and entry add replicated
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_001" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Add objectclass')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when a new objectclass is added.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Load entries into "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Load entries into "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/Example.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add new object class.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams newObjectclass = '( testobjectclass-oid NAME \'testobjectclass-0\' SUP person MAY ( street $ c ) X-ORIGIN \'user defined\' )'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'modifyAnAttribute'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : masterHost ,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'DNToModify' : 'cn=schema',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'attributeName' : 'objectClasses',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'newAttributeValue' : newObjectclass,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changetype' : 'add'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add entry to "consumer" server using new objectclass.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Add entry to "consumer" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : consumerHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : consumer.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : consumer.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : consumer.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/testuser-0.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!--- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication:
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams Add attributetype
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Add attributetype
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when a new
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams attributetype is added
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add new attributeType and new objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams definition on server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add new entry containing new objectclass and
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams new attributeType on server2
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema add and entry adds replicated
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_002" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Add attributetype')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when a new Attributetype is added.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams newObjectclass = '( testobjectclass1-oid NAME \'testobjectclass-1\' SUP person MAY ( street $ testattribute-1 $ c ) X-ORIGIN \'user defined\' )'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams newAttributetype = '( testattribute1-oid NAME \'testattribute-1\' SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 X-ORIGIN \'user defined\' )'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add newAttributetype in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'modifyAnAttribute'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : masterHost ,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'DNToModify' : 'cn=schema',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'attributeName' : 'attributeTypes',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'newAttributeValue' : newAttributetype,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changetype' : 'add'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add newObjectclass in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'modifyAnAttribute'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : masterHost ,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'DNToModify' : 'cn=schema',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'attributeName' : 'objectClasses',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'newAttributeValue' : newObjectclass,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changetype' : 'add'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add entry to "consumer" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Add entry to "consumer" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : consumerHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : consumer.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : consumer.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : consumer.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/testuser-1.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication:
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams Delete objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Delete objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when an objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams is deleted
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Remove user-defined objectclass definition on
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Delete entry on server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add entry containing removed objectclass on
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams every server
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema remove replicated and last
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams entry add rejected on all servers (error 65:
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams objectclass violation)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_003" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Delete objectclass')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when an objectclass is deleted.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams newObjectclass = '( testobjectclass-oid NAME \'testobjectclass-0\' SUP person MAY ( street $ c ) X-ORIGIN \'user defined\' )'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Delete newObjectclass in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'modifyAnAttribute'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : masterHost ,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'DNToModify' : 'cn=schema',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'attributeName' : 'objectClasses',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'newAttributeValue' : newObjectclass,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changetype' : 'delete'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Delete previously added entry.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Delete previously added entry -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'ldapDeleteWithScript'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : master.getHostname(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsDn' : ['cn=testuser-0,ou=People,%s' % synchroSuffix]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Attempt to add entry to servers with deleted objectclass.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Try to add entry to servers; should be rejected with error 65
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams (objectclass violation) -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <iterate var="server" in="_topologyServerList">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : server.getHostname(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : server.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : server.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : server.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/testuser-0.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'expectedRC' : 65
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </iterate>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication:
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams Modify objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Modify objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when an objectclass is
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams modified
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Remove user-defined objectclass definition on
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add modified version of removed user-defined
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams objectclass on server1 (make attributes
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams MANDATORY)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add entry containing newly added objectclass but
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams without required attributes on every server
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema modify replicated and entry
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams add rejected with error 65 (objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams violation) on all servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_004" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Modify objectclass')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when an objectclass is modified.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams oldObjectclass = '( testobjectclass1-oid NAME \'testobjectclass-1\' SUP person MAY ( street $ testattribute-1 $ c ) X-ORIGIN \'user defined\' )'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams newObjectclass = '( testobjectclass1-oid NAME \'testobjectclass-1\' SUP person MUST ( street $ testattribute-1 $ c ) X-ORIGIN \'user defined\' )'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </script>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Delete oldObjectclass in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'modifyAnAttribute'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : masterHost ,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'DNToModify' : 'cn=schema',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'attributeName' : 'objectClasses',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'newAttributeValue' : oldObjectclass,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changetype' : 'delete'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add newObjectclass in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'modifyAnAttribute'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : masterHost ,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'DNToModify' : 'cn=schema',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'attributeName' : 'objectClasses',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'newAttributeValue' : newObjectclass,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changetype' : 'add'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Attempt to add entry to servers with deleted objectclass.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Try to add entry to servers; should be rejected with error 65
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams (objectclass violation) -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <iterate var="server" in="_topologyServerList">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : server.getHostname(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : server.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : server.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : server.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/testuser-2.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'expectedRC' : 65
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </iterate>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!--- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication: Add objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Add objectclass (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when a new objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams is added manually
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Stop servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Edit 99-user.ldif to add new objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams definition on server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Start servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add entry of new objectclass on server2
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema add and entry add replicated
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_005" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Add objectclass (edit schema file)')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when a new objectclass is manually added.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Stop the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Stop the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'stopServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Modify schema in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'copyFile'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'remotehost' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'srcfile' : currentSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'destfile' : provSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Edit schema file.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'LdifModifyWithScript'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'sourceLdif' : provSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changesLdif' : '%s/replication/schemamods-0.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams masterDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'targetLdif' : currentSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Stop the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Start the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'startServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'Sleep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'sleepForMilliSeconds' : 1000 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add entry to "consumer" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Add entry to "consumer" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : consumerHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : consumer.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : consumer.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : consumer.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/newtestuser-0.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'knownIssue' : 'OPENDJ-452'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!--- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication: Add
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams attributetype (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Add attributetype (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when a new
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams attributetype is added manually
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Stop servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Edit 99-user.ldif to add new objectclass and
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams new attributeType definition on server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Start servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add new entry containing new objectclass and
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams new attributeType on server2
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema add and entry adds replicated
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_006" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Add attributetype (edit schema file)')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when a new attributetype is manually added.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Stop the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Stop the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'stopServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Modify schema in "master" server .' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'copyFile'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'remotehost' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'srcfile' : currentSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'destfile' : provSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'LdifModifyWithScript'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'sourceLdif' : provSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changesLdif' : '%s/replication/schemamods-1.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams masterDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'targetLdif' : currentSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Start the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Start the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'startServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'Sleep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'sleepForMilliSeconds' : 1000 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Add entry to "consumer" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Add entry to "consumer" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : consumerHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : consumer.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : consumer.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : consumer.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/newtestuser-1.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'knownIssue' : 'OPENDJ-452'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication: Delete
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams objectclass (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Delete objectclass (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when an objectclass is
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams deleted manually
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Stop servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Edit 99-user.ldif to remove user-defined
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams objectclass definition on server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Start servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Delete entry on server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add entry containing removed objectclass on
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams every server
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema remove replicated and last
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams entry add rejected on all servers (error 65:
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams objectclass violation)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_007" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Delete objectclass (edit schema file)')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when a new objectclass is manually deleted.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Stop the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Stop the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'stopServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Modify schema in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'copyFile'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'remotehost' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'srcfile' : currentSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'destfile' : provSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'LdifModifyWithScript'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'sourceLdif' : provSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changesLdif' : '%s/replication/schemamods-2.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams masterDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'targetLdif' : currentSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Start the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Start the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'startServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Delete previously added entry.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Delete previously added entry -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'ldapDeleteWithScript'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : master.getHostname(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : master.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : master.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : master.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsDn' : ['cn=newtestuser-0,ou=People,%s' % synchroSuffix],
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'knownIssue' : 'OPENDJ-452'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'Sleep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'sleepForMilliSeconds' : 1000 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Try to add entry to servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Try to add entry to servers; should be rejected with error 65
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams (objectclass violation) -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- If the add doesn't return 65, it may mean we came across
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams issue OPENDJ-453 (Manual schema objectclass delete not replicated) -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <iterate var="server" in="_topologyServerList">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : server.getHostname(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : server.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : server.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : server.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/newtestuser-0.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'expectedRC' : 65,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'knownIssue' : 'OPENDJ-453'
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </iterate>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Test Case information
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestMarker Replication Schema Replication Tests
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestName Replication: Schema Replication: Modify
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams objectclass (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestID Modify objectclass (edit schema file)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPurpose Check schema replication when an objectclass is
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams modified manually
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPreamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Stop servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Edit 99-user.ldif to modify user-defined
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams objectclass (make attributes MANDATORY) on
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams server1
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Start servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestSteps Add entry containing newly added objectclass but
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams without required attributes on every server
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestPostamble
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams #@TestResult Success if schema modify replicated and entry
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams add rejected with error 65 (objectclass
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams violation) on all servers
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <function name="replication_schema_008" scope="local">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <testcase name="getTestCaseName('Modify objectclass (edit schema file)')">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Preamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'Test Name = %s' % STAXCurrentTestcase
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Check schema replication when a new objectclass is manually modified.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Stop the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Stop the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'stopServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Modify schema in "master" server.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Modify schema in "master" server -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'copyFile'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'remotehost' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'srcfile' : currentSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'destfile' : provSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'LdifModifyWithScript'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : masterHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : masterPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'sourceLdif' : provSchemaFile,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'changesLdif' : '%s/replication/schemamods-3.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams masterDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'targetLdif' : currentSchemaFile
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Start the servers in the topology.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Start the servers in the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'startServers'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [_topologyServerList]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'Sleep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'sleepForMilliSeconds' : 1000 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Try to add entry to servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Try to add entry to servers; should be rejected with error 65
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams (objectclass violation) -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- If the add doesn't return 65, it may mean we came across
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams issue OPENDJ-453 (Manual schema objectclass delete not replicated) -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <iterate var="server" in="_topologyServerList">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'addEntry'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'location' : clientHost,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsPath' : clientPath,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceHost' : server.getHostname(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePort' : server.getPort(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstanceDn' : server.getRootDn(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'dsInstancePswd' : server.getRootPwd(),
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'entryToBeAdded' : '%s/replication/newtestuser-2.ldif' % \
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams clientDataDir,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'expectedRC' : 65,
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'knownIssue' : ['OPENDJ-453','OPENDJ-452']
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </iterate>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the schema on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the schema among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Since this testcase inherits the 99-user.ldif from the one
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams before, as long as OPENDJ-453 is still present, the schema files will
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams differ as the second server will still have newobjectclass-0 -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifySchemas'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, '99-user.ldif',
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams 'OPENDJ-453' ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testStep'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams { 'stepMessage' : '%s Verify the synchronization of the trees on all the servers.' % msg1 }
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <!-- Verify the synchronization of the trees among the servers in
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams the topology -->
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'verifyTrees'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams [ clientHost, clientPath, master, consumerList, synchroSuffix ]
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </call>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <catch exception="'STAXException'" typevar="eType" var="eInfo">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <message log="1" level="'fatal'">
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams '%s: Test failed. eInfo(%s)' % (eType,eInfo)
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </message>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </catch>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams <call function="'testCase_Postamble'"/>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </finally>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </try>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </sequence>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </testcase>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams </function>
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams
8fc236b9a04ca8cf4a6ee748cc701210ce4910d6gary.williams</stax>