From 895140b9e4f027e73ef892fba5cafb72cf47f68b Mon Sep 17 00:00:00 2001
From: ugaston <ugaston@localhost>
Date: Wed, 04 Apr 2007 10:42:07 +0000
Subject: [PATCH] Set of changes introducing the Synchronization Test Group + Basic Test
---
opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml | 788 +++++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 615 insertions(+), 173 deletions(-)
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml b/opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml
index 8ff2b32..77b28ca 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml
@@ -28,48 +28,113 @@
<stax>
<function name="addEntry">
<function-prolog>
- This function adds an entry to the Directory Server
+ This function adds an entry to the Directory Server from an ldif file
</function-prolog>
<function-map-args>
- <function-required-arg name="dsInstanceHost">
- Directory Server Host Name
- </function-required-arg>
- <function-required-arg name="dsInstancePort">
- Directory Server Port Number
- </function-required-arg>
- <function-required-arg name="dsInstanceDn">
- Directory Server Manager DN
- </function-required-arg>
- <function-required-arg name="dsInstancePswd">
- Directory Server Manager Password
- </function-required-arg>
- <function-required-arg name="entryToBeAdded">
- Entry to be added to Directory Server in ldif format
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <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="dsInstanceHost" type="optional">
+ <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="optional">
+ <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="optional">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePswd" type="optional">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="entryToBeAdded" type="required">
+ <function-arg-description>
+ Entry to be added to Directory Server in ldif format
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional">
+ <function-arg-description>
+ Optional extra parameters for specific test cases
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
</function-map-args>
<sequence>
+
+ <!-- Local variables -->
+ <script>
+ mylocation=location
+ </script>
+
+ <!-- Build the Command -->
+ <script>
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+
+ if dsPath:
+ STAFCmd='%s/bin/ldapmodify%s' % (dsPath,fileExt)
+
+ STAFCmdParamsList.append('-a')
+ </script>
+
+ <!-- Set common ldap arguments -->
+ <call function="'_ldapCommonArgs'"/>
+
+ <script>
+ if extraParams:
+ STAFCmdParamsList.append('%s' % extraParams)
+
+ if entryToBeAdded:
+ STAFCmdParamsList.append('-f "%s"' % entryToBeAdded)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+ </script>
+
<message>
- 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s %s -f "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeAdded)
+ '%s %s' % (STAFCmd, STAFCmdParams)
</message>
- <process name="'Add Entry'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-a -h %s -p %s -D "%s" -w %s %s -f "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeAdded)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+
+ <process name="'Add Entry from ldif file'">
+ <location>'%s' % mylocation</location>
+ <command>'%s' % STAFCmd</command>
+ <parms>'%s' % STAFCmdParams</parms>
+ <workdir>'%s/bin' % dsPath</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME]
</envs>
+ <console use="'same'"/>
<stderr mode="'stdout'"/>
<returnstdout/>
</process>
+
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
+
</sequence>
+
</function>
<function name="modifyEntry">
@@ -77,45 +142,109 @@
This function modifies an entry in the Directory Server
</function-prolog>
<function-map-args>
- <function-required-arg name="dsInstanceHost">
- Directory Server Host Name
- </function-required-arg>
- <function-required-arg name="dsInstancePort">
- Directory Server Port Number
- </function-required-arg>
- <function-required-arg name="dsInstanceDn">
- Directory Server Manager DN
- </function-required-arg>
- <function-required-arg name="dsInstancePswd">
- Directory Server Manager Password
- </function-required-arg>
- <function-required-arg name="entryToBeModified">
- Entry to be modified in the Directory Server in ldif format
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <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="dsInstanceHost" type="optional">
+ <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="optional">
+ <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="optional">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePswd" type="optional">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="entryToBeModified" type="required">
+ <function-arg-description>
+ Entry to be modified in the Directory Server in ldif format
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional">
+ <function-arg-description>
+ Optional extra parameters for specific test cases
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
</function-map-args>
<sequence>
+
+ <!-- Local variables -->
+ <script>
+ mylocation=location
+ </script>
+
+ <!-- Build the Command -->
+ <script>
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+
+ if dsPath:
+ STAFCmd='%s/bin/ldapmodify%s' % (dsPath,fileExt)
+
+ </script>
+
+ <!-- Set common ldap arguments -->
+ <call function="'_ldapCommonArgs'"/>
+
+ <script>
+ if extraParams:
+ STAFCmdParamsList.append('%s' % extraParams)
+
+ if entryToBeModified:
+ STAFCmdParamsList.append('-f "%s"' % entryToBeModified)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+ </script>
+
<message>
- 'ldapmodify%s -h %s -p %s -D "%s" -w %s %s -f "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeModified)
+ '%s %s' % (STAFCmd, STAFCmdParams)
</message>
- <process name="'Modify Entry'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s %s -f "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeModified)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+
+ <process name="'Modify Entry from ldif file'">
+ <location>'%s' % location</location>
+ <command>'%s' % STAFCmd</command>
+ <parms>'%s' % STAFCmdParams</parms>
+ <workdir>'%s/bin' % dsPath</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME]
</envs>
+ <console use="'same'"/>
<stderr mode="'stdout'"/>
<returnstdout/>
</process>
+
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
+
</sequence>
+
</function>
<function name="SearchObject">
@@ -123,48 +252,143 @@
This function searches the Directory Server with optional arguments possible
</function-prolog>
<function-map-args>
- <function-required-arg name="dsInstanceHost">
- Directory Server Host Name
- </function-required-arg>
- <function-required-arg name="dsInstancePort">
- Directory Server Port Number
- </function-required-arg>
- <function-required-arg name="dsInstanceDn">
- Directory Server Manager DN
- </function-required-arg>
- <function-required-arg name="dsInstancePswd">
- Directory Server Manager Password
- </function-required-arg>
- <function-required-arg name="dsBaseDN">
- The baseDN for the search operation
- </function-required-arg>
- <function-required-arg name="dsFilter">
- The filter for the search operation
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
- <function-optional-arg name="attributes" default="' '">
- Attributes to return
- </function-optional-arg>
+ <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="pathname"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceHost" type="optional">
+ <function-arg-description>
+ Directory Server Host Name
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePort" type="optional">
+ <function-arg-description>
+ Directory Server Port Number
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceDn" type="optional">
+ <function-arg-description>
+ Directory Server Manager DN
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePswd" type="optional">
+ <function-arg-description>
+ Directory Server Manager Password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="dsScope" type="optional">
+ <function-arg-description>
+ The scope of the search operation
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
+ <function-arg-def name="dsBaseDN" type="optional">
+ <function-arg-description>
+ The baseDN for the search operation
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
+ <function-arg-def name="dsFilter" type="optional">
+ <function-arg-description>
+ The filter for the search operation
+ </function-arg-description>
+ <function-arg-property name="type" value="filter"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional">
+ <function-arg-description>
+ Optional extra parameters for specific test cases
+ </function-arg-description>
+ <function-arg-property name="type" value="filter"/>
+ </function-arg-def>
+ <function-arg-def name="attributes" type="optional">
+ <function-arg-description>
+ Optional Attributes to return
+ </function-arg-description>
+ <function-arg-property name="type" value="attributes"/>
+ </function-arg-def>
</function-map-args>
<sequence>
+
+ <!-- Local variables -->
+ <script>
+ mylocation=location
+ </script>
+
+ <!-- Build the Command -->
+ <script>
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+
+ if dsPath:
+ STAFCmd='%s/bin/ldapsearch%s' % (dsPath,fileExt)
+
+ </script>
+
+ <!-- Set common ldap arguments -->
+ <call function="'_ldapCommonArgs'"/>
+
+ <script>
+ if dsScope:
+ STAFCmdParamsList.append('-s %s' % dsScope)
+
+ if extraParams:
+ STAFCmdParamsList.append('%s' % extraParams)
+
+ if dsBaseDN:
+ STAFCmdParamsList.append('-b "%s"' % dsBaseDN)
+
+ if dsFilter:
+ STAFCmdParamsList.append('"%s"' % dsFilter)
+
+ if attributes:
+ STAFCmdParamsList.append('%s' % attributes)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+ </script>
+
<message>
- 'ldapsearch%s -h %s -p %s -D "%s" -w %s %s -b "%s" "%s" "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,dsBaseDN,dsFilter,attributes)
+ '%s %s' % (STAFCmd, STAFCmdParams)
</message>
+
<process name="'Search Base Object'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s %s -b "%s" "%s" %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,dsBaseDN,dsFilter,attributes)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <location>'%s' % location</location>
+ <command>'%s' % STAFCmd</command>
+ <parms>'%s' % STAFCmdParams</parms>
+ <workdir>'%s/bin' % dsPath</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME]
</envs>
+ <console use="'same'"/>
<stderr mode="'stdout'"/>
<returnstdout/>
</process>
- <return>STAXResult</return>
+
+ <script>
+ SearchRC=RC
+ SearchResult=STAXResult
+ </script>
+
+ <call function="'checkRC'">
+ { 'returncode' : SearchRC ,
+ 'result' : SearchResult }
+ </call>
+
+ <return>SearchResult</return>
+
</sequence>
+
</function>
<function name="SearchObjectNoPwd">
@@ -172,126 +396,248 @@
This function searches the Directory Server with optional arguments possible
</function-prolog>
<function-map-args>
- <function-required-arg name="dsInstanceHost">
- Directory Server Host Name
- </function-required-arg>
- <function-required-arg name="dsInstancePort">
- Directory Server Port Number
- </function-required-arg>
- <function-required-arg name="dsInstanceDn">
- Directory Server Manager DN
- </function-required-arg>
- <function-required-arg name="dsBaseDN">
- The baseDN for the search operation
- </function-required-arg>
- <function-required-arg name="dsFilter">
- The filter for the search operation
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <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="pathname"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceHost" type="optional">
+ <function-arg-description>
+ Directory Server Host Name
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePort" type="optional">
+ <function-arg-description>
+ Directory Server Port Number
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceDn" type="optional">
+ <function-arg-description>
+ Directory Server Manager DN
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
+ <function-arg-def name="dsBaseDN" type="optional">
+ <function-arg-description>
+ The baseDN for the search operation
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
+ <function-arg-def name="dsFilter" type="optional">
+ <function-arg-description>
+ The filter for the search operation
+ </function-arg-description>
+ <function-arg-property name="type" value="filter"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional">
+ <function-arg-description>
+ Optional extra parameters for specific test cases
+ </function-arg-description>
+ <function-arg-property name="type" value="filter"/>
+ </function-arg-def>
</function-map-args>
<sequence>
<message>
'ldapsearch%s -h %s -p %s -D "%s" %s -b "%s" "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,extraParams,dsBaseDN,dsFilter)
</message>
- <process name="'Search Base Object'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
+ <process name="'Search Base Object No Password'">
+ <location>'%s' % location </location>
+ <command>'%s/bin/ldapsearch%s' % (dsPath,fileExt)</command>
<parms>'-h %s -p %s -D "%s" %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,extraParams,dsBaseDN,dsFilter)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <workdir>'%s/bin' % dsPath</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME]
</envs>
<stderr mode="'stdout'"/>
<returnstdout/>
</process>
</sequence>
</function>
-
+
<function name="AnonSearchObject">
<function-prolog>
This function searches the Directory Server anonymously with optional arguments possible
</function-prolog>
<function-map-args>
- <function-required-arg name="dsInstanceHost">
+ <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="pathname"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstanceHost" type="optional">
+ <function-arg-description>
Directory Server Host Name
- </function-required-arg>
- <function-required-arg name="dsInstancePort">
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePort" type="optional">
+ <function-arg-description>
Directory Server Port Number
- </function-required-arg>
- <function-required-arg name="dsBaseDN">
+ </function-arg-description>
+ <function-arg-property name="type" value="integer"/>
+ </function-arg-def>
+ <function-arg-def name="dsBaseDN" type="optional">
+ <function-arg-description>
The baseDN for the search operation
- </function-required-arg>
- <function-required-arg name="dsFilter">
+ </function-arg-description>
+ <function-arg-property name="type" value="dn"/>
+ </function-arg-def>
+ <function-arg-def name="dsFilter" type="optional">
+ <function-arg-description>
The filter for the search operation
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
+ </function-arg-description>
+ <function-arg-property name="type" value="filter"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional">
+ <function-arg-description>
Optional extra parameters for specific test cases
- </function-optional-arg>
+ </function-arg-description>
+ <function-arg-property name="type" value="filter"/>
+ </function-arg-def>
</function-map-args>
<sequence>
<message>
'ldapsearch%s -h %s -p %s %s -b "%s" "%s"' % (fileExt,dsInstanceHost,dsInstancePort,extraParams,dsBaseDN,dsFilter)
</message>
<process name="'Anonymous Search Base Object'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
+ <location>'%s' % location </location>
+ <command>'%s/bin/ldapsearch%s' % (dsPath,fileExt)</command>
<parms>'-h %s -p %s %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,extraParams,dsBaseDN,dsFilter)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <workdir>'%s/bin' % dsPath</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME]
</envs>
<stderr mode="'stdout'"/>
<returnstdout/>
</process>
</sequence>
</function>
-
+
<function name="DeleteEntry">
<function-prolog>
This function an entry in the Directory Server
</function-prolog>
<function-map-args>
- <function-required-arg name="dsInstanceHost">
- Directory Server Host Name
- </function-required-arg>
- <function-required-arg name="dsInstancePort">
- Directory Server Port Number
- </function-required-arg>
- <function-required-arg name="dsInstanceDn">
- Directory Server Manager DN
- </function-required-arg>
- <function-required-arg name="dsInstancePswd">
- Directory Server Manager Password
- </function-required-arg>
- <function-required-arg name="dsBaseDN">
- The entry to be deleted
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <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="dsInstanceHost" type="optional">
+ <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="optional">
+ <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="optional">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePswd" type="optional">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="dsBaseDN" type="required">
+ <function-arg-description>
+ Entry to be deleted in the Directory Server
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional">
+ <function-arg-description>
+ Optional extra parameters for specific test cases
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
</function-map-args>
+
<sequence>
+
+ <!-- Local variables -->
+ <script>
+ mylocation=location
+ </script>
+
+ <!-- Build the Command -->
+ <script>
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+
+ if dsPath:
+ STAFCmd='%s/bin/ldapdelete%s' % (dsPath,fileExt)
+
+ </script>
+
+ <!-- Set common ldap arguments -->
+ <call function="'_ldapCommonArgs'"/>
+
+ <script>
+ if extraParams:
+ STAFCmdParamsList.append('%s' % extraParams)
+
+ if dsBaseDN:
+ STAFCmdParamsList.append('"%s"' % dsBaseDN)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+ </script>
+
<message>
- 'ldapdelete%s -h %s -p %s -D "%s" -w %s %s "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,dsBaseDN)
+ '%s %s' % (STAFCmd, STAFCmdParams)
</message>
+
<process name="'Delete Object'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapdelete%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s %s "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,dsBaseDN)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <location>'%s' % location</location>
+ <command>'%s' % STAFCmd</command>
+ <parms>'%s' % STAFCmdParams</parms>
+ <workdir>'%s/bin' % dsPath</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME]
</envs>
+ <console use="'same'"/>
<stderr mode="'stdout'"/>
<returnstdout/>
</process>
+
<call function="'checkRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
+
</sequence>
+
</function>
<function name="compareEntry">
@@ -299,43 +645,139 @@
This function compares the attribute and value an entry to the Directory Server
</function-prolog>
<function-map-args>
- <function-required-arg name="dsInstanceHost">
- Directory Server Host Name
- </function-required-arg>
- <function-required-arg name="dsInstancePort">
- Directory Server Port Number
- </function-required-arg>
- <function-required-arg name="dsInstanceDn">
- Directory Server Manager DN
- </function-required-arg>
- <function-required-arg name="dsInstancePswd">
- Directory Server Manager Password
- </function-required-arg>
- <function-required-arg name="attrToBeCompared">
- Attribute to be compared in Directory Server
- </function-required-arg>
- <function-required-arg name="entryToBeCompared">
- Entry to be compared in Directory Server
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <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="dsInstanceHost" type="optional">
+ <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="optional">
+ <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="optional">
+ <function-arg-description>
+ Bind DN
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="dsInstancePswd" type="optional">
+ <function-arg-description>
+ Bind password
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
+ <function-arg-def name="attrToBeCompared" type="required">
+ <function-arg-description>
+ Attribute to be compared in Directory Server
+ </function-arg-description>
+ <function-arg-property name="type" value="attribute"/>
+ </function-arg-def>
+ <function-arg-def name="entryToBeCompared" type="required">
+ <function-arg-description>
+ Entry to be compared in Directory Server
+ </function-arg-description>
+ <function-arg-property name="type" value="DN"/>
+ </function-arg-def>
+ <function-arg-def name="extraParams" type="optional">
+ <function-arg-description>
+ Optional extra parameters for specific test cases
+ </function-arg-description>
+ <function-arg-property name="type" value="string"/>
+ </function-arg-def>
</function-map-args>
<sequence>
+
+ <!-- Local variables -->
+ <script>
+ mylocation=location
+ </script>
+
+ <!-- Build the Command -->
+ <script>
+ STAFCmdParamsList=[]
+ STAFCmdParams=''
+
+ if dsPath:
+ STAFCmd='%s/bin/ldapcompare%s' % (dsPath,fileExt)
+
+ </script>
+
+ <!-- Set common ldap arguments -->
+ <call function="'_ldapCommonArgs'"/>
+ <script>
+ if extraParams:
+ STAFCmdParamsList.append('%s' % extraParams)
+
+ if attrToBeCompared:
+ STAFCmdParamsList.append('"%s"' % attrToBeCompared)
+
+ if entryToBeCompared:
+ STAFCmdParamsList.append('"%s"' % entryToBeCompared)
+
+ STAFCmdParams=' '.join(STAFCmdParamsList)
+ </script>
+
<message>
- 'ldapcompare%s -h %s -p %s -D "%s" -w %s %s "%s" "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,attrToBeCompared,entryToBeCompared)
+ '%s %s' % (STAFCmd, STAFCmdParams)
</message>
- <process name="'Compare Entry'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapcompare%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s %s "%s" "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,attrToBeCompared,entryToBeCompared)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+
+ <process name="'Compare Object'">
+ <location>'%s' % location</location>
+ <command>'%s' % STAFCmd</command>
+ <parms>'%s' % STAFCmdParams</parms>
+ <workdir>'%s/bin' % dsPath</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s/bin' % dsPath, 'JAVA_HOME=%s' % JAVA_HOME]
</envs>
+ <console use="'same'"/>
<stderr mode="'stdout'"/>
<returnstdout/>
</process>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
</sequence>
+
</function>
+
+ <function name="_ldapCommonArgs">
+ <function-prolog>
+ This function resolves common ldap arguments
+ </function-prolog>
+ <function-no-args/>
+
+ <script>
+ if dsInstanceHost:
+ STAFCmdParamsList.append('-h %s' % dsInstanceHost)
+
+ if dsInstancePort:
+ STAFCmdParamsList.append('-p %s' % dsInstancePort)
+
+ if dsInstanceDn:
+ STAFCmdParamsList.append('-D "%s"' % dsInstanceDn)
+
+ if dsInstancePswd:
+ STAFCmdParamsList.append('-w "%s"' % dsInstancePswd)
+ </script>
+
+ </function>
+
</stax>
--
Gitblit v1.10.0