From 4d38b22bd5218f3769d5ab003c572fdd6cd95072 Mon Sep 17 00:00:00 2001
From: smaguin <smaguin@localhost>
Date: Tue, 08 Apr 2008 15:23:15 +0000
Subject: [PATCH] add addAnEntry and mdifyAnAttribut fuct
---
opendj-sdk/opends/tests/system-tests/phases/shared/functions/ldap.xml | 361 ++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 354 insertions(+), 7 deletions(-)
diff --git a/opendj-sdk/opends/tests/system-tests/phases/shared/functions/ldap.xml b/opendj-sdk/opends/tests/system-tests/phases/shared/functions/ldap.xml
index fb641a0..1a88e5e 100755
--- a/opendj-sdk/opends/tests/system-tests/phases/shared/functions/ldap.xml
+++ b/opendj-sdk/opends/tests/system-tests/phases/shared/functions/ldap.xml
@@ -896,14 +896,361 @@
</function>
+ <!-- ************************************************************ -->
+
+ <!-- Add a New entry-->
+ <function name="addAnEntry">
+ <function-prolog>
+ This function modifies an entry in the Directory 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="required">
+ <function-arg-description>
+ Pathname to installation root
+ </function-arg-description>
+ <function-arg-property name="type" value="filepath"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceHost" type="required">
+ <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="dsInstancePort" type="required">
+ <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="dsInstanceDn" type="required">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePswd" type="required">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="DNToAdd" type="required">
+ <function-arg-description>
+ DN to add
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="listAttributes" type="required">
+ <function-arg-description>
+ Attributes to add
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </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-def>
+ <function-arg-def name="fileFd" type="required">
+ <function-arg-description>
+ Name of output file descriptor
+ </function-arg-description>
+ </function-arg-def>
+ </function-map-args>
+ <sequence>
+
+ <!-- Local variables -->
+ <script>
+ # build the command
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+ STAFCmd=''
+ </script>
+
+ <script>
+ if dsPath:
+ dsBinPath='%s/bin' % dsPath
+
+ if dsInstanceHost:
+ STAFCmdParamsList.append('-h %s' % dsInstanceHost)
+
+ if dsInstanceDn:
+ STAFCmdParamsList.append('-D "%s"' % dsInstanceDn)
+
+ if dsInstancePswd:
+ STAFCmdParamsList.append('-w %s' % dsInstancePswd)
+
+ if dsInstancePort:
+ STAFCmdParamsList.append('-p %s' % dsInstancePort)
+ </script>
+
+ <iterate var="anAttributeToAdd" in="listAttributes">
+ <script>
+ STAFCmdParamsList.append('-v "%s"' % anAttributeToAdd)
+ </script>
+ </iterate>
+ <script>
+ if DNToAdd:
+ STAFCmdParamsList.append('-d "%s"' % DNToAdd)
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+ STAFCmd='addAnEntry'
+ </script>
+
+ <call function="'writeStartTagOperation'">
+ { 'tagName' : 'addAnEntry',
+ 'fileFd' : fileFd }
+ </call>
+ <call function="'writeMessage'">
+ { 'fileFd' : fileFd,
+ 'content' : '%s %s' % (STAFCmd, STAFCmdParams)
+ }
+ </call>
+
+ <process name="'addAnEntry'">
+ <location>'%s' % location</location>
+ <command>'%s/bin/java' % JAVA_HOME</command>
+ <parms>'%s %s' % (STAFCmd,STAFCmdParams)</parms>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME,'CLASSPATH=%s/phases/shared/java' % LOCAL_TESTS_DIR]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ STAXCode=RC
+ STAXReason=STAXResult
+ </script>
+ <if expr="expectedRC != 'noCheck'">
+ <call function="'checkRC'">
+ { 'returncode' : STAXCode,
+ 'result' : STAXReason,
+ 'fileFd' : fileFd }
+ </call>
+ </if>
+
+ <call function="'writeEndTagOperation'">{'fileFd' : fileFd}</call>
+ <return>
+ STAXResult
+ </return>
+ </sequence>
+ </function>
+
+
-
-
-
-
-
-
-
+ <!-- Modify an attribute -->
+ <function name="modifyAnAttribute">
+ <function-prolog>
+ This function modifies an entry in the Directory 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="required">
+ <function-arg-description>
+ Pathname to installation root
+ </function-arg-description>
+ <function-arg-property name="type" value="filepath"/>
+ </function-arg-def>
+
+ <function-arg-def name="dsInstanceHost" type="required">
+ <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="dsInstancePort" type="required">
+ <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="dsInstanceDn" type="required">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+
+ <function-arg-def name="dsInstancePswd" type="required">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="DNToModify" type="required">
+ <function-arg-description>
+ DN to modify
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+
+ <function-arg-def name="attributeName" type="optional">
+ <function-arg-description>
+ Attribute to modify
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="newAttributeValue" type="optional">
+ <function-arg-description>
+ New Attribute Value
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="listAttributes" type="optional" default="' '">
+ <function-arg-description>
+ List of attributes name and value to modify. The format is name:value
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="changetype" type="required">
+ <function-arg-description>
+ Type of modification, can be delete, add, replace
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+
+ <function-arg-def name="suppressTestStatus" type="optional" default="0">
+ <function-arg-description>
+ Supress the call to checkTestRC
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </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="string"/>
+ </function-arg-def>
+ <function-arg-def name="fileFd" type="required">
+ <function-arg-description>
+ Name of output file descriptor
+ </function-arg-description>
+ </function-arg-def>
+ </function-map-args>
+ <sequence>
+
+ <!-- Local variables -->
+ <script>
+
+ # build the command
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+ STAFCmd=''
+ </script>
+
+
+ <if expr="listAttributes != ' '">
+ <iterate var="anAttributeToModify" in="listAttributes">
+ <script>
+ if anAttributeToModify:
+ anAttributeToModify=anAttributeToModify.replace('"','QUOT')
+ STAFCmdParamsList.append('-l "%s"' % anAttributeToModify)
+ </script>
+ </iterate>
+ </if>
+ <script>
+ if newAttributeValue:
+ newAttributeValue=newAttributeValue.replace('"','QUOT')
+ </script>
+
+ <script>
+ if dsInstanceHost:
+ STAFCmdParamsList.append('-h %s' % dsInstanceHost)
+
+ if dsInstanceDn:
+ STAFCmdParamsList.append('-D "%s"' % dsInstanceDn)
+
+ if dsInstancePswd:
+ STAFCmdParamsList.append('-w %s' % dsInstancePswd)
+
+ if dsInstancePort:
+ STAFCmdParamsList.append('-p %s' % dsInstancePort)
+
+ if DNToModify:
+ STAFCmdParamsList.append('-d "%s"' % DNToModify)
+
+ if attributeName:
+ STAFCmdParamsList.append('-a "%s"' % attributeName)
+
+ if newAttributeValue:
+ STAFCmdParamsList.append('-v "%s"' % newAttributeValue)
+
+ if changetype:
+ STAFCmdParamsList.append('-t "%s"' % changetype)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+
+ STAFCmd='modifyAnAttribute'
+ </script>
+
+ <if expr="suppressTestStatus == '1'">
+ <script>
+ expectedRC = 'noCheck'
+ </script>
+ </if>
+
+ <call function="'writeStartTagOperation'">
+ { 'tagName' : 'Modify An Attribute value',
+ 'fileFd' : fileFd }
+ </call>
+
+ <call function="'writeMessage'">
+ { 'fileFd' : fileFd,
+ 'content' : '%s %s' % (STAFCmd, STAFCmdParams)
+ }
+ </call>
+
+ <process name="'modifyAnAttribute'">
+ <location>'%s' % location</location>
+ <command>'%s/bin/java' % JAVA_HOME</command>
+ <parms>'%s %s' % (STAFCmd,STAFCmdParams)</parms>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME,'CLASSPATH=%s/phases/shared/java' % LOCAL_TESTS_DIR]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ STAXCode=RC
+ STAXReason=STAXResult
+ </script>
+ <if expr="expectedRC != 'noCheck'">
+ <call function="'checkRC'">
+ { 'returncode' : STAXCode,
+ 'result' : STAXReason,
+ 'fileFd' : fileFd }
+ </call>
+ </if>
+
+ <call function="'writeEndTagOperation'">{'fileFd' : fileFd}</call>
+ <return>
+ [RC,STAXResult]
+ </return>
+ </sequence>
+
+ </function>
</stax>
--
Gitblit v1.10.0