From 7d04e061b809e040d2851f9ec77ee610234def9c Mon Sep 17 00:00:00 2001
From: Gary Williams <gary.williams@forgerock.com>
Date: Wed, 05 Oct 2011 12:40:37 +0000
Subject: [PATCH] Prepare functional tests for upgrade to stax351 based on jython 2.5.2

---
 opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_list/dsconfig_list_tests.xml |   20 ++++--
 opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml                             |    4 
 opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/setup/security.xml                             |   12 ++--
 opendj-sdk/opends/tests/staf-tests/shared/python/common.py                                                   |   13 ++-
 opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml                                                |   42 +++++++++----
 opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml                                          |    1 
 opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_get/dsconfig_get_tests.xml   |   52 +++++++++++------
 7 files changed, 92 insertions(+), 52 deletions(-)

diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_get/dsconfig_get_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_get/dsconfig_get_tests.xml
index 5580d6c..b933cfa 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_get/dsconfig_get_tests.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_get/dsconfig_get_tests.xml
@@ -24,6 +24,7 @@
  ! CDDL HEADER END
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
+ !      Portions Copyright 2011 ForgeRock AS.
  ! -->
 <stax>
 
@@ -46,8 +47,14 @@
       <iterate var="dummyIndex" in="componentList">
         <sequence>
           <script>
+              dsconfig_subcommand    = componentList[componentNumber][0].strip()
+              dsconfig_component1    = componentList[componentNumber][1].strip()
+              dsconfig_component2    = componentList[componentNumber][2].strip()
+              dsconfig_component3    = componentList[componentNumber][3].strip()
+              dsconfig_component4    = componentList[componentNumber][4].strip()
               # avoid same testName by incrementing the number
-              thisTestname = "%s.%s, %s" % (i,componentList[componentNumber][0],componentList[componentNumber][2])
+              thisTestname = "%s.%s, %s" \
+                % (i,dsconfig_subcommand,dsconfig_component1)
               i+=1
           </script>
           <message>'TRACE %s' % thisTestname</message>
@@ -57,7 +64,8 @@
               <sequence>
                 <call function="'testCase_Preamble'" />
                 <message>
-                    'Getting component %s, %s, %s, %s, %s' % (componentList[componentNumber][0], componentList[componentNumber][1], componentList[componentNumber][2], componentList[componentNumber][3], componentList[componentNumber][4])
+                    'Getting component %s, %s, %s, %s, %s' \
+                      % (dsconfig_subcommand, componentList[componentNumber][1], componentList[componentNumber][2], componentList[componentNumber][3], componentList[componentNumber][4])
                 </message>
                 
                 <if expr="componentList[componentNumber][0] == 'get-local-db-index-prop'">
@@ -66,9 +74,9 @@
                     'dsInstanceHost' : server.host ,
                     'dsInstanceDn'   : server.dn ,
                     'dsInstancePswd' : server.password , 
-                    'subcommand'     :  '%s' % componentList[componentNumber][0] ,
-                    'objectType'     :  '%s' % componentList[componentNumber][1] ,
-                    'objectName'     :  '%s' % componentList[componentNumber][2] ,
+                    'subcommand'     :  '%s' % dsconfig_subcommand ,
+                    'objectType'     :  '%s' % dsconfig_component1 ,
+                    'objectName'     :  '%s' % dsconfig_component2 ,
                     'optionsString'  :  '--backend-name %s' % DIRECTORY_INSTANCE_BE ,
                     'expectedRC'     : 0 
                   }
@@ -79,9 +87,9 @@
                     'dsInstanceHost' : server.host ,
                     'dsInstanceDn'   : server.dn ,
                     'dsInstancePswd' : server.password , 
-                    'subcommand'     :  '%s' % componentList[componentNumber][0] ,
-                    'objectType'     :  '%s' % componentList[componentNumber][1] ,
-                    'objectName'     :  '%s' % componentList[componentNumber][2] ,
+                    'subcommand'     :  '%s' % dsconfig_subcommand ,
+                    'objectType'     :  '%s' % dsconfig_component1 ,
+                    'objectName'     :  '%s' % dsconfig_component2 ,
                     'expectedRC'     : 0 
                   }
                   </call>
@@ -94,13 +102,13 @@
     
                 <call function="'searchStringForSubstring'">
                     { 'returnString'       : returnString ,
-                      'testString'         : componentList[componentNumber][3]  ,
+                      'testString'         : dsconfig_component3  ,
                       'expectedResult'     : '1' }
                 </call>
                 
                 <call function="'checktestString'">
                     { 'returnString'       : returnString ,
-                      'expectedString'     : componentList[componentNumber][4] }
+                      'expectedString'     : dsconfig_component4 }
                 </call>
                
               </sequence>
