From 48df97ece466681bb4d6ff6ab91fcec5bb81c37c Mon Sep 17 00:00:00 2001
From: ugaston <ugaston@localhost>
Date: Fri, 22 Jan 2010 17:55:09 +0000
Subject: [PATCH] Add External Changelog search to replication stress tests
---
opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 168 insertions(+), 1 deletions(-)
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml
index 9eafb65..21b71aa 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/ldap.xml
@@ -3228,7 +3228,7 @@
- <!-- Modify an attribute -->
+ <!-- Do an ldapsearch using SASL authentication -->
<function name="saslSearch">
<function-prolog>
This function searches the Directory Server using SASL authentication
@@ -3622,4 +3622,171 @@
</function>
+
+
+ <!-- Read ECL and replay changes on stand-alone server -->
+ <function name="eclReadAndPlay">
+ <function-prolog>
+ This function reads the ECL in a replicated server and replays the changes
+ on a stand-alone server
+ </function-prolog>
+ <function-map-args>
+ <function-arg-def name="location"
+ type="optional"
+ default="STAF_REMOTE_HOSTNAME">
+ <function-arg-description>
+ Location of target host
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="dsPath"
+ type="optional"
+ default="'%s/%s' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)">
+ <function-arg-description>
+ Pathname to installation root
+ </function-arg-description>
+ <function-arg-property name="type" value="filepath"/>
+ </function-arg-def>
+ <function-arg-def name="standaloneHost"
+ type="optional"
+ default="STAF_REMOTE_HOSTNAME">
+ <function-arg-description>
+ Stand-alone directory server hostname or IP address
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="standalonePort" type="required">
+ <function-arg-description>
+ Stand-alone directory server port number
+ </function-arg-description>
+ <function-arg-property name="type" value="Port number"/>
+ </function-arg-def>
+ <function-arg-def name="replicaHost1" type="required">
+ <function-arg-description>
+ Replicated Directory server hostname or IP address
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="replicaPort1" type="required">
+ <function-arg-description>
+ Replicated Directory server port number
+ </function-arg-description>
+ <function-arg-property name="type" value="Port number"/>
+ </function-arg-def>
+ <function-arg-def name="replicaHost2" type="required">
+ <function-arg-description>
+ Replicated Directory server hostname or IP address
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="replicaPort2" type="required">
+ <function-arg-description>
+ Replicated Directory server port number
+ </function-arg-description>
+ <function-arg-property name="type" value="Port number"/>
+ </function-arg-def>
+ <function-arg-def name="bindDn" type="required">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="bindPswd" type="required">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="eclMode" type="required">
+ <function-arg-description>
+ ECL search mode: "draft" or "opends"
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="queueSize"
+ type="optional"
+ default="1000">
+ <function-arg-description>
+ Size of the queue where the read updates are stored for the writer to
+ replay on the stand-alone server
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="displayMissingChanges"
+ type="optional"
+ default="False">
+ <function-arg-description>
+ Whether information on missing changes should be displayed or not
+ </function-arg-description>
+ <function-arg-property name="type" value="boolean"/>
+ </function-arg-def>
+ <function-arg-def name="outputFilename" type="required">
+ <function-arg-description>
+ Standard output file name
+ </function-arg-description>
+ <function-arg-property name="type" value="filepath"/>
+ </function-arg-def>
+ <function-arg-def name="expectedRC" type="optional" default="0">
+ <function-arg-description>
+ Expected return code value. Default value is 0
+ Wildcard 'noCheck' to not check the RC
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="knownIssue" type="optional" default="None">
+ <function-arg-description>
+ Known issue. Corresponds to an issue number.
+ </function-arg-description>
+ <function-arg-property name="type" value="string" />
+ </function-arg-def>
+ </function-map-args>
+ <sequence>
+
+ <!-- Local variables -->
+ <script>
+ mylocation=location
+ #Build the Command
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+ STAFCmd='EclReadAndPlay'
+ </script>
+
+ <!-- Set common ldap arguments -->
+ <script>
+ STAFCmdParamsList.append('-m %s' % eclMode)
+ STAFCmdParamsList.append('-q %s' % queueSize)
+ STAFCmdParamsList.append('-D "%s"' % bindDn)
+ STAFCmdParamsList.append('-w "%s"' % bindPswd)
+ STAFCmdParamsList.append('-s %s:%s' % (standaloneHost, standalonePort))
+ STAFCmdParamsList.append('-p %s:%s' % (replicaHost1, replicaPort1))
+ STAFCmdParamsList.append('-p %s:%s' % (replicaHost2, replicaPort2))
+ STAFCmdParamsList.append('-o %s' % outputFilename)
+
+ if (displayMissingChanges == True):
+ displayMC = 'true'
+ else:
+ displayMC = 'false'
+ STAFCmdParamsList.append('-x %s' % displayMC)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+
+ STAFCmd='EclReadAndPlay'
+ </script>
+ <call function="'runCommand'" >
+ { 'name' : 'Read ECL and replay',
+ 'command' : '%s/bin/java' % JAVA_HOME,
+ 'arguments' : '%s %s' % (STAFCmd,STAFCmdParams),
+ 'location' : location,
+ 'envCmd' : ['CLASSPATH=%s/../%s/ldapjdk:%s/../%s/ldapjdk/ldapjdk.jar' \
+ % (dsPath,remote.reljavadir,dsPath,remote.reljavadir)],
+ 'path' : '%s/../%s/ldapjdk' % (dsPath,remote.reljavadir),
+ 'expectedRC': expectedRC,
+ 'knownIssue': knownIssue
+ }
+ </call>
+ <return>
+ STAXResult
+ </return>
+ </sequence>
+ </function>
</stax>
--
Gitblit v1.10.0