mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Gary Williams
05.40.2011 7d04e061b809e040d2851f9ec77ee610234def9c
Prepare functional tests for upgrade to stax351 based on jython 2.5.2
7 files modified
144 ■■■■■ changed files
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_get/dsconfig_get_tests.xml 52 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsconfig/dsconfig_list/dsconfig_list_tests.xml 20 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/dsml/dsml_test.xml 4 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/setup/security.xml 12 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/staf-tests/shared/functions/environment.xml 1 ●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/staf-tests/shared/functions/utils.xml 42 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/staf-tests/shared/python/common.py 13 ●●●●● patch | view | raw | blame | history
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>
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>
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.'
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
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 -->
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>
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