@@ -146,7 +154,10 @@
       <iterate var="dummyIndex" in="componentList">
         <sequence>
           <script>
-              thisTestname = componentList[componentNumber][0]
+              thisTestname = componentList[componentNumber][0].strip()
+              dsconfig_subcommand    = componentList[componentNumber][0].strip()
+              dsconfig_component1    = componentList[componentNumber][1].strip()
+              dsconfig_component2    = componentList[componentNumber][2].strip()
           </script>
           <testcase name="getTestCaseName(thisTestname)" >
             <try>
@@ -154,7 +165,8 @@
               <sequence>
                 <call function="'testCase_Preamble'" />
                 <message>
-                    'Getting component %s, %s, %s' % (componentList[componentNumber][0], componentList[componentNumber][1], componentList[componentNumber][2])
+                    'Getting component %s, %s, %s' \
+                      % (dsconfig_subcommand, dsconfig_component1, dsconfig_component2)                  
                 </message>
                 
                 <call function="'dsconfig'">
@@ -162,7 +174,7 @@
                     'dsInstanceHost' : server.host ,
                     'dsInstanceDn'   : server.dn ,
                     'dsInstancePswd' : server.password ,
-                    'subcommand'     :  '%s' % componentList[componentNumber][0] ,
+                    'subcommand'     :  '%s' % dsconfig_subcommand ,
                     'expectedRC'     : 0 
                   }
                 </call>
@@ -173,14 +185,16 @@
     
                 <call function="'searchStringForSubstring'">
                     { 'returnString'       : returnString ,
-                      'testString'         : componentList[componentNumber][1]  ,
+                      'testString'         : dsconfig_component1  ,
                       'expectedResult'     : '1' }
                 </call>
-                
-                <call function="'checktestString'">
-                    { 'returnString'       : returnString ,
-                      'expectedString'     : componentList[componentNumber][2] }
-                </call>
+
+                <if expr="dsconfig_component2 != ''">               
+                  <call function="'checktestString'">
+                      { 'returnString'       : returnString ,
+                        'expectedString'     : dsconfig_component2 }
+                  </call>
+                </if> 
 
               </sequence>
 
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_list/dsconfig_list_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_list/dsconfig_list_tests.xml
index ddb1dff..dae3845 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_list/dsconfig_list_tests.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_list/dsconfig_list_tests.xml
@@ -24,6 +24,7 @@
  ! CDDL HEADER END
  !
  !      Copyright 2007-2009 Sun Microsystems, Inc.
+ !      Portions Copyright 2011 ForgeRock AS.
  ! -->
 <stax>
 
@@ -46,7 +47,13 @@
       <iterate var="dummyIndex" in="componentList">  
   
         <sequence>
-    
+          
+          <script>
+            dsconfig_subcommand = componentList[componentNumber][0].strip()
+            dsconfig_component1 = componentList[componentNumber][1].strip()
+            dsconfig_component2 = componentList[componentNumber][2].strip()
+          </script>
+
           <testcase name="getTestCaseName(componentList[componentNumber][0])" >
 
             <try>        
@@ -54,7 +61,8 @@
               <sequence>
                 <call function="'testCase_Preamble'" />
                 <message>
-                    'Listing component %s, %s, %s' % (componentList[componentNumber][0], componentList[componentNumber][1], componentList[componentNumber][2])
+                    'Listing component %s, %s, %s' \
+                      % (dsconfig_subcommand, dsconfig_component1, dsconfig_component2)
                 </message>
                 
                 <if expr="componentList[componentNumber][0] == 'list-local-db-indexes'">
@@ -63,7 +71,7 @@
                     'dsInstanceHost' : server.host ,
                     'dsInstanceDn'   : server.dn ,
                     'dsInstancePswd' : server.password , 
-                    'subcommand'     : '%s' % componentList[componentNumber][0] ,
+                    'subcommand'     : '%s' % dsconfig_subcommand ,
                     'objectType'     : 'backend-name' ,
                     'objectName'     : server.backend ,
                     'expectedRC'     : 0 
@@ -75,7 +83,7 @@
                     'dsInstanceHost' : server.host ,
                     'dsInstanceDn'   : server.dn ,
                     'dsInstancePswd' : server.password , 
