From 718c7f7323af1a73db2aae58555f6d4f80bafa99 Mon Sep 17 00:00:00 2001
From: Christophe Sovant <christophe.sovant@forgerock.com>
Date: Wed, 05 Nov 2008 14:49:50 +0000
Subject: [PATCH] Issue 3025: results should be the same on all OS/platforms
---
opends/tests/staf-tests/shared/functions/environment.xml | 2
opends/tests/staf-tests/shared/tests/config.py.stubs | 2
opends/tests/staf-tests/shared/functions/webcontainer.xml | 93 +++++++++++++++---------------
opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_cleanup.xml | 7 --
opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml | 32 +++++++---
opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml | 14 ++--
6 files changed, 80 insertions(+), 70 deletions(-)
diff --git a/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_cleanup.xml b/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_cleanup.xml
index 194a0dd..35ee4c7 100755
--- a/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_cleanup.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_cleanup.xml
@@ -128,12 +128,7 @@
{ 'location' : STAF_REMOTE_HOSTNAME ,
'wcPath' : '%s/%s-%s' % (WC_DIRECTORY,WC_TYPE,WC_VERSION) }
</call>
- <call function="'checktestRC'">
- {
- 'returncode' : RC ,
- 'result' : STAXResult
- }
- </call>
+
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml b/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
index 24d5df7..e14419a 100755
--- a/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_setup.xml
@@ -286,12 +286,7 @@
'setup: start webcontainer as described in config.py'
</message>
<call function="'startWebcontainerWithScript'"/>
- <call function="'checktestRC'">
- {
- 'returncode' : RC ,
- 'result' : STAXResult
- }
- </call>
+
<stafcmd name="'waiting for webcontainer startup'">
<location>'%s' % location</location>
<service>'delay'</service>
@@ -321,17 +316,30 @@
'setup: configure DSML gateway DS port param.'
</message>
+ <script>
+ myTmpDir='%s/%s' % (local.temp, STAF_REMOTE_HOSTNAME)
+ </script>
+ <message>
+ 'Create folder %s on host %s' % (myTmpDir,STAXServiceMachine)
+ </message>
+ <call function="'createFolder'">
+ { 'location' : STAXServiceMachine,
+ 'foldername' : '%s' % myTmpDir
+ }
+ </call>
+
<call function="'runSTAFCommand'">
{ 'name' : 'Extract DSML gateway web.xml',
'location' : STAXServiceMachine,
'service' : 'ZIP',
'request' : 'UNZIP',
- 'arguments' : 'ZIPFILE %s TODIRECTORY %s FILE WEB-INF/web.xml' % (DSML_WARPATH, TMPDIR)
+ 'arguments' : 'ZIPFILE %s TODIRECTORY %s FILE WEB-INF/web.xml' \
+ % (DSML_WARPATH, myTmpDir)
}
</call>
<script>
- webXmlInput=open('%s/WEB-INF/web.xml' % TMPDIR,'r')
+ webXmlInput=open('%s/WEB-INF/web.xml' % myTmpDir,'r')
import re
portRegEx = re.compile('389')
hostRegEx = re.compile('localhost')
@@ -339,14 +347,18 @@
c1=portRegEx.sub(DIRECTORY_INSTANCE_PORT, c0)
content=hostRegEx.sub(DIRECTORY_INSTANCE_HOST, c1)
webXmlInput.close()
- webXmlOutput=open('%s/WEB-INF/web.xml.out' % TMPDIR,'w')
+ webXmlOutput=open('%s/WEB-INF/web.xml.out' % myTmpDir,'w')
webXmlOutput.write(content)
webXmlOutput.close()
</script>
+
+ <message>
+ 'Update DSML gateway web.xml file on host %s' % STAF_REMOTE_HOSTNAME
+ </message>
<call function="'copyFile'">
{ 'location' : STAXServiceMachine,
'remotehost' : '%s' % STAF_REMOTE_HOSTNAME,
- 'srcfile' : '%s/WEB-INF/web.xml.out' % TMPDIR,
+ 'srcfile' : '%s/WEB-INF/web.xml.out' % myTmpDir,
'destfile' : '%s/%s-%s/webapps/dsml/WEB-INF/web.xml' % (WC_DIRECTORY,WC_TYPE,WC_VERSION)
}
</call>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml b/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml
index cbf45ac..2d3be39 100755
--- a/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml
@@ -43,7 +43,7 @@
</script>
<call function="'testSuite_Preamble'"/>
<sequence>
- <message>'TESTS_DATA_DIR=%s '%(TESTS_DATA_DIR)
+ <message>'TESTS_DATA_DIR=%s ' % (local.data)
</message>
<!--- Test Case information
#@TestMarker test
@@ -68,14 +68,14 @@
'location' : STAXServiceMachine,
'service' : 'FS',
'request' : 'LIST DIRECTORY',
- 'arguments' : '%s/dsml/suites SORTBYNAME TYPE d' % TESTS_DATA_DIR
+ 'arguments' : '%s/dsml/suites SORTBYNAME TYPE d' % local.data
}
</call>
<if expr="RC != 0">
<sequence>
<message>
- 'Folder %d/dsml/suites does not exist.' % (TESTS_DATA_DIR)
+ 'Folder %d/dsml/suites does not exist.' % (local.data)
</message>
<return>0</return>
</sequence>
@@ -111,7 +111,7 @@
'service' : 'FS',
'request' : 'LIST DIRECTORY',
'arguments' : '%s/dsml/suites/%s/data \
- SORTBYNAME EXT dat TYPE f' % (TESTS_DATA_DIR,family)
+ SORTBYNAME EXT dat TYPE f' % (local.data,family)
}
</call>
@@ -125,7 +125,7 @@
'service' : 'FS',
'request' : 'LIST DIRECTORY',
'arguments' : '%s/dsml/suites/%s/data \
- SORTBYNAME EXT res TYPE f' % (TESTS_DATA_DIR,family)
+ SORTBYNAME EXT res TYPE f' % (local.data,family)
}
</call>
@@ -141,10 +141,10 @@
runFileName = runFileRE.sub('run',test)
runFilePath = '/tmp/%s_%s' % (family, runFileName)
requestFilePath = '%s/dsml/suites/%s/data/%s' % \
- (TESTS_DATA_DIR,family,test)
+ (local.data,family,test)
expectedFileName = runFileRE.sub('res',test)
expectedFilePath = '%s/dsml/suites/%s/data/%s' % \
- (TESTS_DATA_DIR,family,expectedFileName)
+ (local.data,family,expectedFileName)
if (sslRE.search(test) != None):
url = urls['SSL']
else:
diff --git a/opends/tests/staf-tests/shared/functions/environment.xml b/opends/tests/staf-tests/shared/functions/environment.xml
index 7d284ff..a3d712a 100755
--- a/opends/tests/staf-tests/shared/functions/environment.xml
+++ b/opends/tests/staf-tests/shared/functions/environment.xml
@@ -136,11 +136,13 @@
OPENDS_BINPATH ='%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
if is_windows_platform(STAF_REMOTE_HOSTNAME):
fileExt='.bat'
+ scriptExt='.bat'
fileFolder='bat'
pathSeparator=';'
newLine='\r\n'
else:
fileExt=''
+ scriptExt='.sh'
fileFolder='bin'
pathSeparator=':'
newLine='\n'
diff --git a/opends/tests/staf-tests/shared/functions/webcontainer.xml b/opends/tests/staf-tests/shared/functions/webcontainer.xml
index 757308f..eed4bd4 100755
--- a/opends/tests/staf-tests/shared/functions/webcontainer.xml
+++ b/opends/tests/staf-tests/shared/functions/webcontainer.xml
@@ -109,20 +109,31 @@
<script>stafRoot=STAFResult</script>
- <call function="'runCommand'">
- { 'name' : 'Generate a Certificate',
- 'location' : STAXServiceMachine,
- 'command' : '%s/bin/keytool' % (JAVA_HOME),
- 'arguments' : '-genkey -alias tomcat -keyalg rsa \
- -dname "cn=tomcat,O=Sun Microsystems,C=US" \
- -keystore "%s/services/DSML/tomcatCertificate" \
- -storepass "changeit" -keypass "changeit" \
- -storetype JKS ' % (stafRoot),
- 'path' : '%s/bin' % (JAVA_HOME),
- 'expectedRC': 0
+ <!-- Check if 'tomcatCertificate' file exists -->
+ <call function="'GetEntry'">
+ {
+ 'location' : STAXServiceMachine,
+ 'entry' : '%s/services/DSML/tomcatCertificate' % stafRoot,
+ 'attribute' : 'TYPE'
}
</call>
-
+ <!-- 'tomcatCertificate' file does not exist so generate it -->
+ <if expr="RC == 48">
+ <call function="'runCommand'">
+ { 'name' : 'Generate a Certificate',
+ 'location' : STAXServiceMachine,
+ 'command' : '%s/bin/keytool' % (LOCAL_JAVA_HOME),
+ 'arguments' : '-genkey -alias tomcat -keyalg rsa \
+ -dname "cn=tomcat,O=Sun Microsystems,C=US" \
+ -keystore "%s/services/DSML/tomcatCertificate" \
+ -storepass "changeit" -keypass "changeit" \
+ -storetype JKS ' % (stafRoot),
+ 'path' : '%s/bin' % (LOCAL_JAVA_HOME),
+ 'expectedRC': 0
+ }
+ </call>
+ </if>
+
<call function="'copyFile'">
{ 'location' : STAXServiceMachine,
'srcfile' : '%s/services/DSML/tomcatCertificate' % (stafRoot),
@@ -157,12 +168,12 @@
(WC_SSL_PORT, wcPath, WC_TYPE, WC_VERSION)
content=sslConnectorRegEx.sub(SSL_CONNECTOR, content)
serverXmlOutput=open('%s/%s-%s-%s_server.xml' % \
- (TMPDIR,STAF_REMOTE_HOSTNAME,WC_TYPE,WC_VERSION),'w')
+ (local.temp,STAF_REMOTE_HOSTNAME,WC_TYPE,WC_VERSION),'w')
serverXmlOutput.write(content)
serverXmlOutput.close()
</script>
<call function="'copyFile'">
- {'srcfile' : '%s/%s-%s-%s_server.xml' % (TMPDIR, STAF_REMOTE_HOSTNAME, WC_TYPE, WC_VERSION),
+ {'srcfile' : '%s/%s-%s-%s_server.xml' % (local.temp, STAF_REMOTE_HOSTNAME, WC_TYPE, WC_VERSION),
'destfile' : '%s/%s-%s/conf/server.xml' % (wcPath, WC_TYPE, WC_VERSION),
'remotehost' : '%s' % STAF_REMOTE_HOSTNAME
}
@@ -269,7 +280,7 @@
<script>
if wcPath:
wcBinPath='%s/bin' % wcPath
- STAFCmd='%s/shutdown.sh' % wcBinPath
+ STAFCmd='%s/shutdown%s' % (wcBinPath, scriptExt)
STAFCmdEnv=['CATALINA_HOME=%s' % wcPath,'PATH=/bin:/usr/bin',\
'JAVA_HOME=%s' % JAVA_HOME]
</script>
@@ -279,22 +290,13 @@
</message>
<call function="'runCommand'">
- { 'location' : location,
- 'command' : STAFCmd,
- 'env' : STAFCmdEnv,
- 'name' : STAFCmd,
- 'path' : wcBinPath
+ { 'location' : location,
+ 'command' : STAFCmd,
+ 'envCmd' : STAFCmdEnv,
+ 'name' : STAFCmd,
+ 'path' : wcBinPath
}
</call>
- <script>
- stopRC=RC
- stopResult=STAXResult
- </script>
- <call function="'checkRC'">
- { 'returncode' : stopRC,
- 'result' : stopResult }
- </call>
- <return>stopResult</return>
</sequence>
@@ -325,7 +327,7 @@
<script>
if wcPath:
wcBinPath='%s/bin' % wcPath
- STAFCmd='%s/startup.sh' % wcBinPath
+ STAFCmd='%s/startup%s' % (wcBinPath, scriptExt)
STAFCmdEnv=['CATALINA_HOME=%s' % wcPath,'PATH=/bin:/usr/bin', \
'JAVA_HOME=%s' % JAVA_HOME]
</script>
@@ -333,25 +335,24 @@
<message>
'%s' % STAFCmd
</message>
-
+
+ <!-- On Windows systems, startup command always returns 1 -->
+ <script>
+ if is_windows_platform(location):
+ expectedRC=1
+ else:
+ expectedRC=0
+ </script>
+
<call function="'runCommand'">
- { 'location' : location,
- 'command' : STAFCmd,
- 'env' : STAFCmdEnv,
- 'name' : STAFCmd,
- 'path' : wcBinPath
+ { 'location' : location,
+ 'command' : STAFCmd,
+ 'envCmd' : STAFCmdEnv,
+ 'name' : STAFCmd,
+ 'path' : wcBinPath,
+ 'expectedRC' : expectedRC
}
</call>
- <script>
- startRC=RC
- startResult=STAXResult
- </script>
- <call function="'checkRC'">
- { 'returncode' : startRC ,
- 'result' : startResult }
- </call>
-
- <return>startResult</return>
</sequence>
diff --git a/opends/tests/staf-tests/shared/tests/config.py.stubs b/opends/tests/staf-tests/shared/tests/config.py.stubs
index e3a264f..0f67792 100644
--- a/opends/tests/staf-tests/shared/tests/config.py.stubs
+++ b/opends/tests/staf-tests/shared/tests/config.py.stubs
@@ -62,7 +62,7 @@
WC_PORT = '9000'
WC_SSL_PORT = '9001'
WC_HOST = 'localhost'
-DSML_WARNAME = 'OpenDS-1.0.0-DSML.war'
+DSML_WARNAME = 'OpenDS-1.1.0-DSML.war'
DSML_WARPATH = '%s/build/package/%s' % (OPENDSDIR, DSML_WARNAME)
SNMP_OPENDS_JARFILE = '%s/lib/extensions/snmp-mib2605.jar' % OPENDSNAME
SNMP_OPENDMK_LIBDIR = '/path/to/opendmk/lib'
--
Gitblit v1.10.0