From e93df61d572cc3a7ad924354510d2bc3ac44ef95 Mon Sep 17 00:00:00 2001
From: al_xipe <al_xipe@localhost>
Date: Sun, 18 Feb 2007 08:12:42 +0000
Subject: [PATCH] this commit contains fixes for issues: .1241: refactoring functional tests libraries .1242: configDS now allows to pass rootDN and password parameters .1244: added a variable for back end name and made the changes in the libs
---
opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml | 601 +++---
opendj-sdk/opends/tests/functional-tests/config/config.py | 59
opendj-sdk/opends/tests/functional-tests/shared/functions/stafcmd.xml | 507 ++---
opendj-sdk/opends/tests/functional-tests/shared/functions/utils.xml | 368 +--
opendj-sdk/opends/tests/functional-tests/shared/functions/security.xml | 734 ++++----
opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml | 2654 ++++++++++++++----------------
opendj-sdk/opends/tests/functional-tests/staf-installer/config.py.stubs | 1
7 files changed, 2,265 insertions(+), 2,659 deletions(-)
diff --git a/opendj-sdk/opends/tests/functional-tests/config/config.py b/opendj-sdk/opends/tests/functional-tests/config/config.py
index d201765..f7f0690 100644
--- a/opendj-sdk/opends/tests/functional-tests/config/config.py
+++ b/opendj-sdk/opends/tests/functional-tests/config/config.py
@@ -1,30 +1,31 @@
-TEST_OS_STRING = 'OS_STRING'
-TEST_HW_STRING = 'HW_STRING'
-TEST_JVM_STRING = 'JVM_STRING'
-STAF_LOCAL_HOSTNAME = 'localhost'
-STAF_REMOTE_HOSTNAME = 'localhost'
-STAF_JAVA_HOME = '/usr/jdk/jdk1.5.0'
-STAF_HOME_DIR = '/usr/local/staf'
-TMPDIR = '/tmp'
-PSWDFILE = '/tmp/password'
-OPENDSDIR = '/home/username/trunk/opends'
-OPENDSNAME = 'OpenDS-0.1'
-ZIPNAME = '%s.zip' % OPENDSNAME
-ZIPPATH = '%s/build/package' % OPENDSDIR
-TESTS_DIR = '%s/tests/functional-tests' % OPENDSDIR
-TESTS_ROOT = '%s/tests' % OPENDSDIR
-TESTS_SHARED_DIR = '%s/shared' % TESTS_DIR
-TESTS_FUNCTIONS_DIR = '%s/functions' % TESTS_SHARED_DIR
-TESTS_DATA_DIR = '%s/data' % TESTS_SHARED_DIR
-TMP_DATA_DIR = '%s/functional-tests' % TMPDIR
-DIRECTORY_INSTANCE_DN = 'cn=Directory Manager'
-DIRECTORY_INSTANCE_PSWD = 'password'
-DIRECTORY_INSTANCE_DIR = '/tmp'
-DIRECTORY_INSTANCE_HOST = 'localhost'
-DIRECTORY_INSTANCE_PORT = '1389'
+TEST_OS_STRING = 'OS_STRING'
+TEST_HW_STRING = 'HW_STRING'
+TEST_JVM_STRING = 'JVM_STRING'
+STAF_LOCAL_HOSTNAME = 'localhost'
+STAF_REMOTE_HOSTNAME = 'localhost'
+STAF_JAVA_HOME = '/usr/jdk/jdk1.5.0'
+STAF_HOME_DIR = '/usr/local/staf'
+TMPDIR = '/tmp'
+PSWDFILE = '/tmp/password'
+OPENDSDIR = '/home/username/trunk/opends'
+OPENDSNAME = 'OpenDS-0.1'
+ZIPNAME = '%s.zip' % OPENDSNAME
+ZIPPATH = '%s/build/package' % OPENDSDIR
+TESTS_DIR = '%s/tests/functional-tests' % OPENDSDIR
+TESTS_ROOT = '%s/tests' % OPENDSDIR
+TESTS_SHARED_DIR = '%s/shared' % TESTS_DIR
+TESTS_FUNCTIONS_DIR = '%s/functions' % TESTS_SHARED_DIR
+TESTS_DATA_DIR = '%s/data' % TESTS_SHARED_DIR
+TMP_DATA_DIR = '%s/functional-tests' % TMPDIR
+DIRECTORY_INSTANCE_DN = 'cn=Directory Manager'
+DIRECTORY_INSTANCE_PSWD = 'password'
+DIRECTORY_INSTANCE_DIR = '/tmp'
+DIRECTORY_INSTANCE_HOST = 'localhost'
+DIRECTORY_INSTANCE_PORT = '1389'
DIRECTORY_INSTANCE_SSL_PORT = '1636'
-DIRECTORY_INSTANCE_SFX = 'dc=com'
-STAGED_DATA_DIR = '%s/functional-tests/shared/data' % DIRECTORY_INSTANCE_DIR
-JAVA_HOME = '/usr/jdk/jdk1.5.0_01'
-SEND_MAIL_AFTER_TEST_RUN= 'FALSE'
-SEND_MAIL_TO = ' '
+DIRECTORY_INSTANCE_SFX = 'dc=com'
+DIRECTIRY_INSTANCE_BE = 'userRoot'
+STAGED_DATA_DIR = '%s/functional-tests/shared/data' % DIRECTORY_INSTANCE_DIR
+JAVA_HOME = '/usr/jdk/jdk1.5.0_01'
+SEND_MAIL_AFTER_TEST_RUN = 'FALSE'
+SEND_MAIL_TO = ' '
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml b/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml
index 5844a3a..0117a26 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml
@@ -27,584 +27,523 @@
! -->
<stax>
- <function name="configureDS">
-
+ <function name="configureDS">
<function-prolog>
- This function configures a Directory Server
+ This function configures a Directory Server
</function-prolog>
-
<function-map-args>
- <function-required-arg name="dsInstancePort">
- Directory Server port number
- </function-required-arg>
- <function-required-arg name="dsInstanceSuffix">
- Directory Server suffix
- </function-required-arg>
-
+ <function-required-arg name="dsInstancePort" default="'%s' DIRECTORY_INSTANCE_PORT">
+ Directory Server port number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceSuffix" default="'%s' % DIRECTORY_INSTANCE_SFX" >
+ Directory Server suffix
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDN" default="'%s' % DIRECTORY_INSTANCE_DN" >
+ Directory manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePassword" default="'%s' % DIRECTORY_INSTANCE_PSWD" >
+ Directory Server suffix
+ </function-required-arg>
+
</function-map-args>
+ <sequence>
+ <process name="'Configure DS'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/configure-ds%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-p %s -b "%s" -D "%s" -w %s' % (dsInstancePort,dsInstanceSuffix,dsInstanceDN,dsInstancePassword)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- <sequence>
-
- <process name="'Configure DS'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/configure-ds%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-p %s -b "%s"' % (dsInstancePort,dsInstanceSuffix)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="startDS">
-
+ <function name="startDS">
<function-prolog>
- This function starts a Directory Server
+ This function starts a Directory Server
</function-prolog>
-
<function-map-args>
- <function-required-arg name="dsbinpath">
- location of the Directory Server binaries
- </function-required-arg>
-
+ <function-required-arg name="dsbinpath">
+ location of the Directory Server binaries
+ </function-required-arg>
</function-map-args>
+ <sequence>
+ <process name="'Start DS'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/start-ds%s' % (dsbinpath,fileExt)</command>
+ <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>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- <sequence>
-
- <process name="'Start DS'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/start-ds%s' % (dsbinpath,fileExt)</command>
- <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>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="stopDS">
-
- <function-prolog>
- This function stops a Directory Server
- </function-prolog>
-
- <function-map-args>
- <function-required-arg name="dsInstancePort">
- Directory Server port number
- </function-required-arg>
- <function-optional-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN" >
- Hostname
- </function-optional-arg>
- <function-optional-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD" >
- Password
- </function-optional-arg>
- </function-map-args>
-
- <sequence>
-
- <process name="'Stop DS'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/stop-ds%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-p %s -D "%s" -w %s' % (dsInstancePort, dsInstanceDn, dsInstancePswd)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="genServerJKSCert">
-
- <function-prolog>
- This function generates a server jks certificate
- </function-prolog>
-
- <sequence>
-
- <process name="'Generate Server JKS Certificate'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/bin/keytool' % JAVA_HOME</command>
- <parms>'-genkey -alias server-cert -keyalg rsa -dname "cn=client,O=Sun Microsystems,C=US" -keystore "keystore" -storepass "servercert" -keypass "servercert"'</parms>
- <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="genServerPKCS12Cert">
-
- <function-prolog>
- This function generates a server PKCS12 certificate
- </function-prolog>
-
- <sequence>
-
- <process name="'Generate Server PKCS12 Certificate'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/bin/keytool' % JAVA_HOME</command>
- <parms>'-genkey -alias server-cert -keyalg rsa -dname "cn=client,O=Sun Microsystems,C=US" -keystore "keystore" -storepass "servercert" -keypass "servercert" -storetype "PKCS12"'</parms>
- <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="selfSignServerJKSCert">
-
- <function-prolog>
- This function self-signs a server JKS certificate
- </function-prolog>
-
- <sequence>
-
- <process name="'Self-Signs Server JKS Certificate'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/bin/keytool' % JAVA_HOME</command>
- <parms>'-selfcert -alias server-cert -keystore "keystore" -storepass "servercert"'</parms>
- <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="selfSignServerPKCS12Cert">
-
- <function-prolog>
- This function self-signs a server PKCS12 certificate
- </function-prolog>
-
- <sequence>
-
- <process name="'Self-Signs Server PKCS12 Certificate'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/bin/keytool' % JAVA_HOME</command>
- <parms>'-selfcert -alias server-cert -keystore "keystore" -storepass "servercert" -storetype "PKCS12"'</parms>
- <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <!-- Import Function -->
- <function name="importLdif">
-
- <function-prolog>
- This function performs an offline import of an ldif file
- </function-prolog>
-
- <function-map-args>
- <function-required-arg name="ldifFile">
- The name of the ldif file
- </function-required-arg>
- <function-optional-arg name="backEnd" default="'userRoot'">
- The name of the database backend
- </function-optional-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
- </function-map-args>
-
- <sequence>
-
- <message>
- 'import-ldif%s -l %s -n %s %s' % (fileExt,ldifFile,backEnd,extraParams)
- </message>
- <process name="'Offline Import'">
+ <function name="stopDS">
+ <function-prolog>
+ This function stops a Directory Server
+ </function-prolog>
+ <function-map-args>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server port number
+ </function-required-arg>
+ <function-optional-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN" >
+ Hostname
+ </function-optional-arg>
+ <function-optional-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD" >
+ Password
+ </function-optional-arg>
+ </function-map-args>
+ <sequence>
+ <process name="'Stop DS'">
<location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/import-ldif%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-l %s -n %s %s' % (ldifFile,backEnd,extraParams)</parms>
+ <command>'%s/stop-ds%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-p %s -D "%s" -w %s' % (dsInstancePort, dsInstanceDn, dsInstancePswd)</parms>
<workdir>'%s' % (OPENDS_BINPATH)</workdir>
<envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
</envs>
<stderr mode="'stdout'"/>
<returnstdout/>
- </process>
+ </process>
- <script>
- importRC=RC
- importResult=STAXResult
- </script>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- <call function="'checkRC'">
- { 'returncode' : importRC ,
- 'result' : importResult }
- </call>
+ <function name="genServerJKSCert">
+ <function-prolog>
+ This function generates a server jks certificate
+ </function-prolog>
+ <sequence>
+ <process name="'Generate Server JKS Certificate'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/bin/keytool' % JAVA_HOME</command>
+ <parms>'-genkey -alias server-cert -keyalg rsa -dname "cn=client,O=Sun Microsystems,C=US" -keystore "keystore" -storepass "servercert" -keypass "servercert"'</parms>
+ <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- <return>importRC</return>
+ <function name="genServerPKCS12Cert">
+ <function-prolog>
+ This function generates a server PKCS12 certificate
+ </function-prolog>
+ <sequence>
+ <process name="'Generate Server PKCS12 Certificate'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/bin/keytool' % JAVA_HOME</command>
+ <parms>'-genkey -alias server-cert -keyalg rsa -dname "cn=client,O=Sun Microsystems,C=US" -keystore "keystore" -storepass "servercert" -keypass "servercert" -storetype "PKCS12"'</parms>
+ <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- </sequence>
+ <function name="selfSignServerJKSCert">
+ <function-prolog>
+ This function self-signs a server JKS certificate
+ </function-prolog>
+ <sequence>
+ <process name="'Self-Signs Server JKS Certificate'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/bin/keytool' % JAVA_HOME</command>
+ <parms>'-selfcert -alias server-cert -keystore "keystore" -storepass "servercert"'</parms>
+ <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- </function>
+ <function name="selfSignServerPKCS12Cert">
+ <function-prolog>
+ This function self-signs a server PKCS12 certificate
+ </function-prolog>
+ <sequence>
+ <process name="'Self-Signs Server PKCS12 Certificate'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/bin/keytool' % JAVA_HOME</command>
+ <parms>'-selfcert -alias server-cert -keystore "keystore" -storepass "servercert" -storetype "PKCS12"'</parms>
+ <workdir>'%s/../config' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
+
+ <!-- Import Function -->
+ <function name="importLdif">
+ <function-prolog>
+ This function performs an offline import of an ldif file
+ </function-prolog>
+ <function-map-args>
+ <function-required-arg name="ldifFile">
+ The name of the ldif file
+ </function-required-arg>
+ <function-optional-arg name="backEnd" default="'%s' % DIRECTORY_INSTANCE_BE">
+ The name of the database backend
+ </function-optional-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
+ </function-map-args>
+ <sequence>
+ <message>
+ 'import-ldif%s -l %s -n %s %s' % (fileExt,ldifFile,backEnd,extraParams)
+ </message>
+ <process name="'Offline Import'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/import-ldif%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-l %s -n %s %s' % (ldifFile,backEnd,extraParams)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <script>
+ importRC=RC
+ importResult=STAXResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : importRC ,
+ 'result' : importResult }
+ </call>
+ <return>importRC</return>
+ </sequence>
+ </function>
- <!-- Import Task Function -->
- <function name="importLdifTask">
-
+ <!-- Import Task Function -->
+ <function name="importLdifTask">
<function-prolog>
This function performs an on line import task of 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="taskID">
- The identifier for the task
- </function-required-arg>
- <function-required-arg name="ldifFile">
- The name of the ldif file
- </function-required-arg>
- <function-optional-arg name="backEnd" default="'userRoot'">
- Optional the name of the database backend
- </function-optional-arg>
- <function-optional-arg name="isCompressed" default="'FALSE'">
- Optional imported ldif data file compressed
- </function-optional-arg>
- <function-optional-arg name="isEncrypted" default="'FALSE'">
- Optional imported ldif data file encrypted
- </function-optional-arg>
- <function-optional-arg name="rejectsFile" default="' '">
- Optional name of rejects file
- </function-optional-arg>
- <function-optional-arg name="overwriteRejectsFile" default="'FALSE'">
- Optional name of rejects file
- </function-optional-arg>
- <function-optional-arg name="append" default="'FALSE'">
- Optional append imported ldif data
- </function-optional-arg>
- <function-optional-arg name="skipSchemaValidation" default="'FALSE'">
- Optional don't do schema validation on import
- </function-optional-arg>
- <function-optional-arg name="replaceExisting" default="'TRUE'">
- Optional replace existing data
- </function-optional-arg>
- <function-optional-arg name="excludeBranches" default="' '">
- Optional exclude branches
- </function-optional-arg>
- <function-optional-arg name="includeBranches" default="' '">
- Optional include branches
- </function-optional-arg>
- <function-optional-arg name="excludeAttributes" default="' '">
- Optional exclude attributes
- </function-optional-arg>
- <function-optional-arg name="includeAttributes" default="' '">
- Optional include attributes
- </function-optional-arg>
- <function-optional-arg name="excludeFilters" default="' '">
- Optional exclude filters
- </function-optional-arg>
- <function-optional-arg name="includeFilters" default="' '">
- Optional include filters
- </function-optional-arg>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server host name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server port number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="taskID">
+ The identifier for the task
+ </function-required-arg>
+ <function-required-arg name="ldifFile">
+ The name of the ldif file
+ </function-required-arg>
+ <function-optional-arg name="backEnd" default="'%s' % DIRECTORY_INSTANCE_BE">
+ Optional the name of the database backend
+ </function-optional-arg>
+ <function-optional-arg name="isCompressed" default="'FALSE'">
+ Optional imported ldif data file compressed
+ </function-optional-arg>
+ <function-optional-arg name="isEncrypted" default="'FALSE'">
+ Optional imported ldif data file encrypted
+ </function-optional-arg>
+ <function-optional-arg name="rejectsFile" default="' '">
+ Optional name of rejects file
+ </function-optional-arg>
+ <function-optional-arg name="overwriteRejectsFile" default="'FALSE'">
+ Optional name of rejects file
+ </function-optional-arg>
+ <function-optional-arg name="append" default="'FALSE'">
+ Optional append imported ldif data
+ </function-optional-arg>
+ <function-optional-arg name="skipSchemaValidation" default="'FALSE'">
+ Optional don't do schema validation on import
+ </function-optional-arg>
+ <function-optional-arg name="replaceExisting" default="'TRUE'">
+ Optional replace existing data
+ </function-optional-arg>
+ <function-optional-arg name="excludeBranches" default="' '">
+ Optional exclude branches
+ </function-optional-arg>
+ <function-optional-arg name="includeBranches" default="' '">
+ Optional include branches
+ </function-optional-arg>
+ <function-optional-arg name="excludeAttributes" default="' '">
+ Optional exclude attributes
+ </function-optional-arg>
+ <function-optional-arg name="includeAttributes" default="' '">
+ Optional include attributes
+ </function-optional-arg>
+ <function-optional-arg name="excludeFilters" default="' '">
+ Optional exclude filters
+ </function-optional-arg>
+ <function-optional-arg name="includeFilters" default="' '">
+ Optional include filters
+ </function-optional-arg>
</function-map-args>
-
- <sequence>
-
+ <sequence>
+ <script>
+ taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
+ </script>
+
+ <!-- Build the import task configuration object -->
+ <script>
+ ldifLines=[]
+ ldifLines.append('dn: %s' % taskDN)
+ ldifLines.append('objectclass: top')
+ ldifLines.append('objectclass: ds-task')
+ ldifLines.append('objectclass: ds-task-import')
+ ldifLines.append('ds-task-class-name: org.opends.server.tasks.ImportTask')
+ </script>
+
+ <script>
+ ldifLines.append('ds-task-import-backend-id: %s' % backEnd )
+ ldifLines.append('ds-task-import-ldif-file: %s' % ldifFile )
+ ldifLines.append('ds-task-import-is-compressed: %s' % isCompressed )
+ ldifLines.append('ds-task-import-is-encrypted: %s' % isEncrypted )
+ </script>
+
+ <if expr="rejectsFile != ' '">
<script>
- taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
+ ldifLines.append('ds-task-import-reject-file: %s' % rejectsFile )
</script>
-
- <!-- Build the import task configuration object -->
- <script>
- ldifLines=[]
- ldifLines.append('dn: %s' % taskDN)
- ldifLines.append('objectclass: top')
- ldifLines.append('objectclass: ds-task')
- ldifLines.append('objectclass: ds-task-import')
- ldifLines.append('ds-task-class-name: org.opends.server.tasks.ImportTask')
- </script>
-
- <script>
- ldifLines.append('ds-task-import-backend-id: %s' % backEnd )
- ldifLines.append('ds-task-import-ldif-file: %s' % ldifFile )
- ldifLines.append('ds-task-import-is-compressed: %s' % isCompressed )
- ldifLines.append('ds-task-import-is-encrypted: %s' % isEncrypted )
- </script>
-
- <if expr="rejectsFile != ' '">
+ </if>
+
+ <script>
+ ldifLines.append('ds-task-import-overwrite-rejects: %s' % overwriteRejectsFile )
+ ldifLines.append('ds-task-import-append: %s' % append )
+ ldifLines.append('ds-task-import-skip-schema-validation: %s' % skipSchemaValidation )
+ ldifLines.append('ds-task-import-replace-existing: %s' % replaceExisting )
+ </script>
+
+ <iterate var="branch" in="excludeBranches">
+ <sequence>
+ <if expr="branch == ' '">
+ <break/>
+ </if>
<script>
- ldifLines.append('ds-task-import-reject-file: %s' % rejectsFile )
+ ldifLines.append('ds-task-import-exclude-branch: %s' % branch )
</script>
- </if>
-
- <script>
- ldifLines.append('ds-task-import-overwrite-rejects: %s' % overwriteRejectsFile )
- ldifLines.append('ds-task-import-append: %s' % append )
- ldifLines.append('ds-task-import-skip-schema-validation: %s' % skipSchemaValidation )
- ldifLines.append('ds-task-import-replace-existing: %s' % replaceExisting )
- </script>
-
- <iterate var="branch" in="excludeBranches">
- <sequence>
- <if expr="branch == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-import-exclude-branch: %s' % branch )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="branch" in="includeBranches">
- <sequence>
- <if expr="branch == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-import-include-branch: %s' % branch )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="attribute" in="excludeAttributes">
- <sequence>
- <if expr="attribute == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-import-exclude-attribute: %s' % attribute )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="attribute" in="includeAttributes">
- <sequence>
- <if expr="attribute == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-import-include-attribute: %s' % attribute )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="filter" in="excludeFilters">
- <sequence>
- <if expr="filter == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-import-exclude-filter: %s' % filter)
- </script>
- </sequence>
- </iterate>
-
- <iterate var="filter" in="includeFilters">
- <sequence>
- <if expr="filter == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-import-include-filter: %s' % filter)
- </script>
- </sequence>
- </iterate>
+ </sequence>
+ </iterate>
+
+ <iterate var="branch" in="includeBranches">
+ <sequence>
+ <if expr="branch == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-include-branch: %s' % branch )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="attribute" in="excludeAttributes">
+ <sequence>
+ <if expr="attribute == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-exclude-attribute: %s' % attribute )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="attribute" in="includeAttributes">
+ <sequence>
+ <if expr="attribute == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-include-attribute: %s' % attribute )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="filter" in="excludeFilters">
+ <sequence>
+ <if expr="filter == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-exclude-filter: %s' % filter)
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="filter" in="includeFilters">
+ <sequence>
+ <if expr="filter == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-include-filter: %s' % filter)
+ </script>
+ </sequence>
+ </iterate>
- <!-- Write out the import-task ldif -->
- <script>
- outfile = open('%s/import-task.ldif' % TMP_DATA_DIR,"w")
-
- for line in ldifLines:
- outfile.write("%s\n" % line)
-
- outfile.close()
- </script>
-
-
- <!-- Copy the import-task ldif to remote host -->
- <message>'Copy import task ldif file.'</message>
- <call function="'copyfile'">
- { 'srcfile' : '%s/import-task.ldif' % TMP_DATA_DIR,
- 'destfile' : '%s/import-task.ldif' % STAGED_DATA_DIR,
- 'remotehost' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <!-- On line Import Task with ldapmodify -->
- <message>
- 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
- </message>
- <process name="'On line Import Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stdin>'%s/import-task.ldif' % STAGED_DATA_DIR</stdin>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- importTaskRC=RC
- importTaskResult=STAXResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : importTaskRC ,
- 'result' : importTaskResult }
- </call>
+ <!-- Write out the import-task ldif -->
+ <script>
+ outfile = open('%s/import-task.ldif' % TMP_DATA_DIR,"w")
- <!-- Check that the task is completed -->
- <script>
- loopRC=1
- </script>
-
- <script>
- import re
- searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
- </script>
-
- <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
- <loop from="1" to="5" while="loopRC != 0">
-
- <sequence>
+ for line in ldifLines:
+ outfile.write("%s\n" % line)
- <message>
- 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ outfile.close()
+ </script>
+
+
+ <!-- Copy the import-task ldif to remote host -->
+ <message>'Copy import task ldif (import-task.ldif) file from %s to %s' % (TMP_DATA_DIR,STAGED_DATA_DIR)</message>
+ <call function="'copyfile'">
+ { 'srcfile' : '%s/import-task.ldif' % TMP_DATA_DIR,
+ 'destfile' : '%s/import-task.ldif' % STAGED_DATA_DIR,
+ 'remotehost' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <!-- Online Import Task with ldapmodify -->
+ <message>
+ 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
+ </message>
+ <process name="'Online Import Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stdin>'%s/import-task.ldif' % STAGED_DATA_DIR</stdin>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ importTaskRC=RC
+ importTaskResult=STAXResult
+ </script>
+
+ <call function="'checkRC'">
+ { 'returncode' : importTaskRC ,
+ 'result' : importTaskResult }
+ </call>
+
+ <!-- Check that the task is completed -->
+ <script>
+ loopRC=1
+ </script>
+
+ <script>
+ import re
+ searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
+ </script>
+
+ <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
+ <loop from="1" to="5" while="loopRC != 0">
+ <sequence>
+ <message>
+ 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ </message>
+ <process name="'Search On line Import Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ searchRC=RC
+ searchResult=STAXResult
+ </script>
+
+ <script>
+ result = STAXResult[0][1]
+ </script>
+
+ <if expr='re.search(searchre, result) != None'>
+ <sequence>
+ <script>loopRC=0</script>
+ </sequence>
+ <else>
+ <message log="1" level="'Warning'">
+ 'No match on ds-task-state.'
</message>
- <process name="'Search On line Import Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- searchRC=RC
- searchResult=STAXResult
- </script>
-
- <script>
- result = STAXResult[0][1]
- </script>
-
- <if expr='re.search(searchre, result) != None'>
- <sequence>
- <script>loopRC=0</script>
- </sequence>
- <else>
- <message log="1" level="'Warning'">
- 'No match on ds-task-state.'
- </message>
- </else>
- </if>
-
- <call function="'checkRC'">
- { 'returncode' : searchRC ,
- 'result' : searchResult }
- </call>
+ </else>
+ </if>
- <call function="'Sleep'">
- { 'sleepForMilliSeconds' : '2000' }
- </call>
-
- </sequence>
-
- </loop>
+ <call function="'checkRC'">
+ { 'returncode' : searchRC ,
+ 'result' : searchResult }
+ </call>
+
+ <call function="'Sleep'">
+ { 'sleepForMilliSeconds' : '2000' }
+ </call>
+ </sequence>
+ </loop>
+ <return>loopRC</return>
+ </sequence>
+ </function>
- <return>loopRC</return>
-
- </sequence>
-
- </function>
-
- <!-- Check Import Function -->
- <function name="checkImport">
-
+ <!-- Check Import Function -->
+ <function name="checkImport">
<function-prolog>
This function verifies an import of an ldif file
</function-prolog>
-
<function-map-args>
<function-required-arg name="expectedEntries">
Entries expected to be present after import
@@ -618,932 +557,827 @@
<function-optional-arg name="missingAttributes" default="'NULL'">
Optional attributes expected to be present after import
</function-optional-arg>
- <function-optional-arg name="suffix" default="'dc=com'">
+ <function-optional-arg name="suffix" default="'%s' % DIRECTORY_INSTANCE_SFX">
Optional main suffix for the import
</function-optional-arg>
<function-optional-arg name="startDS" default="'yes'">
Optional start the Directory Server after import
</function-optional-arg>
</function-map-args>
-
<sequence>
-
- <!-- If we don't want to start DS then we don't need to stop it -->
- <script>stopDS=startDS</script>
-
- <!-- Do we need to start the DS -->
- <if expr="startDS == 'yes'">
-
- <sequence>
-
- <!-- StartDS -->
- <call function="'startDS'">
- { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
- </call>
-
- <!-- Wait for DS to start -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
- </sequence>
-
- </if>
-
- <!-- Search for expected entries -->
- <iterate var="expectedEntry" in="expectedEntries">
-
- <sequence>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : '%s' % expectedEntry ,
- 'dsFilter' : 'objectclass=*'
- }
- </call>
-
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </iterate>
-
- <!-- Search for missing entries -->
- <iterate var="missingEntry" in="missingEntries">
-
- <sequence>
-
- <if expr="missingEntry == 'NULL'">
- <break/>
+ <!-- If we don't want to start DS then we don't need to stop it -->
+ <script>stopDS=startDS</script>
+ <!-- Do we need to start the DS -->
+ <if expr="startDS == 'yes'">
+ <sequence>
+ <!-- StartDS -->
+ <call function="'startDS'">
+ { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
+ </call>
+
+ <!-- Wait for DS to start -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+ </sequence>
</if>
-
- <call function="'SearchObject'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'dsBaseDN' : '%s' % missingEntry ,
- 'dsFilter' : 'objectclass=*'
- }
- </call>
- <call function="'checktestRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult,
- 'expected' : 32 }
- </call>
-
+ <!-- Search for expected entries -->
+ <iterate var="expectedEntry" in="expectedEntries">
+ <sequence>
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : '%s' % expectedEntry ,
+ 'dsFilter' : 'objectclass=*'
+ }
+ </call>
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </iterate>
+
+ <!-- Search for missing entries -->
+ <iterate var="missingEntry" in="missingEntries">
+ <sequence>
+ <if expr="missingEntry == 'NULL'">
+ <break/>
+ </if>
+ <call function="'SearchObject'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : '%s' % missingEntry ,
+ 'dsFilter' : 'objectclass=*'
+ }
+ </call>
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult,
+ 'expected' : 32 }
+ </call>
+ </sequence>
+ </iterate>
+
+ <!-- Do we need to stop the Directory Server -->
+ <if expr="stopDS == 'yes'">
+ <!-- StopDS -->
+ <call function="'stopDS'">
+ { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT) }
+ </call>
+ </if>
</sequence>
-
- </iterate>
+ </function>
- <!-- Do we need to stop the Directory Server -->
- <if expr="stopDS == 'yes'">
-
- <!-- StopDS -->
- <call function="'stopDS'">
- { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT) }
- </call>
- </if>
-
+ <!-- Export Function -->
+ <function name="exportLdif">
+ <function-prolog>
+ This function performs an export to an ldif file on or off line
+ </function-prolog>
+
+ <function-map-args>
+ <function-required-arg name="ldifFile">
+ The name of the ldif file to be written
+ </function-required-arg>
+ <function-optional-arg name="backEnd" default="'%s' % DIRECTORY_INSTANCE_BE">
+ The name of the database backend
+ </function-optional-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
+ </function-map-args>
+
+ <sequence>
+ <message>
+ 'export-ldif%s -l %s -n %s %s' % (fileExt,ldifFile,backEnd,extraParams)
+ </message>
+ <process name="'Ldif Export'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/export-ldif%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-l %s -n %s %s' % (ldifFile,backEnd,extraParams)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <script>
+ exportRC=RC
+ exportResult=STAXResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : exportRC ,
+ 'result' : exportResult }
+ </call>
+ <return>exportRC</return>
</sequence>
-
</function>
+ <!-- Export Task Function -->
+ <function name="exportLdifTask">
+ <function-prolog>
+ This function performs an on line export task of an ldif file
+ </function-prolog>
+ <function-map-args>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server host name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server port number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="taskID">
+ The identifier for the task
+ </function-required-arg>
+ <function-required-arg name="ldifFile">
+ The name of the ldif file
+ </function-required-arg>
+ <function-optional-arg name="backEnd" default="'%s' % DIRECTORY_INSTANCE_BE">
+ Optional the name of the database backend
+ </function-optional-arg>
+ <function-optional-arg name="Compress" default="'FALSE'">
+ Optional exported ldif data file compressed
+ </function-optional-arg>
+ <function-optional-arg name="Encrypt" default="'FALSE'">
+ Optional exported ldif data file encrypted
+ </function-optional-arg>
+ <function-optional-arg name="append" default="'FALSE'">
+ Optional append exported ldif data
+ </function-optional-arg>
+ <function-optional-arg name="excludeBranches" default="' '">
+ Optional exclude branches
+ </function-optional-arg>
+ <function-optional-arg name="includeBranches" default="' '">
+ Optional include branches
+ </function-optional-arg>
+ <function-optional-arg name="excludeAttributes" default="' '">
+ Optional exclude attributes
+ </function-optional-arg>
+ <function-optional-arg name="includeAttributes" default="' '">
+ Optional include attributes
+ </function-optional-arg>
+ <function-optional-arg name="excludeFilters" default="' '">
+ Optional exclude filters
+ </function-optional-arg>
+ <function-optional-arg name="includeFilters" default="' '">
+ Optional include filters
+ </function-optional-arg>
+ <function-optional-arg name="signHash" default="'FALSE'">
+ Optional generate a signed hash of the export data
+ </function-optional-arg>
+ </function-map-args>
+
+ <sequence>
+ <script>
+ taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
+ </script>
+ <!-- Build the export task configuration object -->
+ <script>
+ ldifLines=[]
+ ldifLines.append('dn: %s' % taskDN)
+ ldifLines.append('objectclass: top')
+ ldifLines.append('objectclass: ds-task')
+ ldifLines.append('objectclass: ds-task-export')
+ ldifLines.append('ds-task-class-name: org.opends.server.tasks.ExportTask')
+ ldifLines.append('ds-task-id: %s' % taskID)
+ </script>
+ <script>
+ ldifLines.append('ds-task-export-backend-id: %s' % backEnd )
+ ldifLines.append('ds-task-export-ldif-file: %s' % ldifFile )
+ ldifLines.append('ds-task-export-compress-ldif: %s' % Compress )
+ ldifLines.append('ds-task-export-encrypt-ldif: %s' % Encrypt )
+ ldifLines.append('ds-task-export-sign-hash: %s' % signHash )
+ </script>
- <!-- Export Function -->
- <function name="exportLdif">
-
- <function-prolog>
- This function performs an export to an ldif file on or off line
- </function-prolog>
-
- <function-map-args>
- <function-required-arg name="ldifFile">
- The name of the ldif file to be written
- </function-required-arg>
- <function-optional-arg name="backEnd" default="'userRoot'">
- The name of the database backend
- </function-optional-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
- </function-map-args>
-
- <sequence>
-
- <message>
- 'export-ldif%s -l %s -n %s %s' % (fileExt,ldifFile,backEnd,extraParams)
- </message>
- <process name="'Ldif Export'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/export-ldif%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-l %s -n %s %s' % (ldifFile,backEnd,extraParams)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- exportRC=RC
- exportResult=STAXResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : exportRC ,
- 'result' : exportResult }
- </call>
-
- <return>exportRC</return>
-
- </sequence>
-
- </function>
-
- <!-- Export Task Function -->
- <function name="exportLdifTask">
-
- <function-prolog>
- This function performs an on line export task of 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="taskID">
- The identifier for the task
- </function-required-arg>
- <function-required-arg name="ldifFile">
- The name of the ldif file
- </function-required-arg>
- <function-optional-arg name="backEnd" default="'userRoot'">
- Optional the name of the database backend
- </function-optional-arg>
- <function-optional-arg name="Compress" default="'FALSE'">
- Optional exported ldif data file compressed
- </function-optional-arg>
- <function-optional-arg name="Encrypt" default="'FALSE'">
- Optional exported ldif data file encrypted
- </function-optional-arg>
- <function-optional-arg name="append" default="'FALSE'">
- Optional append exported ldif data
- </function-optional-arg>
- <function-optional-arg name="excludeBranches" default="' '">
- Optional exclude branches
- </function-optional-arg>
- <function-optional-arg name="includeBranches" default="' '">
- Optional include branches
- </function-optional-arg>
- <function-optional-arg name="excludeAttributes" default="' '">
- Optional exclude attributes
- </function-optional-arg>
- <function-optional-arg name="includeAttributes" default="' '">
- Optional include attributes
- </function-optional-arg>
- <function-optional-arg name="excludeFilters" default="' '">
- Optional exclude filters
- </function-optional-arg>
- <function-optional-arg name="includeFilters" default="' '">
- Optional include filters
- </function-optional-arg>
- <function-optional-arg name="signHash" default="'FALSE'">
- Optional generate a signed hash of the export data
- </function-optional-arg>
- </function-map-args>
-
- <sequence>
-
- <script>
- taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
-
- <!-- Build the export task configuration object -->
- <script>
- ldifLines=[]
- ldifLines.append('dn: %s' % taskDN)
- ldifLines.append('objectclass: top')
- ldifLines.append('objectclass: ds-task')
- ldifLines.append('objectclass: ds-task-export')
- ldifLines.append('ds-task-class-name: org.opends.server.tasks.ExportTask')
- ldifLines.append('ds-task-id: %s' % taskID)
- </script>
-
- <script>
- ldifLines.append('ds-task-export-backend-id: %s' % backEnd )
- ldifLines.append('ds-task-export-ldif-file: %s' % ldifFile )
- ldifLines.append('ds-task-export-compress-ldif: %s' % Compress )
- ldifLines.append('ds-task-export-encrypt-ldif: %s' % Encrypt )
- ldifLines.append('ds-task-export-sign-hash: %s' % signHash )
- </script>
-
-
- <iterate var="branch" in="excludeBranches">
- <sequence>
- <if expr="branch == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-export-exclude-branch: %s' % branch )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="branch" in="includeBranches">
- <sequence>
- <if expr="branch == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-export-include-branch: %s' % branch )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="attribute" in="excludeAttributes">
- <sequence>
- <if expr="attribute == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-export-exclude-attribute: %s' % attribute )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="attribute" in="includeAttributes">
- <sequence>
- <if expr="attribute == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-export-include-attribute: %s' % attribute )
- </script>
- </sequence>
- </iterate>
-
- <iterate var="filter" in="excludeFilters">
- <sequence>
- <if expr="filter == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-export-exclude-filter: %s' % filter)
- </script>
- </sequence>
- </iterate>
-
- <iterate var="filter" in="includeFilters">
- <sequence>
- <if expr="filter == ' '">
- <break/>
- </if>
- <script>
- ldifLines.append('ds-task-export-include-filter: %s' % filter)
- </script>
- </sequence>
- </iterate>
-
-
- <!-- Write out the export-task ldif -->
- <script>
- outfile = open('%s/export-task.ldif' % TMP_DATA_DIR,"w")
-
- for line in ldifLines:
- outfile.write("%s\n" % line)
-
- outfile.close()
- </script>
-
-
- <!-- Copy the export-task ldif to remote host -->
- <message>'Copy export task ldif file.'</message>
- <call function="'copyfile'">
- { 'srcfile' : '%s/export-task.ldif' % TMP_DATA_DIR,
- 'destfile' : '%s/export-task.ldif' % STAGED_DATA_DIR,
- 'remotehost' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <!-- On line Export Task with ldapmodify -->
- <message>
- 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
- </message>
- <process name="'On line Export Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stdin>'%s/export-task.ldif' % STAGED_DATA_DIR</stdin>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- exportTaskRC=RC
- exportTaskResult=STAXResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : exportTaskRC ,
- 'result' : exportTaskResult }
- </call>
+ <iterate var="branch" in="excludeBranches">
+ <sequence>
+ <if expr="branch == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-export-exclude-branch: %s' % branch )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="branch" in="includeBranches">
+ <sequence>
+ <if expr="branch == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-export-include-branch: %s' % branch )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="attribute" in="excludeAttributes">
+ <sequence>
+ <if expr="attribute == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-export-exclude-attribute: %s' % attribute )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="attribute" in="includeAttributes">
+ <sequence>
+ <if expr="attribute == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-export-include-attribute: %s' % attribute )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="filter" in="excludeFilters">
+ <sequence>
+ <if expr="filter == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-export-exclude-filter: %s' % filter)
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="filter" in="includeFilters">
+ <sequence>
+ <if expr="filter == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-export-include-filter: %s' % filter)
+ </script>
+ </sequence>
+ </iterate>
+
+ <!-- Write out the export-task ldif -->
+ <script>
+ outfile = open('%s/export-task.ldif' % TMP_DATA_DIR,"w")
- <!-- Check that the task is completed -->
- <script>
- loopRC=1
- </script>
-
- <script>
- import re
- searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
- </script>
-
- <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
- <loop from="1" to="5" while="loopRC != 0">
-
- <sequence>
+ for line in ldifLines:
+ outfile.write("%s\n" % line)
- <message>
- 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ outfile.close()
+ </script>
+
+ <!-- Copy the export-task ldif to remote host -->
+ <message>'Copy export task ldif file.'</message>
+ <call function="'copyfile'">
+ { 'srcfile' : '%s/export-task.ldif' % TMP_DATA_DIR,
+ 'destfile' : '%s/export-task.ldif' % STAGED_DATA_DIR,
+ 'remotehost' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <!-- On line Export Task with ldapmodify -->
+ <message>
+ 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
+ </message>
+ <process name="'On line Export Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stdin>'%s/export-task.ldif' % STAGED_DATA_DIR</stdin>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ exportTaskRC=RC
+ exportTaskResult=STAXResult
+ </script>
+
+ <call function="'checkRC'">
+ { 'returncode' : exportTaskRC ,
+ 'result' : exportTaskResult }
+ </call>
+
+ <!-- Check that the task is completed -->
+ <script>
+ loopRC=1
+ </script>
+
+ <scrip>
+ import re
+ searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
+ </script>
+
+ <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
+ <loop from="1" to="5" while="loopRC != 0">
+ <sequence>
+ <message>
+ 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ </message>
+ <process name="'Search On line Export Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ searchRC=RC
+ searchResult=STAXResult
+ </script>
+
+ <script>
+ result = STAXResult[0][1]
+ </script>
+
+ <if expr='re.search(searchre, result) != None'>
+ <sequence>
+ <script>loopRC=0</script>
+ </sequence>
+ <else>
+ <message log="1" level="'Warning'">
+ 'No match on ds-task-state.'
</message>
- <process name="'Search On line Export Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- searchRC=RC
- searchResult=STAXResult
- </script>
-
- <script>
- result = STAXResult[0][1]
- </script>
-
- <if expr='re.search(searchre, result) != None'>
- <sequence>
- <script>loopRC=0</script>
- </sequence>
- <else>
- <message log="1" level="'Warning'">
- 'No match on ds-task-state.'
- </message>
- </else>
- </if>
-
- <call function="'checkRC'">
- { 'returncode' : searchRC ,
- 'result' : searchResult }
- </call>
+ </else>
+ </if>
- <call function="'Sleep'">
- { 'sleepForMilliSeconds' : '2000' }
- </call>
-
- </sequence>
+ <call function="'checkRC'">
+ { 'returncode' : searchRC ,
+ 'result' : searchResult }
+ </call>
- </loop>
-
- <return>loopRC</return>
-
- </sequence>
-
- </function>
-
- <!-- Backup Function -->
- <function name="backup">
-
+ <call function="'Sleep'">
+ { 'sleepForMilliSeconds' : '2000' }
+ </call>
+ </sequence>
+ </loop>
+ <return>loopRC</return>
+ </sequence>
+ </function>
+
+ <!-- Backup Function -->
+ <function name="backup">
<function-prolog>
This function performs an on line backup
</function-prolog>
-
<function-map-args>
- <function-required-arg name="backupDir">
- The directory where the backup files will be placed
- </function-required-arg>
- <function-optional-arg name="backEnd" default="'userRoot'">
- The name of the database backend
- </function-optional-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <function-required-arg name="backupDir">
+ The directory where the backup files will be placed
+ </function-required-arg>
+ <function-optional-arg name="backEnd" default="'%s' % DIRECTORY_INSTANCE_BE">
+ The name of the database backend
+ </function-optional-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
</function-map-args>
+ <sequence>
+ <message>
+ 'backup%s -n %s -d %s %s' % (fileExt,backEnd,backupDir,extraParams)
+ </message>
+ <process name="'Offline Backup'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/backup%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-d %s -n %s %s' % (backupDir,backEnd,extraParams)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <script>
+ backupRC=RC
+ backupResult=STAXResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : backupRC ,
+ 'result' : backupResult }
+ </call>
+ <return>backupRC</return>
+ </sequence>
+ </function>
- <sequence>
-
- <message>
- 'backup%s -n %s -d %s %s' % (fileExt,backEnd,backupDir,extraParams)
- </message>
- <process name="'Offline Backup'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/backup%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-d %s -n %s %s' % (backupDir,backEnd,extraParams)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- backupRC=RC
- backupResult=STAXResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : backupRC ,
- 'result' : backupResult }
- </call>
-
- <return>backupRC</return>
-
- </sequence>
-
- </function>
-
- <!-- Backup Task Function -->
- <function name="backupTask">
-
+ <!-- Backup Task Function -->
+ <function name="backupTask">
<function-prolog>
This function performs an on line backup task
</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="taskID">
- The identifier for the task
- </function-required-arg>
- <function-required-arg name="backupDir">
- Path to the target directory for the backup file(s)
- </function-required-arg>
- <function-optional-arg name="backEnd" default="'userRoot'">
- Optional the name of the database backend
- </function-optional-arg>
- <function-optional-arg name="backupAll" default="'FALSE'">
- Optional back up all backends in the server
- </function-optional-arg>
- <function-optional-arg name="backupIncremental" default="' '">
- Optional perform an incremental backup rather than a full backup
- </function-optional-arg>
- <function-optional-arg name="backupIncrementalId" default="' '">
- Optional use the provided identifier for the backup
- </function-optional-arg>
- <function-optional-arg name="Compress" default="'FALSE'">
- Optional backup contents compressed
- </function-optional-arg>
- <function-optional-arg name="Encrypt" default="'FALSE'">
- Optional backup contents encrypted
- </function-optional-arg>
- <function-optional-arg name="signHash" default="'FALSE'">
- Optional generate a signed hash of the backup data
- </function-optional-arg>
- <function-optional-arg name="hash" default="'FALSE'">
- Optional generate a hash of the backup data
- </function-optional-arg>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server host name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server port number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="taskID">
+ The identifier for the task
+ </function-required-arg>
+ <function-required-arg name="backupDir">
+ Path to the target directory for the backup file(s)
+ </function-required-arg>
+ <function-optional-arg name="backEnd" default="'%s' % DIRECTORY_INSTANCE_BE">
+ Optional the name of the database backend
+ </function-optional-arg>
+ <function-optional-arg name="backupAll" default="'FALSE'">
+ Optional back up all backends in the server
+ </function-optional-arg>
+ <function-optional-arg name="backupIncremental" default="' '">
+ Optional perform an incremental backup rather than a full backup
+ </function-optional-arg>
+ <function-optional-arg name="backupIncrementalId" default="' '">
+ Optional use the provided identifier for the backup
+ </function-optional-arg>
+ <function-optional-arg name="Compress" default="'FALSE'">
+ Optional backup contents compressed
+ </function-optional-arg>
+ <function-optional-arg name="Encrypt" default="'FALSE'">
+ Optional backup contents encrypted
+ </function-optional-arg>
+ <function-optional-arg name="signHash" default="'FALSE'">
+ Optional generate a signed hash of the backup data
+ </function-optional-arg>
+ <function-optional-arg name="hash" default="'FALSE'">
+ Optional generate a hash of the backup data
+ </function-optional-arg>
</function-map-args>
+ <sequence>
+ <script>
+ taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
+ </script>
+
+ <!-- Build the backup task configuration object -->
+ <script>
+ ldifLines=[]
+ ldifLines.append('dn: %s' % taskDN)
+ ldifLines.append('objectclass: top')
+ ldifLines.append('objectclass: ds-task')
+ ldifLines.append('objectclass: ds-task-backup')
+ ldifLines.append('ds-task-class-name: org.opends.server.tasks.BackupTask')
+ ldifLines.append('ds-backup-id: %s' % taskID)
+ </script>
+
+ <script>
+ ldifLines.append('ds-task-backup-backend-id: %s' % backEnd )
+ ldifLines.append('ds-backup-directory-path: %s' % backupDir )
+ ldifLines.append('ds-task-backup-all: %s' % backupAll )
+ ldifLines.append('ds-task-backup-compress: %s' % Compress )
+ ldifLines.append('ds-task-backup-encrypt: %s' % Encrypt )
+ ldifLines.append('ds-task-backup-sign-hash: %s' % signHash )
+ ldifLines.append('ds-task-backup-hash: %s' % hash )
+ </script>
+
+ <if expr="backupIncremental != ' '">
+ <script>
+ ldifLines.append('ds-task-backup-incremental: %s' % backupIncremental )
+ ldifLines.append('ds-task-backup-incremental-base-id: %s' % backupIncrementalId )
+ </script>
+ </if>
+
+ <!-- Write out the backup-task ldif -->
+ <script>
+ outfile = open('%s/backup-task.ldif' % TMP_DATA_DIR,"w")
+
+ for line in ldifLines:
+ outfile.write("%s\n" % line)
+
+ outfile.close()
+ </script>
+
+ <!-- Copy the backup-task ldif to remote host -->
+ <message>'Copy backup task ldif file.'</message>
+ <call function="'copyfile'">
+ { 'srcfile' : '%s/backup-task.ldif' % TMP_DATA_DIR,
+ 'destfile' : '%s/backup-task.ldif' % STAGED_DATA_DIR,
+ 'remotehost' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <!-- On line Backup Task with ldapmodify -->
+ <message>
+ 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
+ </message>
+ <process name="'On line Backup Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stdin>'%s/backup-task.ldif' % STAGED_DATA_DIR</stdin>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
- <sequence>
+ <script>
+ backupTaskRC=RC
+ backupTaskResult=STAXResult
+ </script>
- <script>
- taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
- </script>
+ <call function="'checkRC'">
+ { 'returncode' : backupTaskRC ,
+ 'result' : backupTaskResult }
+ </call>
- <!-- Build the backup task configuration object -->
- <script>
- ldifLines=[]
- ldifLines.append('dn: %s' % taskDN)
- ldifLines.append('objectclass: top')
- ldifLines.append('objectclass: ds-task')
- ldifLines.append('objectclass: ds-task-backup')
- ldifLines.append('ds-task-class-name: org.opends.server.tasks.BackupTask')
- ldifLines.append('ds-backup-id: %s' % taskID)
- </script>
-
- <script>
- ldifLines.append('ds-task-backup-backend-id: %s' % backEnd )
- ldifLines.append('ds-backup-directory-path: %s' % backupDir )
- ldifLines.append('ds-task-backup-all: %s' % backupAll )
- ldifLines.append('ds-task-backup-compress: %s' % Compress )
- ldifLines.append('ds-task-backup-encrypt: %s' % Encrypt )
- ldifLines.append('ds-task-backup-sign-hash: %s' % signHash )
- ldifLines.append('ds-task-backup-hash: %s' % hash )
- </script>
-
- <if expr="backupIncremental != ' '">
+ <!-- Check that the task is completed -->
+ <script>
+ loopRC=1
+ </script>
+
+ <script>
+ import re
+ searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
+ </script>
+
+ <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
+ <loop from="1" to="5" while="loopRC != 0">
+ <sequence>
+ <message>
+ 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ </message>
+ <process name="'Search On line Backup Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
<script>
- ldifLines.append('ds-task-backup-incremental: %s' % backupIncremental )
- ldifLines.append('ds-task-backup-incremental-base-id: %s' % backupIncrementalId )
+ searchRC=RC
+ searchResult=STAXResult
</script>
- </if>
-
- <!-- Write out the backup-task ldif -->
- <script>
- outfile = open('%s/backup-task.ldif' % TMP_DATA_DIR,"w")
-
- for line in ldifLines:
- outfile.write("%s\n" % line)
-
- outfile.close()
- </script>
-
-
- <!-- Copy the backup-task ldif to remote host -->
- <message>'Copy backup task ldif file.'</message>
- <call function="'copyfile'">
- { 'srcfile' : '%s/backup-task.ldif' % TMP_DATA_DIR,
- 'destfile' : '%s/backup-task.ldif' % STAGED_DATA_DIR,
- 'remotehost' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <!-- On line Backup Task with ldapmodify -->
- <message>
- 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
- </message>
- <process name="'On line Backup Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stdin>'%s/backup-task.ldif' % STAGED_DATA_DIR</stdin>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- backupTaskRC=RC
- backupTaskResult=STAXResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : backupTaskRC ,
- 'result' : backupTaskResult }
- </call>
-
- <!-- Check that the task is completed -->
- <script>
- loopRC=1
- </script>
-
- <script>
- import re
- searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
- </script>
-
- <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
- <loop from="1" to="5" while="loopRC != 0">
-
- <sequence>
-
- <message>
- 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+
+ <script>
+ result = STAXResult[0][1]
+ </script>
+
+ <if expr='re.search(searchre, result) != None'>
+ <sequence>
+ <script>loopRC=0</script>
+ </sequence>
+ <else>
+ <message log="1" level="'Warning'">
+ 'No match on ds-task-state.'
</message>
- <process name="'Search On line Backup Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- searchRC=RC
- searchResult=STAXResult
- </script>
-
- <script>
- result = STAXResult[0][1]
- </script>
-
- <if expr='re.search(searchre, result) != None'>
- <sequence>
- <script>loopRC=0</script>
- </sequence>
- <else>
- <message log="1" level="'Warning'">
- 'No match on ds-task-state.'
- </message>
- </else>
- </if>
-
- <call function="'checkRC'">
- { 'returncode' : searchRC ,
- 'result' : searchResult }
- </call>
-
- <call function="'Sleep'">
- { 'sleepForMilliSeconds' : '2000' }
- </call>
-
- </sequence>
-
- </loop>
+ </else>
+ </if>
+ <call function="'checkRC'">
+ { 'returncode' : searchRC ,
+ 'result' : searchResult }
+ </call>
+ <call function="'Sleep'">
+ { 'sleepForMilliSeconds' : '2000' }
+ </call>
+ </sequence>
+ </loop>
+ <return>loopRC</return>
+ </sequence>
+ </function>
- <return>loopRC</return>
-
- </sequence>
-
- </function>
-
- <!-- Restore Function -->
- <function name="restore">
-
+ <!-- Restore Function -->
+ <function name="restore">
<function-prolog>
- This function performs an off line restore
+ This function performs an off line restore
</function-prolog>
-
<function-map-args>
- <function-required-arg name="backupDir">
- Path to the directory containing the backup file(s)
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <function-required-arg name="backupDir">
+ Path to the directory containing the backup file(s)
+ </function-required-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
</function-map-args>
+ <sequence>
+ <message>
+ 'Stopping OpenDS'
+ </message>
+ <call function="'stopDS'">
+ { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT)}
+ </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <message>
+ 'restore%s -d %s %s' % (fileExt,backupDir,extraParams)
+ </message>
+ <process name="'Offline restore'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/restore%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-d %s %s' % (backupDir,extraParams)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <script>
+ restoreRC=RC
+ restoreResult=STAXResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : restoreRC ,
+ 'result' : restoreResult }
+ </call>
+ <message>
+ 'Starting OpenDS'
+ </message>
+ <call function="'startDS'">
+ { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
+ </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <return>restoreRC</return>
+ </sequence>
+ </function>
- <sequence>
-
- <message>
- 'Stopping OpenDS'
- </message>
-
- <call function="'stopDS'">
- { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT)}
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <message>
- 'restore%s -d %s %s' % (fileExt,backupDir,extraParams)
- </message>
- <process name="'Offline restore'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/restore%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-d %s %s' % (backupDir,extraParams)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- restoreRC=RC
- restoreResult=STAXResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : restoreRC ,
- 'result' : restoreResult }
- </call>
-
- <message>
- 'Starting OpenDS'
- </message>
-
- <call function="'startDS'">
- { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <return>restoreRC</return>
-
- </sequence>
-
- </function>
-
- <!-- Restore Task Function -->
- <function name="restoreTask">
-
+ <!-- Restore Task Function -->
+ <function name="restoreTask">
<function-prolog>
This function performs an on line restore task of a backup 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="taskID">
- The identifier for the task
- </function-required-arg>
- <function-required-arg name="backupDir">
- The name of the backup directory
- </function-required-arg>
- <function-optional-arg name="backupId" default="' '">
- Optional the name of the backupId
- </function-optional-arg>
- <function-optional-arg name="verify" default="'FALSE'">
- Optional verify the contents of the backup but do not restore it
- </function-optional-arg>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server host name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server port number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="taskID">
+ The identifier for the task
+ </function-required-arg>
+ <function-required-arg name="backupDir">
+ The name of the backup directory
+ </function-required-arg>
+ <function-optional-arg name="backupId" default="' '">
+ Optional the name of the backupId
+ </function-optional-arg>
+ <function-optional-arg name="verify" default="'FALSE'">
+ Optional verify the contents of the backup but do not restore it
+ </function-optional-arg>
</function-map-args>
-
- <sequence>
-
+ <sequence>
+ <script>
+ taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
+ </script>
+ <!-- Build the restore task configuration object -->
+ <script>
+ ldifLines=[]
+ ldifLines.append('dn: %s' % taskDN)
+ ldifLines.append('objectclass: top')
+ ldifLines.append('objectclass: ds-task')
+ ldifLines.append('objectclass: ds-task-restore')
+ ldifLines.append('ds-task-class-name: org.opends.server.tasks.RestoreTask')
+ ldifLines.append('ds-task-id: %s' % taskID)
+ </script>
+ <script>
+ ldifLines.append('ds-backup-directory-path: %s' % backupDir )
+ ldifLines.append('ds-task-restore-verify-only: %s' % verify )
+ </script>
+ <if expr="backupId != ' '">
<script>
- taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
+ ldifLines.append('ds-backup-id: %s' % backupId )
</script>
+ </if>
+ <!-- Write out the restore-task ldif -->
+ <script>
+ outfile = open('%s/restore-task.ldif' % TMP_DATA_DIR,"w")
+
+ for line in ldifLines:
+ outfile.write("%s\n" % line)
+
+ outfile.close()
+ </script>
+
+ <!-- Copy the restore-task ldif to remote host -->
+ <message>'Copy restore task ldif file.'</message>
+ <call function="'copyfile'">
+ { 'srcfile' : '%s/restore-task.ldif' % TMP_DATA_DIR,
+ 'destfile' : '%s/restore-task.ldif' % STAGED_DATA_DIR,
+ 'remotehost' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <!-- On line Restore Task with ldapmodify -->
+ <message>
+ 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
+ </message>
+ <process name="'On line Restore Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stdin>'%s/restore-task.ldif' % STAGED_DATA_DIR</stdin>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ restoreTaskRC=RC
+ restoreTaskResult=STAXResult
+ </script>
+
+ <call function="'checkRC'">
+ { 'returncode' : restoreTaskRC ,
+ 'result' : restoreTaskResult }
+ </call>
- <!-- Build the restore task configuration object -->
- <script>
- ldifLines=[]
- ldifLines.append('dn: %s' % taskDN)
- ldifLines.append('objectclass: top')
- ldifLines.append('objectclass: ds-task')
- ldifLines.append('objectclass: ds-task-restore')
- ldifLines.append('ds-task-class-name: org.opends.server.tasks.RestoreTask')
- ldifLines.append('ds-task-id: %s' % taskID)
- </script>
-
- <script>
+ <!-- Check that the task is completed -->
+ <script>
+ loopRC=1
+ </script>
- ldifLines.append('ds-backup-directory-path: %s' % backupDir )
- ldifLines.append('ds-task-restore-verify-only: %s' % verify )
- </script>
-
- <if expr="backupId != ' '">
+ <script>
+ import re
+ searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
+ </script>
+
+ <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
+ <loop from="1" to="5" while="loopRC != 0">
+ <sequence>
+ <message>
+ 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ </message>
+ <process name="'Search On line Restore Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
<script>
- ldifLines.append('ds-backup-id: %s' % backupId )
+ searchRC=RC
+ searchResult=STAXResult
</script>
- </if>
-
- <!-- Write out the restore-task ldif -->
- <script>
- outfile = open('%s/restore-task.ldif' % TMP_DATA_DIR,"w")
-
- for line in ldifLines:
- outfile.write("%s\n" % line)
-
- outfile.close()
- </script>
-
-
- <!-- Copy the restore-task ldif to remote host -->
- <message>'Copy restore task ldif file.'</message>
- <call function="'copyfile'">
- { 'srcfile' : '%s/restore-task.ldif' % TMP_DATA_DIR,
- 'destfile' : '%s/restore-task.ldif' % STAGED_DATA_DIR,
- 'remotehost' : STAF_REMOTE_HOSTNAME }
- </call>
-
- <!-- On line Restore Task with ldapmodify -->
- <message>
- 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
- </message>
- <process name="'On line Restore Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapmodify%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stdin>'%s/restore-task.ldif' % STAGED_DATA_DIR</stdin>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- restoreTaskRC=RC
- restoreTaskResult=STAXResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : restoreTaskRC ,
- 'result' : restoreTaskResult }
- </call>
-
- <!-- Check that the task is completed -->
- <script>
- loopRC=1
- </script>
-
- <script>
- import re
- searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
- </script>
-
- <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
- <loop from="1" to="5" while="loopRC != 0">
-
- <sequence>
-
- <message>
- 'ldapsearch%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ <script>
+ result = STAXResult[0][1]
+ </script>
+ <if expr='re.search(searchre, result) != None'>
+ <sequence>
+ <script>loopRC=0</script>
+ </sequence>
+ <else>
+ <message log="1" level="'Warning'">
+ 'No match on ds-task-state.'
</message>
- <process name="'Search On line Restore Task'">
- <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
- <command>'%s/ldapsearch%s' % (OPENDS_BINPATH,fileExt)</command>
- <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <script>
- searchRC=RC
- searchResult=STAXResult
- </script>
-
- <script>
- result = STAXResult[0][1]
- </script>
-
- <if expr='re.search(searchre, result) != None'>
- <sequence>
- <script>loopRC=0</script>
- </sequence>
- <else>
- <message log="1" level="'Warning'">
- 'No match on ds-task-state.'
- </message>
- </else>
- </if>
-
- <call function="'checkRC'">
- { 'returncode' : searchRC ,
- 'result' : searchResult }
- </call>
-
- <call function="'Sleep'">
- { 'sleepForMilliSeconds' : '2000' }
- </call>
-
- </sequence>
-
- </loop>
-
- <return>loopRC</return>
-
- </sequence>
-
- </function>
-
+ </else>
+ </if>
+ <call function="'checkRC'">
+ { 'returncode' : searchRC ,
+ 'result' : searchResult }
+ </call>
+ <call function="'Sleep'">
+ { 'sleepForMilliSeconds' : '2000' }
+ </call>
+ </sequence>
+ </loop>
+ <return>loopRC</return>
+ </sequence>
+ </function>
</stax>
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 2ba49c4..0825adf 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/ldap.xml
@@ -26,365 +26,316 @@
! Portions Copyright 2006-2007 Sun Microsystems, Inc.
! -->
<stax>
-
- <function name="addEntry">
-
+ <function name="addEntry">
<function-prolog>
- This function adds an entry to the Directory Server
+ This function adds 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="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-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ 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-map-args>
+ <sequence>
+ <message>
+ 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s %s -f "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeAdded)
+ </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>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- <sequence>
-
- <message>
- 'ldapmodify%s -a -h %s -p %s -D "%s" -w %s %s -f "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeAdded)
- </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>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="modifyEntry">
-
+ <function name="modifyEntry">
<function-prolog>
- This function modifies an entry in the Directory Server
+ 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-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ 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-map-args>
+ <sequence>
+ <message>
+ 'ldapmodify%s -h %s -p %s -D "%s" -w %s %s -f "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeModified)
+ </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>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- <sequence>
-
- <message>
- 'ldapmodify%s -h %s -p %s -D "%s" -w %s %s -f "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,entryToBeModified)
- </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>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="SearchObject">
-
+ <function name="SearchObject">
<function-prolog>
- This function searches the Directory Server with optional arguments possible
+ 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-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ 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-map-args>
+ <sequence>
+ <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)
+ </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>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <return>STAXResult</return>
+ </sequence>
+ </function>
- <sequence>
-
- <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)
- </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>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <return>STAXResult</return>
-
- </sequence>
-
- </function>
-
- <function name="SearchObjectNoPwd">
-
+ <function name="SearchObjectNoPwd">
<function-prolog>
- This function searches the Directory Server with optional arguments possible
+ 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-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ 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-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>
+ <parms>'-h %s -p %s -D "%s" %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,extraParams,dsBaseDN,dsFilter)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ </sequence>
+ </function>
- <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>
- <parms>'-h %s -p %s -D "%s" %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,dsInstanceDn,extraParams,dsBaseDN,dsFilter)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- </sequence>
-
- </function>
-
- <function name="AnonSearchObject">
-
+ <function name="AnonSearchObject">
<function-prolog>
- This function searches the Directory Server anonymously with optional arguments possible
+ This function searches the Directory Server anonymously 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="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-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </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-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>
+ <parms>'-h %s -p %s %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,extraParams,dsBaseDN,dsFilter)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ </sequence>
+ </function>
- <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>
- <parms>'-h %s -p %s %s -b "%s" "%s"' % (dsInstanceHost,dsInstancePort,extraParams,dsBaseDN,dsFilter)</parms>
- <workdir>'%s' % (OPENDS_BINPATH)</workdir>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- </sequence>
-
- </function>
-
- <function name="DeleteEntry">
-
+ <function name="DeleteEntry">
<function-prolog>
- This function an entry in the Directory Server
+ 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-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ 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-map-args>
-
- <sequence>
-
- <message>
- 'ldapdelete%s -h %s -p %s -D "%s" -w %s %s "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,dsBaseDN)
- </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>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
+ <sequence>
+ <message>
+ 'ldapdelete%s -h %s -p %s -D "%s" -w %s %s "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,dsBaseDN)
+ </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>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
</function>
<function name="compareEntry">
-
<function-prolog>
- This function compares the attribute and value an entry to the Directory Server
+ 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-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ 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-map-args>
-
- <sequence>
-
- <message>
- 'ldapcompare%s -h %s -p %s -D "%s" -w %s %s "%s" "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,attrToBeCompared,entryToBeCompared)
- </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>
- <envs>
- ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
- </envs>
- <stderr mode="'stdout'"/>
- <returnstdout/>
- </process>
-
- </sequence>
-
- </function>
-
-
+ <sequence>
+ <message>
+ 'ldapcompare%s -h %s -p %s -D "%s" -w %s %s "%s" "%s"' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,extraParams,attrToBeCompared,entryToBeCompared)
+ </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>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+ </sequence>
+ </function>
</stax>
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/functions/security.xml b/opendj-sdk/opends/tests/functional-tests/shared/functions/security.xml
index 96e812f..d5ac1c8 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/security.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/security.xml
@@ -26,426 +26,394 @@
! Portions Copyright 2006-2007 Sun Microsystems, Inc.
! -->
<stax>
-
- <function name="configureSSL">
-
+ <function name="configureSSL">
<function-prolog>
- This function makes the configuration changes for SSL
+ This function makes the configuration changes for SSL
</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="keystoreType">
- Keystore type
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="keystoreType">
+ Keystore type
+ </function-required-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
</function-map-args>
+ <sequence>
+ <!--- Enable Key Manager Provider -->
+ <message>
+ 'Enabling Key Manager Provider'
+ </message>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/security/%s/setup/enable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <!--- Delete Default Trust Manager Provider -->
+ <message>
+ 'Deleting Default Trust Manager Provider'
+ </message>
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/setup/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ <!--- Add Trust Manager Provider -->
+ <message>
+ 'Adding Trust Manager Provider'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/security/%s/setup/enable_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!--- Add LDAPS Connection Handler -->
+ <message>
+ 'Adding LDAPS Connection Handler'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/ldaps_port.ldif' % (STAGED_DATA_DIR) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
+
+ <function name="configureTLS">
+ <function-prolog>
+ This function makes the configuration changes for startTLS
+ </function-prolog>
+ <function-map-args>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="keystoreType">
+ Keystore type
+ </function-required-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
+ </function-map-args>
<sequence>
-
<!--- Enable Key Manager Provider -->
- <message>
- 'Enabling Key Manager Provider'
- </message>
+ <message>
+ 'Enabling Key Manager Provider'
+ </message>
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/security/%s/setup/enable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/security/%s/setup/enable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
<!--- Delete Default Trust Manager Provider -->
- <message>
- 'Deleting Default Trust Manager Provider'
- </message>
+ <message>
+ 'Deleting Default Trust Manager Provider'
+ </message>
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/setup/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/setup/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
<!--- Add Trust Manager Provider -->
- <message>
- 'Adding Trust Manager Provider'
- </message>
+ <message>
+ 'Adding Trust Manager Provider'
+ </message>
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/security/%s/setup/enable_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/security/%s/setup/enable_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Add LDAPS Connection Handler -->
- <message>
- 'Adding LDAPS Connection Handler'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/ldaps_port.ldif' % (STAGED_DATA_DIR) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- </sequence>
-
- </function>
-
- <function name="configureTLS">
-
- <function-prolog>
- This function makes the configuration changes for startTLS
- </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="keystoreType">
- Keystore type
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
- </function-map-args>
-
- <sequence>
-
- <!--- Enable Key Manager Provider -->
- <message>
- 'Enabling Key Manager Provider'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/security/%s/setup/enable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Delete Default Trust Manager Provider -->
- <message>
- 'Deleting Default Trust Manager Provider'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/setup/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Add Trust Manager Provider -->
- <message>
- 'Adding Trust Manager Provider'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/security/%s/setup/enable_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
<!--- Enable StartTLS -->
- <message>
- 'Enabling StartTLS'
- </message>
+ <message>
+ 'Enabling StartTLS'
+ </message>
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/security/%s/setup/enable_startTLS.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/security/%s/setup/enable_startTLS.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+ </sequence>
+ </function>
- </sequence>
-
- </function>
-
- <function name="unconfigureSSL">
-
+ <function name="unconfigureSSL">
<function-prolog>
- This function reverses the configuration changes for SSL
+ This function reverses the configuration changes for SSL
</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="keystoreType">
- Keystore type
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="keystoreType">
+ Keystore type
+ </function-required-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
</function-map-args>
-
- <sequence>
-
+ <sequence>
<!--- Delete LDAPS Connection Handler -->
- <message>
- 'Deleting Default Trust Manager Provider'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/teardown/disable_ldaps_conn_handler.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
+ <message>
+ 'Deleting Default Trust Manager Provider'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/teardown/disable_ldaps_conn_handler.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
<!--- Delete SSL Trust Manager Provider -->
- <message>
- 'Deleting SSL Trust Manager Provider'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/teardown/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
+ <message>
+ 'Deleting SSL Trust Manager Provider'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/teardown/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
<!--- Add Default Trust Manager Provider -->
- <message>
- 'Adding Default Trust Manager Provider'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/security/%s/teardown/default_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
+ <message>
+ 'Adding Default Trust Manager Provider'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/security/%s/teardown/default_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
<!--- Disable Key Manager Provider -->
- <message>
- 'Disabling Key Manager Provider'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/teardown/disable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
+ <message>
+ 'Disabling Key Manager Provider'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/teardown/disable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
</sequence>
-
</function>
- <function name="unconfigureTLS">
-
+ <function name="unconfigureTLS">
<function-prolog>
- This function reverses the configuration changes for startTLS
+ This function reverses the configuration changes for startTLS
</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="keystoreType">
- Keystore type
- </function-required-arg>
- <function-optional-arg name="extraParams" default="' '">
- Optional extra parameters for specific test cases
- </function-optional-arg>
+ <function-required-arg name="dsInstanceHost" default="'%s' % DIRECTORY_INSTANCE_HOST">
+ Directory Server Host Name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort" default="'%s' % DIRECTORY_INSTANCE_PORT">
+ Directory Server Port Number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn" default="'%s' % DIRECTORY_INSTANCE_DN">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd" default="'%s' % DIRECTORY_INSTANCE_PSWD">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="keystoreType">
+ Keystore type
+ </function-required-arg>
+ <function-optional-arg name="extraParams" default="' '">
+ Optional extra parameters for specific test cases
+ </function-optional-arg>
</function-map-args>
-
- <sequence>
-
- <!--- Disable StartTLS -->
- <message>
- 'Disabling StartTLS'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/teardown/disable_startTLS.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Delete StartTLS Trust Manager Provider -->
- <message>
- 'Deleting StartTLS Trust Manager Provider'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/teardown/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Add Default Trust Manager Provider -->
- <message>
- 'Adding Default Trust Manager Provider'
- </message>
-
- <call function="'addEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeAdded' : '%s/security/%s/teardown/default_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
- <!--- Disable Key Manager Provider -->
- <message>
- 'Disabling Key Manager Provider'
- </message>
-
- <call function="'modifyEntry'">
- { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
- 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
- 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
- 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
- 'entryToBeModified' : '%s/security/%s/teardown/disable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
- </call>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAXResult }
- </call>
-
+ <sequence>
+ <!--- Disable StartTLS -->
+ <message>
+ 'Disabling StartTLS'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/teardown/disable_startTLS.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!--- Delete StartTLS Trust Manager Provider -->
+ <message>
+ 'Deleting StartTLS Trust Manager Provider'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/teardown/deleteTrustMgr.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!--- Add Default Trust Manager Provider -->
+ <message>
+ 'Adding Default Trust Manager Provider'
+ </message>
+
+ <call function="'addEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeAdded' : '%s/security/%s/teardown/default_trust_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <!--- Disable Key Manager Provider -->
+ <message>
+ 'Disabling Key Manager Provider'
+ </message>
+
+ <call function="'modifyEntry'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'entryToBeModified' : '%s/security/%s/teardown/disable_key_mgr_provider.ldif' % (STAGED_DATA_DIR,keystoreType) }
+ </call>
+
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
</sequence>
-
</function>
-
-
</stax>
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/functions/stafcmd.xml b/opendj-sdk/opends/tests/functional-tests/shared/functions/stafcmd.xml
index 8c0cc16..afa54d1 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/stafcmd.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/stafcmd.xml
@@ -26,299 +26,250 @@
! Portions Copyright 2006-2007 Sun Microsystems, Inc.
! -->
<stax>
-
- <function name="copyfile">
-
+ <function name="copyfile">
<function-prolog>
- This function copies a source file to destination file to host
+ This function copies a source file to destination file to host
</function-prolog>
-
<function-map-args>
- <function-arg-def name="srcfile" type="required">
- <function-arg-description>
- The name of the source fule
- </function-arg-description>
- <function-arg-property name="type" value="filename"/>
- </function-arg-def>
-
- <function-arg-def name="destfile" type="required">
- <function-arg-description>
- The name of the destination fule
- </function-arg-description>
- <function-arg-property name="type" value="filename"/>
- </function-arg-def>
-
- <function-arg-def name="remotehost" type="optional" default="localhost">
- <function-arg-description>
- The name of remote host (default localhost)
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
-
+ <function-arg-def name="srcfile" type="required">
+ <function-arg-description>
+ The name of the source fule
+ </function-arg-description>
+ <function-arg-property name="type" value="filename"/>
+ </function-arg-def>
+ <function-arg-def name="destfile" type="required">
+ <function-arg-description>
+ The name of the destination fule
+ </function-arg-description>
+ <function-arg-property name="type" value="filename"/>
+ </function-arg-def>
+ <function-arg-def name="remotehost" type="optional" default="localhost">
+ <function-arg-description>
+ The name of remote host (default localhost)
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
</function-map-args>
-
- <sequence>
-
- <stafcmd name="'STAF Command: Copy File'">
- <location>'%s' % (STAF_LOCAL_HOSTNAME)</location>
- <service>'fs'</service>
- <request>'COPY FILE %s TOFILE %s TOMACHINE %s' % (srcfile,destfile,remotehost) </request>
- </stafcmd>
-
- <script>
- cmdRC=RC
- cmdResult=STAFResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : cmdRC ,
- 'result' : cmdResult }
- </call>
-
- <return>cmdRC</return>
-
- </sequence>
-
- </function>
+ <sequence>
+ <stafcmd name="'STAF Command: Copy File'">
+ <location>'%s' % (STAF_LOCAL_HOSTNAME)</location>
+ <service>'fs'</service>
+ <request>'COPY FILE %s TOFILE %s TOMACHINE %s' % (srcfile,destfile,remotehost) </request>
+ </stafcmd>
+ <script>
+ cmdRC=RC
+ cmdResult=STAFResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : cmdRC ,
+ 'result' : cmdResult }
+ </call>
+ <return>cmdRC</return>
+ </sequence>
+ </function>
- <function name="CopyFolderByExtension">
-
+ <function name="CopyFolderByExtension">
<function-prolog>
- Copies files by extension from a source to destination folder on host
+ Copies files by extension from a source to destination folder on host
+ </function-prolog>
+ <function-map-args>
+ <function-arg-def name="srcfolder" type="required">
+ <function-arg-description>
+ The name of the source folder
+ </function-arg-description>
+ <function-arg-property name="type" value="foldername"/>
+ </function-arg-def>
+
+ <function-arg-def name="destfolder" type="required">
+ <function-arg-description>
+ The name of the destination fule
+ </function-arg-description>
+ <function-arg-property name="type" value="foldername"/>
+ </function-arg-def>
+
+ <function-arg-def name="extension" type="optional" default="'txt'">
+ <function-arg-description>
+ The name of host (default txt)
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+
+ <function-arg-def name="hostname" type="optional" default="'localhost'">
+ <function-arg-description>
+ The name of remote host (default localhost)
+ </function-arg-description>
+ <function-arg-property name="type" value="hostname"/>
+ </function-arg-def>
+ </function-map-args>
+ <sequence>
+ <stafcmd name="'STAF Command: Copy all %s Files.' % (extension)">
+ <location>'%s' % (STAF_LOCAL_HOSTNAME)</location>
+ <service>'fs'</service>
+ <request>'COPY DIRECTORY %s TODIRECTORY %s TOMACHINE %s EXT %s RECURSE' % (srcfolder,destfolder,hostname,extension) </request>
+ </stafcmd>
+ <script>
+ cmdRC=RC
+ cmdResult=STAFResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : cmdRC ,
+ 'result' : cmdResult }
+ </call>
+ <return>cmdRC</return>
+ </sequence>
+ </function>
+
+ <function name="zipfile">
+ <function-prolog>
+ This function zips a folder on remote machine
</function-prolog>
<function-map-args>
- <function-arg-def name="srcfolder" type="required">
- <function-arg-description>
- The name of the source folder
- </function-arg-description>
- <function-arg-property name="type" value="foldername"/>
- </function-arg-def>
-
- <function-arg-def name="destfolder" type="required">
- <function-arg-description>
- The name of the destination fule
- </function-arg-description>
- <function-arg-property name="type" value="foldername"/>
- </function-arg-def>
-
- <function-arg-def name="extension" type="optional" default="'txt'">
- <function-arg-description>
- The name of host (default txt)
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
-
- <function-arg-def name="hostname" type="optional" default="'localhost'">
- <function-arg-description>
- The name of remote host (default localhost)
- </function-arg-description>
- <function-arg-property name="type" value="hostname"/>
- </function-arg-def>
-
+ <function-required-arg name="zipfilename">
+ name of zip file
+ </function-required-arg>
+ <function-required-arg name="foldername">
+ name of destination folder to place zip file contents
+ </function-required-arg>
+ <function-required-arg name="relativeto">
+ folder that the zip archive is relative to
+ </function-required-arg>
</function-map-args>
+ <sequence>
+ <stafcmd name="'STAF Command: Zip Up Folder'">
+ <location>'%s' % (STAF_LOCAL_HOSTNAME)</location>
+ <service>'zip'</service>
+ <request>
+ 'ADD ZIPFILE %s DIRECTORY %s RECURSE RELATIVETO %s' % (zipfilename,foldername,relativeto)
+ </request>
+ </stafcmd>
+
+ <script>
+ cmdRC=RC
+ cmdResult=STAFResult
+ </script>
+
+ <call function="'checkRC'">
+ { 'returncode' : cmdRC ,
+ 'result' : cmdResult }
+ </call>
+ <return>cmdRC</return>
+ </sequence>
+ </function>
- <sequence>
-
- <stafcmd name="'STAF Command: Copy all %s Files.' % (extension)">
- <location>'%s' % (STAF_LOCAL_HOSTNAME)</location>
- <service>'fs'</service>
- <request>'COPY DIRECTORY %s TODIRECTORY %s TOMACHINE %s EXT %s RECURSE' % (srcfolder,destfolder,hostname,extension) </request>
- </stafcmd>
-
- <script>
- cmdRC=RC
- cmdResult=STAFResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : cmdRC ,
- 'result' : cmdResult }
- </call>
-
- <return>cmdRC</return>
-
- </sequence>
-
- </function>
-
- <function name="zipfile">
-
+ <function name="unzipfile">
<function-prolog>
- This function zips a folder on remote machine
+ This function unzips a compressed zip archive on remote machine
</function-prolog>
-
<function-map-args>
- <function-required-arg name="zipfilename">
- name of zip file
- </function-required-arg>
- <function-required-arg name="foldername">
- name of destination folder to place zip file contents
- </function-required-arg>
- <function-required-arg name="relativeto">
- folder that the zip archive is relative to
- </function-required-arg>
+ <function-required-arg name="zipfile">
+ name of source zip file
+ </function-required-arg>
+ <function-required-arg name="unzipdir">
+ name of destination folder to place zip file contents
+ </function-required-arg>
+ <function-optional-arg name="ziphost" default="'localhost'">
+ name of host on which to unzip (default localhost)
+ </function-optional-arg>
</function-map-args>
- <sequence>
+ <sequence>
+ <stafcmd name="'STAF Command: Unzip File'">
+ <location>'%s' % (ziphost)</location>
+ <service>'zip'</service>
+ <request>
+ 'UNZIP ZIPFILE %s TODIRECTORY %s RESTOREPERMISSION REPLACE' % (zipfile,unzipdir)
+ </request>
+ </stafcmd>
+ <script>
+ cmdRC=RC
+ cmdResult=STAFResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : cmdRC ,
+ 'result' : cmdResult }
+ </call>
+ <return>cmdRC</return>
+ </sequence>
+ </function>
- <stafcmd name="'STAF Command: Zip Up Folder'">
- <location>'%s' % (STAF_LOCAL_HOSTNAME)</location>
- <service>'zip'</service>
- <request>
- 'ADD ZIPFILE %s DIRECTORY %s RECURSE RELATIVETO %s' % (zipfilename,foldername,relativeto)
- </request>
- </stafcmd>
-
- <script>
- cmdRC=RC
- cmdResult=STAFResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : cmdRC ,
- 'result' : cmdResult }
- </call>
-
- <return>cmdRC</return>
-
- </sequence>
-
- </function>
-
- <function name="unzipfile">
-
+ <function name="deletefile">
<function-prolog>
- This function unzips a compressed zip archive on remote machine
+ This function recursively deletes a folder
</function-prolog>
-
<function-map-args>
- <function-required-arg name="zipfile">
- name of source zip file
- </function-required-arg>
- <function-required-arg name="unzipdir">
- name of destination folder to place zip file contents
- </function-required-arg>
- <function-optional-arg name="ziphost" default="'localhost'">
- name of host on which to unzip (default localhost)
- </function-optional-arg>
-
+ <function-required-arg name="filename">
+ name of file to be deleted
+ </function-required-arg>
+ <function-required-arg name="hostname">
+ name of target host
+ </function-required-arg>
</function-map-args>
+ <sequence>
+ <stafcmd name="'STAF Command: Delete Existing File'">
+ <location>'%s' % (hostname)</location>
+ <service>'fs'</service>
+ <request>
+ 'GET ENTRY %s TYPE' % (filename)
+ </request>
+ </stafcmd>
- <sequence>
+ <if expr="RC == 48">
+ <sequence>
+ <message log="1">
+ 'Success: File does not exist, dont delete it.'
+ </message>
+ <return>0</return>
+ </sequence>
+ <else>
+ <sequence>
+ <message log="1">
+ 'Success: File does exists, will delete it'
+ </message>
+ </sequence>
+ </else>
+ </if>
- <stafcmd name="'STAF Command: Unzip File'">
- <location>'%s' % (ziphost)</location>
- <service>'zip'</service>
- <request>
- 'UNZIP ZIPFILE %s TODIRECTORY %s RESTOREPERMISSION REPLACE' % (zipfile,unzipdir)
- </request>
- </stafcmd>
+ <stafcmd name="'STAF Command: Delete Existing File'">
+ <location>'%s' % (hostname)</location>
+ <service>'fs'</service>
+ <request>
+ 'DELETE ENTRY %s CONFIRM' % (filename)
+ </request>
+ </stafcmd>
- <script>
- cmdRC=RC
- cmdResult=STAFResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : cmdRC ,
- 'result' : cmdResult }
- </call>
+ <script>
+ cmdRC=RC
+ cmdResult=STAFResult
+ </script>
+
+ <call function="'checkRC'">
+ { 'returncode' : cmdRC ,
+ 'result' : cmdResult }
+ </call>
+ <return>cmdRC</return>
+ </sequence>
+ </function>
- <return>cmdRC</return>
-
- </sequence>
-
- </function>
-
- <function name="deletefile">
-
+ <function name="deletefolder">
<function-prolog>
This function recursively deletes a folder
</function-prolog>
-
<function-map-args>
- <function-required-arg name="filename">
- name of file to be deleted
- </function-required-arg>
- <function-required-arg name="hostname">
- name of target host
- </function-required-arg>
+ <function-required-arg name="foldername">
+ name of folder to be deleted
+ </function-required-arg>
+ <function-required-arg name="hostname">
+ name of target host
+ </function-required-arg>
</function-map-args>
-
- <sequence>
-
- <stafcmd name="'STAF Command: Delete Existing File'">
- <location>'%s' % (hostname)</location>
- <service>'fs'</service>
- <request>
- 'GET ENTRY %s TYPE' % (filename)
- </request>
- </stafcmd>
-
- <if expr="RC == 48">
- <sequence>
- <message log="1">
- 'Success: File does not exist, dont delete it.'
- </message>
- <return>0</return>
- </sequence>
- <else>
- <sequence>
- <message log="1">
- 'Success: File does exists, will delete it'
- </message>
- </sequence>
- </else>
- </if>
-
- <stafcmd name="'STAF Command: Delete Existing File'">
- <location>'%s' % (hostname)</location>
- <service>'fs'</service>
- <request>
- 'DELETE ENTRY %s CONFIRM' % (filename)
- </request>
- </stafcmd>
-
- <script>
- cmdRC=RC
- cmdResult=STAFResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : cmdRC ,
- 'result' : cmdResult }
- </call>
-
- <return>cmdRC</return>
-
- </sequence>
-
- </function>
-
- <function name="deletefolder">
-
- <function-prolog>
- This function recursively deletes a folder
- </function-prolog>
-
- <function-map-args>
- <function-required-arg name="foldername">
- name of folder to be deleted
- </function-required-arg>
- <function-required-arg name="hostname">
- name of target host
- </function-required-arg>
- </function-map-args>
-
- <sequence>
-
+ <sequence>
<stafcmd name="'STAF Command: Get Folder Attributes'">
<location>'%s' % (hostname)</location>
<service>'fs'</service>
<request>'GET ENTRY %s TYPE' % (foldername)</request>
</stafcmd>
-
+
<if expr="RC == 48">
<sequence>
<message log="1">
@@ -334,29 +285,23 @@
</sequence>
</else>
</if>
-
<stafcmd name="'STAF Command: Recursively Delete Folder'">
- <location>'%s' % (hostname)</location>
- <service>'fs'</service>
- <request>
- 'DELETE ENTRY %s RECURSE IGNOREERRORS CONFIRM' % (foldername)
- </request>
- </stafcmd>
+ <location>'%s' % (hostname)</location>
+ <service>'fs'</service>
+ <request>
+ 'DELETE ENTRY %s RECURSE IGNOREERRORS CONFIRM' % (foldername)
+ </request>
+ </stafcmd>
- <script>
- cmdRC=RC
- cmdResult=STAFResult
- </script>
-
- <call function="'checkRC'">
- { 'returncode' : cmdRC ,
- 'result' : cmdResult }
- </call>
-
- <return>cmdRC</return>
-
- </sequence>
-
- </function>
-
+ <script>
+ cmdRC=RC
+ cmdResult=STAFResult
+ </script>
+ <call function="'checkRC'">
+ { 'returncode' : cmdRC ,
+ 'result' : cmdResult }
+ </call>
+ <return>cmdRC</return>
+ </sequence>
+ </function>
</stax>
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/functions/utils.xml b/opendj-sdk/opends/tests/functional-tests/shared/functions/utils.xml
index c2041f8..86e948e 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/utils.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/utils.xml
@@ -26,204 +26,175 @@
! Portions Copyright 2006-2007 Sun Microsystems, Inc.
! -->
<stax>
-
<function name="checkRC">
-
<function-prolog>
- This function checks a return code against an expected return code
+ This function checks a return code against an expected return code
</function-prolog>
<function-map-args>
- <function-required-arg name="returncode">
- return code received from command
- </function-required-arg>
- <function-required-arg name="result">
- the output of the result
- </function-required-arg>
- <function-optional-arg name="expected" default="0">
- the expected return code
- </function-optional-arg>
-
+ <function-required-arg name="returncode">
+ return code received from command
+ </function-required-arg>
+ <function-required-arg name="result">
+ the output of the result
+ </function-required-arg>
+ <function-optional-arg name="expected" default="0">
+ the expected return code
+ </function-optional-arg>
</function-map-args>
- <sequence>
-
- <if expr="returncode == expected">
- <sequence>
+ <sequence>
+ <if expr="returncode == expected">
+ <sequence>
<if expr="result == ''">
- <message log="1">
- 'Success: RC=%s, Result=Ok' % (returncode)
- </message>
- <else>
+ <message log="1">
+ 'Success: RC=%s, Result=Ok' % (returncode)
+ </message>
+ <else>
<message log="1">
'Success: RC=%s, Result=%s' % (returncode,result)
</message>
- </else>
+ </else>
</if>
- </sequence>
+ </sequence>
<else>
<sequence>
- <message log="1" level="'Error'">
- 'Error: RC=%s, Expected %s, Result=%s' % (returncode,expected,result)
- </message>
+ <message log="1" level="'Error'">
+ 'Error: RC=%s, Expected %s, Result=%s' % (returncode,expected,result)
+ </message>
</sequence>
</else>
- </if>
+ </if>
+ </sequence>
+ </function>
-
- </sequence>
-
- </function>
-
- <function name="checktestRC">
-
+ <function name="checktestRC">
<function-prolog>
- This function checks the return code against an expected return code for a testcase
+ This function checks the return code against an expected return code for a testcase
</function-prolog>
-
<function-map-args>
- <function-required-arg name="returncode">
- return code received from command
- </function-required-arg>
- <function-required-arg name="result">
- the output of the result
- </function-required-arg>
- <function-optional-arg name="expected" default="0">
- the expected return code
- </function-optional-arg>
-
+ <function-required-arg name="returncode">
+ return code received from command
+ </function-required-arg>
+ <function-required-arg name="result">
+ the output of the result
+ </function-required-arg>
+ <function-optional-arg name="expected" default="0">
+ the expected return code
+ </function-optional-arg>
</function-map-args>
-
- <sequence>
-
- <if expr="returncode == expected">
- <sequence>
+ <sequence>
+ <if expr="returncode == expected">
+ <sequence>
<tcstatus result="'pass'"/>
<message log="1">
'Success: RC=%s, Result=%s' % (returncode,result)
</message>
- </sequence>
+ </sequence>
<else>
<sequence>
- <tcstatus result="'fail'"/>
- <message log="1" level="'Error'">
- 'Error: RC=%s, Expected %s, Result=%s' % (returncode,expected,result)
- </message>
+ <tcstatus result="'fail'"/>
+ <message log="1" level="'Error'">
+ 'Error: RC=%s, Expected %s, Result=%s' % (returncode,expected,result)
+ </message>
</sequence>
</else>
- </if>
-
-
- </sequence>
-
+ </if>
+ </sequence>
</function>
<function name="checktestString">
-
<function-prolog>
- This function checks the return string against an expected return substring for a testcase
+ This function checks the return string against an expected return substring for a testcase
</function-prolog>
-
<function-map-args>
- <function-required-arg name="expectedString">
- the substring expected from the command
- </function-required-arg>
- <function-required-arg name="returnString">
- the return string received from command
- </function-required-arg>
-
+ <function-required-arg name="expectedString">
+ the substring expected from the command
+ </function-required-arg>
+ <function-required-arg name="returnString">
+ the return string received from command
+ </function-required-arg>
</function-map-args>
+ <sequence>
+ <script>
+ import re
+ searchre = re.compile('%s' % expectedString)
+ </script>
- <sequence>
- <script>
- import re
- searchre = re.compile('%s' % expectedString)
- </script>
-
- <if expr='re.search(searchre, returnString) != None'>
- <sequence>
- <tcstatus result="'pass'"/>
- <message log="1">
- 'Success: Found substring, %s, in the return string' % (expectedString)
- </message>
- </sequence>
- <else>
- <sequence>
- <tcstatus result="'fail'"/>
- <message log="1" level="'Error'">
- 'Error: Did not find substring, %s, in the return string, %s' % (expectedString, returnString)
- </message>
- </sequence>
- </else>
- </if>
- </sequence>
-
+ <if expr='re.search(searchre, returnString) != None'>
+ <sequence>
+ <tcstatus result="'pass'"/>
+ <message log="1">
+ 'Success: Found substring, %s, in the return string' % (expectedString)
+ </message>
+ </sequence>
+ <else>
+ <sequence>
+ <tcstatus result="'fail'"/>
+ <message log="1" level="'Error'">
+ 'Error: Did not find substring, %s, in the return string, %s' % (expectedString, returnString)
+ </message>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
</function>
<function name="checktestStringNotPresent">
-
<function-prolog>
- This function checks the return string against an expected return substring that should not be present for a testcase
+ This function checks the return string against an expected return substring that should not be present for a testcase
</function-prolog>
-
<function-map-args>
- <function-required-arg name="testString">
- the substring being tested from the command
- </function-required-arg>
- <function-required-arg name="returnString">
- the return string received from command
- </function-required-arg>
-
+ <function-required-arg name="testString">
+ the substring being tested from the command
+ </function-required-arg>
+ <function-required-arg name="returnString">
+ the return string received from command
+ </function-required-arg>
</function-map-args>
- <sequence>
- <script>
- import re
- searchre = re.compile('%s' % testString)
- </script>
-
- <if expr='re.search(searchre, returnString) == None'>
- <sequence>
- <tcstatus result="'pass'"/>
- <message log="1">
- 'Success: Did Not Find substring, %s, in the return string' % (testString)
- </message>
- </sequence>
- <else>
- <sequence>
- <tcstatus result="'fail'"/>
- <message log="1" level="'Error'">
- 'Error: Found substring, %s, in the return string, %s' % (testString, returnString)
- </message>
- </sequence>
- </else>
- </if>
- </sequence>
-
+ <sequence>
+ <script>
+ import re
+ searchre = re.compile('%s' % testString)
+ </script>
+ <if expr='re.search(searchre, returnString) == None'>
+ <sequence>
+ <tcstatus result="'pass'"/>
+ <message log="1">
+ 'Success: Did Not Find substring, %s, in the return string' % (testString)
+ </message>
+ </sequence>
+ <else>
+ <sequence>
+ <tcstatus result="'fail'"/>
+ <message log="1" level="'Error'">
+ 'Error: Found substring, %s, in the return string, %s' % (testString, returnString)
+ </message>
+ </sequence>
+ </else>
+ </if>
+ </sequence>
</function>
<function name="isAlive">
-
<function-prolog>
- Checks that the ldap server is running
+ Checks that the ldap server is running
</function-prolog>
-
<function-map-args>
- <function-required-arg name="noOfLoops">
- Number of loops
- </function-required-arg>
- <function-required-arg name="noOfMilliSeconds">
- Number of seconds
- </function-required-arg>
+ <function-required-arg name="noOfLoops">
+ Number of loops
+ </function-required-arg>
+ <function-required-arg name="noOfMilliSeconds">
+ Number of seconds
+ </function-required-arg>
</function-map-args>
<sequence>
-
<script>ldapRC=9999</script>
<loop from="1" to="noOfLoops" while="ldapRC != 0">
-
<sequence>
- <call function="'SearchObject'">
+ <call function="'SearchObject'">
{ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
@@ -231,69 +202,56 @@
'dsBaseDN' : 'cn=config' ,
'dsFilter' : 'objectclass=*' ,
'extraParams' : '-s "base"' }
- </call>
+ </call>
- <script>
+ <script>
ldapRC=RC
- </script>
+ </script>
- <call function="'Sleep'">
+ <call function="'Sleep'">
{ 'sleepForMilliSeconds' : noOfMilliSeconds }
- </call>
-
+ </call>
</sequence>
-
</loop>
-
</sequence>
-
</function>
<function name="Sleep">
-
<function-prolog>
- Sleep for number of milliseconds
+ Sleep for number of milliseconds
</function-prolog>
-
<function-map-args>
- <function-required-arg name="sleepForMilliSeconds">
- Number of milliseconds to sleep
- </function-required-arg>
+ <function-required-arg name="sleepForMilliSeconds">
+ Number of milliseconds to sleep
+ </function-required-arg>
</function-map-args>
-
+
<sequence>
+ <stafcmd name="'STAF Command: Delay'">
+ <location>'%s' % (hostname)</location>
+ <service>'delay'</service>
+ <request>
+ 'delay %i' % sleepForMilliSeconds
+ </request>
+ </stafcmd>
- <stafcmd name="'STAF Command: Delay'">
- <location>'%s' % (hostname)</location>
- <service>'delay'</service>
- <request>
- 'delay %i' % sleepForMilliSeconds
- </request>
- </stafcmd>
-
- <call function="'checkRC'">
- { 'returncode' : RC ,
- 'result' : STAFResult }
- </call>
-
+ <call function="'checkRC'">
+ { 'returncode' : RC ,
+ 'result' : STAFResult }
+ </call>
</sequence>
-
</function>
<function name="setOSvariables">
-
<function-prolog>
- Set OS related variables
+ Set OS related variables
</function-prolog>
-
<function-map-args>
- <function-required-arg name="hostname">
- Name of host
- </function-required-arg>
+ <function-required-arg name="hostname">
+ Name of host
+ </function-required-arg>
</function-map-args>
-
<sequence>
-
<stafcmd name="'STAF Command: Get OS Name'">
<location>'%s' % (hostname)</location>
<service>'var'</service>
@@ -301,146 +259,94 @@
'get system var STAF/Config/OS/Name'
</request>
</stafcmd>
-
<message>
'OS Name= %s' % STAFResult
</message>
-
<return>STAFResult</return>
</sequence>
-
</function>
<function name="testCase_StartBanner">
-
<function-prolog>
Pretty prints a banner at the start of a test.
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<message>
'### Starting test case %s. ###' % STAXCurrentTestcase
</message>
-
</sequence>
-
</function>
<function name="testCase_EndBanner">
-
<function-prolog>
Pretty prints a banner at the end of a test.
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<message>
'### Ending test case %s. ###' % STAXCurrentTestcase
</message>
-
</sequence>
-
</function>
<function name="testCase_Preamble">
-
<function-prolog>
Performs all the preoperations for a test case
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<call function="'testCase_StartBanner'" />
-
</sequence>
-
</function>
<function name="testCase_Postamble">
-
<function-prolog>
Performs all the post operations for a test suite
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<call function="'testCase_EndBanner'" />
-
</sequence>
-
</function>
<function name="testSuite_Preamble">
-
<function-prolog>
Performs all the pre operations for a test suite
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<message>'Enter test suite preamble'</message>
-
</sequence>
-
</function>
<function name="testSuite_Postamble">
-
<function-prolog>
Performs all the post operations for a test suite
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<message>'Enter test suite postamble'</message>
-
</sequence>
-
</function>
<function name="testGroup_Preamble">
-
<function-prolog>
Performs all the pre operations for a test group
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<message>'Enter test group postamble'</message>
-
</sequence>
-
</function>
<function name="testGroup_Postamble">
-
<function-prolog>
Performs all the post operations for a test group
</function-prolog>
-
<function-no-args />
-
<sequence>
-
<message>'Enter test group postamble'</message>
-
</sequence>
-
</function>
-
</stax>
diff --git a/opendj-sdk/opends/tests/functional-tests/staf-installer/config.py.stubs b/opendj-sdk/opends/tests/functional-tests/staf-installer/config.py.stubs
index 734edde..0a0084b 100644
--- a/opendj-sdk/opends/tests/functional-tests/staf-installer/config.py.stubs
+++ b/opendj-sdk/opends/tests/functional-tests/staf-installer/config.py.stubs
@@ -24,6 +24,7 @@
DIRECTORY_INSTANCE_PORT = '1389'
DIRECTORY_INSTANCE_SSL_PORT = '1636'
DIRECTORY_INSTANCE_SFX = 'dc=com'
+DIRECTORY_INSTANCE_BE = 'userRoot'
STAGED_DATA_DIR = '${tests.run.dir}/${tests.run.time}/data/shared/data'
JAVA_HOME = '${java.home}'
SEND_MAIL_AFTER_TEST_RUN = '${staf.email.send}'
--
Gitblit v1.10.0