-                    'subcommand'     : '%s' % componentList[componentNumber][0] ,
+                    'subcommand'     : '%s' % dsconfig_subcommand ,
                     'expectedRC'     : 0 
                   }
                   </call>
@@ -88,13 +96,13 @@
             
                 <call function="'searchStringForSubstring'">
                     { 'returnString'       : returnString ,
-                      'testString'         : componentList[componentNumber][1]  ,
+                      'testString'         : dsconfig_component1  ,
                       'expectedResult'     : '1' }
                 </call>
                 
                 <call function="'checktestString'">
                     { 'returnString'       : returnString ,
-                      'expectedString'     : componentList[componentNumber][2] }
+                      'expectedString'     : dsconfig_component2 }
                 </call>
                 
               </sequence>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml
index 831de81..d4945e5 100755
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml
@@ -236,10 +236,10 @@
                           </call>
 
                           <!-- Check the STAFResult is expected class type -->
-                          <if expr='STAFResult.__class__ is not org.python.core.PyDictionary'>
+                          <if expr='STAFResult.__class__ is not PyDictionary'>
                             <sequence>
                               <message log="1" level="'Error'">
-                                'ERROR : Invalid result type (%s), requires org.python.core.PyDictionary.' % STAFResult.__class__
+                                'ERROR : Invalid result type (%s), requires PyDictionary.' % STAFResult.__class__
                               </message>
                               <throw exception="'STAXException.Results.TestCaseException'">
                                 'Result not a PyDictionary object.'
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/setup/security.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/setup/security.xml
index 4b15cbf..82af9d6 100644
--- a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/setup/security.xml
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/setup/security.xml
@@ -118,13 +118,13 @@
       <script>SEC_I2_REPL_PORT = STAXResult</script>
 
       <message>
-        'Got these free ports for I1: %s, %s, %s, %s' % (SEC_I1_PORT, \
-          SEC_I1_SPORT, SEC_I1_ADMIN_PORT, SEC_I1_REPL_PORT)
-        'Got these free ports for I2: %s, %s, %s, %s' % (SEC_I2_PORT, \
-          SEC_I2_SPORT, SEC_I2_ADMIN_PORT, SEC_I2_REPL_PORT)
+        'Got these free ports for I1: %s, %s, %s, %s' \
+          % (SEC_I1_PORT, SEC_I1_SPORT, SEC_I1_ADMIN_PORT, SEC_I1_REPL_PORT)
       </message>
-      
-      
+      <message>
+        'Got these free ports for I2: %s, %s, %s, %s' \
+          % (SEC_I2_PORT, SEC_I2_SPORT, SEC_I2_ADMIN_PORT, SEC_I2_REPL_PORT)
+      </message>      
 
       <!--- Test Case information
         #@TestMarker          Setup-Uninstall Security tests
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml
index 500e0fc..bbbc2ff 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml
@@ -76,6 +76,7 @@
         import re
         import os
         import sys
+        from org.python.core import PyString,PyUnicode,PyList,PyDictionary
       </script>
 
       <!-- Load in any additional Java classes -->
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
index a91c23f..88ddcdb 100755
--- a/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
+++ b/opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml
@@ -190,7 +190,7 @@
 
         <script>
           try:
-            if issueId.__class__ is org.python.core.PyList:
+            if issueId.__class__ is PyList:
                 for issue in issueId:
                   if int(issue) not in issuesList:
                     issuesList.append(int(issue))
@@ -298,8 +298,8 @@
       </script>
 
       <!-- Check that returnString is really a string or unicode -->
-      <if expr='returnString.__class__ is not org.python.core.PyString 
-        and returnString.__class__ is not org.python.core.PyUnicode'>
+      <if expr='returnString.__class__ is not PyString 
+        and returnString.__class__ is not PyUnicode'>
         <sequence>
           <message log="1" level="'Error'">
             'Invalid returnString type (%s), requires str or unicode.' \
@@ -415,8 +415,8 @@
       </script> 
 
       <!-- Check that returnString is really a string -->
-      <if expr='returnString.__class__ is not org.python.core.PyString
-        and returnString.__class__ is not org.python.core.PyUnicode'>
+      <if expr='returnString.__class__ is not PyString
+        and returnString.__class__ is not PyUnicode'>
         <sequence>
           <message log="1" level="'Error'">
             'ERROR : Invalid returnString type (%s), requires str or unicode.' \
@@ -826,7 +826,7 @@
         <location>STAXServiceMachine</location>
         <service>'delay'</service>
         <request>
