From ae33b37154863143bad0f32ed53200baf3537bb6 Mon Sep 17 00:00:00 2001
From: al_xipe <al_xipe@localhost>
Date: Mon, 30 Jul 2007 22:56:17 +0000
Subject: [PATCH] 1. fix for search index \n2. added add index with dsconfig\n3.added delete index with dsconfig\n4.added entry limit test but disabled for now
---
opendj-sdk/opends/tests/functional-tests/shared/functions/dsconfig.xml | 396 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 385 insertions(+), 11 deletions(-)
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/functions/dsconfig.xml b/opendj-sdk/opends/tests/functional-tests/shared/functions/dsconfig.xml
index 78be3e2..2ab6c32 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/dsconfig.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/dsconfig.xml
@@ -49,6 +49,7 @@
</function>
+
<!-- Set property value using dsconfig -->
<function name="dsconfigSet">
<function-prolog>
@@ -134,7 +135,7 @@
<function-arg-def name="expectedRC" type="optional" default="0">
<function-arg-description>
- Expected return code value. Default value is 0
+ Expected return code value. Default value is 0
</function-arg-description>
<function-arg-property name="type" value="string"/>
</function-arg-def>
@@ -146,14 +147,11 @@
<script>
mylocation=location
STAFCmdParams=''
- STAFCmd=''
+ STAFCmd=''
if dsPath:
dsBinPath='%s/%s' % (dsPath,fileFolder)
STAFCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt)
-
- if attributeValue:
- attributeValue=attributeValue.replace('"','QUOT')
STAFCmdParamsList=[]
STAFCmdParamsList.append('set-%s-prop ' % (objectName))
@@ -188,12 +186,7 @@
STAXCode=RC
STAXReason=STAXResult
</script>
- <call function="'checktestRC'">
- { 'returncode' : STAXCode ,
- 'result' : STAXReason ,
- 'expected' : expectedRC }
- </call>
-
+
<return>
STAXReason
</return>
@@ -783,6 +776,387 @@
</function>
+ <function name="addIndex">
+ <function-prolog>
+ This function eases adding JEB DB indexes
+ </function-prolog>
+ <function-map-args>
+ <function-arg-def name="location"
+ type="optional"
+ default="'%s' % 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="host"
+ type="optional"
+ default="'%s' % STAF_REMOTE_HOSTNAME">
+ <function-arg-description>
+ Directory server hostname or IP address
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+
+ <function-arg-def name="port"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_PORT">
+ <function-arg-description>
+ Directory server port number
+ </function-arg-description>
+ <function-arg-property name="type" value="Port number"/>
+ </function-arg-def>
+
+ <function-arg-def name="rootDN"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_DN">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+
+ <function-arg-def name="rootPwd"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="backendID"
+ default="'%s' % DIRECTORY_INSTANCE_BE"
+ type="optional">
+ <function-arg-description>
+ The Back-end ID on to which to add an index
+ </function-arg-description>
+ </function-arg-def>
+
+ <function-arg-def name="indexAttribute" type="required">
+ <function-arg-description>
+ ldap attribute on to which to add indexing
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="indexTypes" type="required">
+ <function-arg-description>
+ type of index to add
+ This has to be provided as a python array like
+ [ 'presence', 'substring' ]
+ </function-arg-description>
+ <function-arg-property name="type" value="enum">
+ <function-arg-property-description>
+ This argument can only have one of those values
+ </function-arg-property-description>
+ <function-arg-property-data type="choice" value="'equality'"/>
+ <function-arg-property-data type="choice" value="'ordering'"/>
+ <function-arg-property-data type="choice" value="'presence'" />
+ <function-arg-property-data type="choice" value="'substring'"/>
+ </function-arg-property>
+ </function-arg-def>
+ </function-map-args>
+ <sequence>
+ <!-- Local variables -->
+ <script>
+ dsconfigParams=''
+ dsconfigCmd=''
+ dsBinPath='%s/%s' % (dsPath,fileFolder)
+ dsconfigCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt)
+ dsconfigParams = 'create-je-index -h %s -p %s -D "%s" -w %s --backend-name %s --index-name %s --set index-type:%s' % (host,port,rootDN,rootPwd,backendID, indexAttribute, ' --set index-type:'.join(indexTypes))
+ </script>
+
+ <call function="'_dsconfigCommonArgs'"/>
+
+ <message>
+ 'Running [%s %s]' % (dsconfigCmd, dsconfigParams)
+ </message>
+
+ <process name="'dsconfig addIndex'">
+ <location>'%s' % location</location>
+ <command>'%s' % dsconfigCmd</command>
+ <parms>'%s' % dsconfigParams</parms>
+ <workdir>'%s' % dsBinPath</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % dsBinPath, 'JAVA_HOME=%s' % JAVA_HOME]
+ </envs>
+ <console use="'same'"/>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <message>
+ '%s returned [%s] with [%s]' % (dsconfigCmd, RC,STAXResult)
+ </message>
+ <return>
+ RC, STAXResult
+ </return>
+ </sequence>
+ </function>
+
+
+ <function name="modifyIndex">
+ <function-prolog>
+ This function eases modifying JEB DB indexes
+ </function-prolog>
+ <function-map-args>
+ <function-arg-def name="location"
+ type="optional"
+ default="'%s' % 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="host"
+ type="optional"
+ default="'%s' % STAF_REMOTE_HOSTNAME">
+ <function-arg-description>
+ Directory server hostname or IP address
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+
+ <function-arg-def name="port"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_PORT">
+ <function-arg-description>
+ Directory server port number
+ </function-arg-description>
+ <function-arg-property name="type" value="Port number"/>
+ </function-arg-def>
+
+ <function-arg-def name="rootDN"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_DN">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+
+ <function-arg-def name="rootPwd"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="backendID"
+ default="'%s' % DIRECTORY_INSTANCE_BE"
+ type="optional">
+ <function-arg-description>
+ The Back-end ID on to which to add an index
+ </function-arg-description>
+ </function-arg-def>
+
+ <function-arg-def name="indexAttribute" type="required">
+ <function-arg-description>
+ ldap attribute on to which add indexing
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="operation">
+ <function-arg-description>
+ This parameters defines the operation to be performed.
+ </function-arg-description>
+ <function-arg-property name="type" value="enum">
+ <function-arg-property-description>
+ This argument can only have one of the following values
+ </function-arg-property-description>
+ <function-arg-property-data type="choice" value="'add'" />
+ <function-arg-property-data type="choice" value="'remove'"/>
+ <function-arg-property-data type="choice" value="'reset'"/>
+ <function-arg-property-data type="choice" value="'set'"/>
+ </function-arg-property>
+
+ </function-arg-def>
+
+ <function-arg-def name="indexProperty" type="required">
+ <function-arg-description>
+ the property to manipulate if the operation is add or set
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="indexPropertyValue" type="optional">
+ <function-arg-description>
+ the value for the provided property
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ </function-map-args>
+ <sequence>
+ <!-- Local variables -->
+ <script>
+ dsconfigParams=''
+ dsconfigCmd=''
+ dsBinPath='%s/%s' % (dsPath,fileFolder)
+ dsconfigCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt)
+ operationArguments = indexProperty
+ if indexPropertyValue:
+ operationArguments = '%s:%s' % (indexProperty, indexPropertyValue)
+ dsconfigParams = 'set-je-index-prop -h %s -p %s -D "%s" -w %s --backend-name %s --index-name %s --%s %s' % ( host, port, rootDN, rootPwd, backendID, indexAttribute, operation, operationArguments )
+ </script>
+
+ <call function="'_dsconfigCommonArgs'"/>
+
+ <message>
+ '%s %s' % (dsconfigCmd, dsconfigParams)
+ </message>
+
+ <process name="'dsconfig modifyIndex'">
+ <location>'%s' % location</location>
+ <command>'%s' % dsconfigCmd</command>
+ <parms>'%s' % dsconfigParams</parms>
+ <workdir>'%s' % dsBinPath</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % dsBinPath, 'JAVA_HOME=%s' % JAVA_HOME]
+ </envs>
+ <console use="'same'"/>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <return>
+ STAXReason
+ </return>
+ </sequence>
+ </function>
+
+
+ <function name="removeIndex">
+ <function-prolog>
+ This function eases removing JEB DB indexes from STAX
+ </function-prolog>
+ <function-map-args>
+ <function-arg-def name="location"
+ type="optional"
+ default="'%s' % 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="host"
+ type="optional"
+ default="'%s' % STAF_REMOTE_HOSTNAME">
+ <function-arg-description>
+ Directory server hostname or IP address
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+
+ <function-arg-def name="port"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_PORT">
+ <function-arg-description>
+ Directory server port number
+ </function-arg-description>
+ <function-arg-property name="type" value="Port number"/>
+ </function-arg-def>
+
+ <function-arg-def name="rootDN"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_DN">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+
+ <function-arg-def name="rootPwd"
+ type="optional"
+ default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="backendID"
+ default="'%s' % DIRECTORY_INSTANCE_BE"
+ type="optional">
+ <function-arg-description>
+ The Back-end ID on to which to remove an index from
+ </function-arg-description>
+ </function-arg-def>
+
+ <function-arg-def name="indexAttribute" type="required">
+ <function-arg-description>
+ ldap attribute on to which to remove indexing
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ </function-map-args>
+ <sequence>
+ <!-- Local variables -->
+ <script>
+ dsconfigParams=''
+ dsconfigCmd=''
+ dsBinPath='%s/%s' % (dsPath,fileFolder)
+ dsconfigCmd='%s/%s%s' % (dsBinPath,DSCONFIG,fileExt)
+ dsconfigParams = 'delete-je-index -h %s -p %s -D "%s" -w %s --backend-name %s --index-name %s' % (host,port,rootDN,rootPwd,backendID, indexAttribute)
+ </script>
+
+ <call function="'_dsconfigCommonArgs'"/>
+
+ <message>
+ 'Running [%s %s]' % (dsconfigCmd, dsconfigParams)
+ </message>
+
+ <process name="'dsconfig removeIndex'">
+ <location>'%s' % location</location>
+ <command>'%s' % dsconfigCmd</command>
+ <parms>'%s' % dsconfigParams</parms>
+ <workdir>'%s' % dsBinPath</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % dsBinPath, 'JAVA_HOME=%s' % JAVA_HOME]
+ </envs>
+ <console use="'same'"/>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <message>
+ '%s returned [%s] with [%s]' % (dsconfigCmd, RC,STAXResult)
+ </message>
+ <return>
+ RC, STAXResult
+ </return>
+ </sequence>
+ </function>
<!-- Create synchronization provider using dsconfig -->
--
Gitblit v1.10.0