-          'delay %i' % sleepForMilliSeconds
+          'delay %i' % int(sleepForMilliSeconds)
         </request>
       </stafcmd>
 
@@ -1028,6 +1028,16 @@
         testcaseDuration=testcaseStop-testcaseStart
         shortName=get_test_name(STAXCurrentTestcase)
 
+        xml=xmldoc_service()
+
+        repdoc = xml.parseXMLfile("%s/results_tmp.xml" % logs.reports)
+        
+        qa = repdoc.getDocumentElement()
+        ft = qa.getChildNodes().item(1)
+        results = ft.getChildNodes().item(3)
+        testgroup = results.getChildNodes().item(3)
+        testsuite = testgroup.getChildNodes().item(1)
+
         xml.testcase = repdoc.createElement("testcase")
         xml.createAttr(repdoc,xml.testcase,"name",STAXCurrentTestcase)
         xml.createAttr(repdoc,xml.testcase,"duration",testcaseDuration)
@@ -1039,12 +1049,7 @@
         xml.createAttr(repdoc,xml.testcase,"suite",ThisSuiteName)
         xml.createAttr(repdoc,xml.testcase,"info",information)
         
-        #TODO: handle org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR
-        import org.w3c.dom.DOMException
-        try:
-          xml.testsuite.appendChild(xml.testcase)
-        except org.w3c.dom.DOMException, e:
-          print "Caught %s." % e
+        testsuite.appendChild(xml.testcase)
 
         if len(issuesList)!=0:
           xml.issues = repdoc.createElement("issues")
@@ -1117,12 +1122,22 @@
           
         ThisGroupName=CurrentTestPath['group']  
         ThisSuiteName=CurrentTestPath['suite']
+
+        xml=xmldoc_service()
+
+        repdoc = xml.parseXMLfile("%s/results_tmp.xml" % logs.reports)
+        
+        qa = repdoc.getDocumentElement()
+        ft = qa.getChildNodes().item(1)
+        results = ft.getChildNodes().item(3)
+        testgroup = results.getChildNodes().item(3)
         
         #Create testsuite element
         xml.testsuite = repdoc.createElement("testsuite")
         xml.createAttr(repdoc,xml.testsuite,"name",ThisSuiteName)
         xml.createAttr(repdoc,xml.testsuite,"shortname",ThisSuiteName)
-        xml.testgroup.appendChild(xml.testsuite)
+
+        testgroup.appendChild(xml.testsuite)
         
         xml.writeXMLfile(repdoc,"%s/results_tmp.xml" % logs.reports)
 
@@ -4189,5 +4204,4 @@
     </sequence>
   </function>
 
-
 </stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/shared/python/common.py b/opendj-sdk/opends/tests/staf-tests/shared/python/common.py
index e1c6251..59785a6 100644
--- a/opendj-sdk/opends/tests/staf-tests/shared/python/common.py
+++ b/opendj-sdk/opends/tests/staf-tests/shared/python/common.py
@@ -55,7 +55,8 @@
             "list_matches" ,
             "count_attr" ,
             "host_is_localhost" ,
-            "md5_hash"]
+            "md5_hash"
+            ]
 
 class format_testcase:
   'Format the Test name objects'
@@ -175,8 +176,8 @@
     self.file2    = file2
     self.diffFile = diffFile
 
-  def genDiff(self):
-    from org.tmatesoft.svn.core.wc import *
+  def genDiff(self):    
+    from org.tmatesoft.svn.core.wc import DefaultSVNDiffGenerator
     from java.io import File
     from java.io import FileOutputStream
 
@@ -663,7 +664,7 @@
       from javax.xml.transform.dom import DOMSource
       tranFactory = TransformerFactory.newInstance();
       aTransformer = tranFactory.newTransformer();
-      aTransformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1")
+      aTransformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8")
       aTransformer.setOutputProperty(OutputKeys.INDENT, "yes")
 
       src = DOMSource(doc);
@@ -686,7 +687,7 @@
 
         tranFactory = TransformerFactory.newInstance();
         aTransformer = tranFactory.newTransformer();
-        aTransformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1")
+        aTransformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8")
         aTransformer.setOutputProperty(OutputKeys.INDENT, "yes");
         aTransformer.transform(xmlInput, xmlOutput);
 
@@ -845,3 +846,5 @@
     import md5
     m = md5.new()
   return m
+
+        
\ No newline at end of file

--
Gitblit v1.10.0