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

Christophe Sovant
22.01.2009 105e549dd5d37cb212a163d8e4e70e459a81e680
Add backends/dbparams testsuite
2 files added
1 files modified
1568 ■■■■■ changed files
opends/tests/staf-tests/functional-tests/testcases/backends/backends.xml 1 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/dbparams/dbparams.xml 154 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/dbparams/dbparams_tests.xml 1413 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/backends/backends.xml
@@ -58,6 +58,7 @@
#            suiteList.append('export-tasks')
            suiteList.append('backup')
            suiteList.append('restore')
            suiteList.append('dbparams')
          </script>
          <!-- Run the test suites -->
opends/tests/staf-tests/functional-tests/testcases/backends/dbparams/dbparams.xml
New file
@@ -0,0 +1,154 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_dbparams"/>
  <function name="main_dbparams" scope="local">
    <sequence>
      <block name="'main_dbparams'">
        <try>
          <sequence>
            <script>
              CurrentTestPath['group']='backends'
              CurrentTestPath['suite']='dbparams'
              __group=CurrentTestPath['group']
              __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
            </script>
            <!--- Test Suite information
              #@TestSuiteName       Backend Dbparams Tests
              #@TestSuitePurpose    Verify that the db paramters are working in the Directory Server.
              #@TestSuiteGroup      Dbparams
              #@TestScript          dbparams.xml
            -->
            <call function="'testSuite_Preamble'"/>
            <try>
              <sequence>
                <call function="'common_setup'">
                  {
                    'quickStart'  : False ,
                    'startServer' : True ,
                    'loadData'    : False ,
                    'stopServer'  : False
                  }
                </call>
                <!-- List of Import of Test Functions -->
                <script>
                  dbparamsList=[]
                  dbparamsList.append('dbparams/dbparams_tests')
                </script>
                <!-- Import the files for this test suite -->
                <iterate var="__dbparams" in="dbparamsList">
                  <import machine="STAF_LOCAL_HOSTNAME"
                    file="'%s/%s.xml' % (__groupdir,__dbparams)"/>
                </iterate>
                <!-- List of Test Cases -->
                <script>
                  testsList=[]
                  testsList.append('backends_dbparams_001')
                  testsList.append('backends_dbparams_002')
                  testsList.append('backends_dbparams_003')
                  testsList.append('backends_dbparams_004')
                  testsList.append('backends_dbparams_005')
                  testsList.append('backends_dbparams_006')
                  testsList.append('backends_dbparams_007')
                  testsList.append('backends_dbparams_008')
                  testsList.append('backends_dbparams_009')
                  testsList.append('backends_dbparams_010')
                  testsList.append('backends_dbparams_011')
                  testsList.append('backends_dbparams_012')
                  testsList.append('backends_dbparams_013')
                  testsList.append('backends_dbparams_014')
                  testsList.append('backends_dbparams_015')
                  testsList.append('backends_dbparams_016')
                  testsList.append('backends_dbparams_017')
                  testsList.append('backends_dbparams_018')
                  testsList.append('backends_dbparams_019')
                  testsList.append('backends_dbparams_020')
                  testsList.append('backends_dbparams_021')
                  testsList.append('backends_dbparams_022')
                  testsList.append('backends_dbparams_023')
                  testsList.append('backends_dbparams_024')
                  testsList.append('backends_dbparams_025')
                  testsList.append('backends_dbparams_026')
                  testsList.append('backends_dbparams_027')
                </script>
                <!-- Execute the Tests -->
                <iterate var="__test" in="testsList">
                  <sequence>
                    <call function="'%s' % (__test)" />
                  </sequence>
                </iterate>
              </sequence>
            <catch exception="'STAFException.TestSuite.SetupException'">
              <sequence>
                <message log="1" level="'fatal'">
                  'Setup of test suite failed.'
                </message>
                <rethrow/>
              </sequence>
            </catch>
            <finally>
              <message>'Test Cases Completed.'</message>
            </finally>
            </try>
          </sequence>
          <finally>
            <sequence>
              <!-- Test Suite Cleanup -->
              <message>'Finally: Global Schema Cleanup.'</message>
              <try>
                <call function="'common_cleanup'" />
              <catch exception="'STAFException'">
                <sequence>
                  <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
                </sequence>
              </catch>
              <finally>
                <call function="'testSuite_Postamble'"/>
              </finally>
              </try>
            </sequence>
          </finally>
        </try>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/staf-tests/functional-tests/testcases/backends/dbparams/dbparams_tests.xml
New file
@@ -0,0 +1,1413 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2009 Sun Microsystems, Inc.
 ! -->
<stax>
  <!-- ======================================================= -->
  <!-- ======================================================= -->
  <!-- ======= Code factorization for these test cases ======= -->
  <!-- ======================================================= -->
  <!-- ======================================================= -->
  <function name="cannot_change" scope="local">
    <function-map-args>
      <function-required-arg name="propName"></function-required-arg>
      <function-required-arg name="propValue"></function-required-arg>
    </function-map-args>
    <sequence>
      <!-- Try to change the property -->
      <script>
        options = '--advanced --backend-name userRoot --set %s:%s' \
                  % (propName , propValue)
      </script>
      <message>
        '===== options = %s' % options
      </message>
      <call function="'dsconfig'">
        {
        'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
        'dsInstanceDn'   : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'     : 'set-backend-prop' ,
        'optionsString'  : options ,
        'expectedRC'     : 1
        }
      </call>
      <script>
        returnString = STAXResult[0][1]
      </script>
      <!-- Ensure we get the correct error message -->
      <message>
        '===== Looking for appropriate error message'
      </message>
      <script>
        expectedString = 'The Local DB Backend property "%s" is read-only and \
        cannot be modified' % propName
      </script>
      <message>
        '===== expectedString = %s' % expectedString
      </message>
      <call function="'checktestString'">
        {
        'returnString'   : returnString ,
        'expectedString' : expectedString
        }
      </call>
    </sequence>
  </function>
  <function name="can_change" scope="local">
    <function-map-args>
      <function-required-arg name="propName"></function-required-arg>
      <function-required-arg name="propValue"></function-required-arg>
    </function-map-args>
    <sequence>
      <!-- Get the original value -->
      <script>
        options = '--advanced --backend-name userRoot --property %s' % propName
      </script>
      <call function="'GetDSConfigProperties'">
        {
        'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST ,
        'dsInstanceDn'    : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'      : 'get-backend-prop' ,
        'optionsString'   : options ,
        'myVariableName'  : 'ORIGINAL'
        }
      </call>
      <message>
        '===== Read : %s' % ORIGINAL[propName]
      </message>
      <!-- Change the value -->
      <script>
        modifs = '--backend-name userRoot --set %s:"%s"' % (propName,propValue)
      </script>
      <call function="'dsconfig'">
        {
        'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
        'dsInstanceDn'   : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'     : 'set-backend-prop' ,
        'optionsString'  : modifs ,
        'expectedRC'     : 0
        }
      </call>
      <!-- Read the (new) value -->
      <message>
        '===== Ensure the property is really changed'
      </message>
      <call function="'GetDSConfigProperties'">
        {
        'dsInstanceHost'  : DIRECTORY_INSTANCE_HOST ,
        'dsInstanceDn'    : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'      : 'get-backend-prop' ,
        'optionsString'   : options ,
        'myVariableName'  : 'CHANGED'
        }
      </call>
      <message>
        '===== Read : %s ' % CHANGED[propName]
      </message>
      <!-- Verify that the new value is the expected one -->
      <if expr="CHANGED[propName] == propValue">
        <message>
          '===== Ok, value changed as expected...'
        </message>
        <else>
          <sequence>
            <message>
            '===== Error bad value, expecting %s but read %s' \
            % (propValue,CHANGED[propName])
            </message>
            <tcstatus result="'fail'"></tcstatus>
          </sequence>
        </else>
      </if>
      <!-- Restore original value -->
      <!-- Note that if the value is "-" i.e. empty, we should use \-\-reset -->
      <message>
        '===== Restoring original value'
      </message>
      <if expr="ORIGINAL[propName] == ''">
        <script>
          modifs = '--backend-name userRoot --reset %s' % propName
        </script>
        <else>
          <script>
          modifs = '--backend-name userRoot --set %s:"%s"' \
                   % (propName,ORIGINAL[propName])
          </script>
        </else>
      </if>
      <call function="'dsconfig'">
        {
        'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
        'dsInstanceDn'   : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'     : 'set-backend-prop' ,
        'optionsString'  : modifs ,
        'expectedRC'     : 0
        }
      </call>
      <script>
        returnString = STAXResult[0][1]
      </script>
    </sequence>
  </function>
  <!-- ======================================================= -->
  <!-- ======================================================= -->
  <!-- ======================================================= -->
  <!-- ======================================================= -->
  <!-- ======================================================= -->
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: backend-id
    #@TestIssue           none
    #@TestPurpose         Ensure that backend-id cannot be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has not been changed
  -->
  <function name="backends_dbparams_001" scope="local">
    <testcase name="getTestCaseName('backend-id')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Ensure that backend-id cannot be changed'
          </message>
          <call function="'cannot_change'">
            {
            'propName'  : 'backend-id' ,
            'propValue' : 'foo'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: base-dn
    #@TestIssue           none
    #@TestPurpose         Ensure that base-dn could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_002" scope="local">
    <testcase name="getTestCaseName('base-dn')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Ensure that base-dn could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'base-dn' ,
            'propValue' : 'o=foo'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: compact-encoding
    #@TestIssue           none
    #@TestPurpose         Ensure that compact-encoding could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_003" scope="local">
    <testcase name="getTestCaseName('compact-encoding')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Ensure that compact-encoding could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'compact-encoding' ,
            'propValue' : 'false'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-cache-percent
    #@TestIssue           none
    #@TestPurpose         Ensure that db-cache-percent could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_004" scope="local">
    <testcase name="getTestCaseName('db-cache-percent')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Ensure that db-cache-percent could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-cache-percent' ,
            'propValue' : '22'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-cache-size
    #@TestIssue           none
    #@TestPurpose         Ensure that db-cache-size could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_005" scope="local">
    <testcase name="getTestCaseName('db-cache-size')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Ensure that db-cache-size could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-cache-size' ,
            'propValue' : '100 kb'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-checkpointer-bytes-interval
    #@TestIssue           none
    #@TestPurpose         Ensure that db-checkpointer-bytes-interval could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_006" scope="local">
    <testcase name="getTestCaseName('db-checkpointer-bytes-interval')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-checkpointer-bytes-interval could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-checkpointer-bytes-interval' ,
            'propValue' : '10 mb'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-checkpointer-wakeup-interval
    #@TestIssue           none
    #@TestPurpose         Ensure that db-checkpointer-wakeup-interval could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_007" scope="local">
    <testcase name="getTestCaseName('db-checkpointer-wakeup-interval')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-checkpointer-wakeup-interval could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-checkpointer-wakeup-interval' ,
            'propValue' : '90 s'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-cleaner-min-utilization
    #@TestIssue           none
    #@TestPurpose         Ensure that db-cleaner-min-utilization could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_008" scope="local">
    <testcase name="getTestCaseName('db-cleaner-min-utilization')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-cleaner-min-utilization could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-cleaner-min-utilization' ,
            'propValue' : '80'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-directory
    #@TestIssue           none
    #@TestPurpose         Ensure that db-directory could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_009" scope="local">
    <testcase name="getTestCaseName('db-directory')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-directory could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-directory' ,
            'propValue' : 'mydb'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-directory-permissions
    #@TestIssue           none
    #@TestPurpose         Ensure that db-directory-permissions could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_010" scope="local">
    <testcase name="getTestCaseName('db-directory-permissions')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-directory-permissions could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-directory-permissions' ,
            'propValue' : '777'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-evictor-lru-only
    #@TestIssue           none
    #@TestPurpose         Ensure that db-evictor-lru-only could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_011" scope="local">
    <testcase name="getTestCaseName('db-evictor-lru-only')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-evictor-lru-only could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-evictor-lru-only' ,
            'propValue' : 'false'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-evictor-nodes-per-scan
    #@TestIssue           none
    #@TestPurpose         Ensure that db-evictor-nodes-per-scan could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_012" scope="local">
    <testcase name="getTestCaseName('db-evictor-nodes-per-scan')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-evictor-nodes-per-scan could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-evictor-nodes-per-scan' ,
            'propValue' : '20'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-log-file-max
    #@TestIssue           none
    #@TestPurpose         Ensure that db-log-file-max could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_013" scope="local">
    <testcase name="getTestCaseName('db-log-file-max')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-log-file-max could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-log-file-max' ,
            'propValue' : '30 mb'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-logging-file-handler-on
    #@TestIssue           none
    #@TestPurpose         Ensure that db-logging-file-handler-on could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_014" scope="local">
    <testcase name="getTestCaseName('db-logging-file-handler-on')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-logging-file-handler-on could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-logging-file-handler-on' ,
            'propValue' : 'false'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-logging-level
    #@TestIssue           none
    #@TestPurpose         Ensure that db-logging-level could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_015" scope="local">
    <testcase name="getTestCaseName('db-logging-level')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-logging-level could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-logging-level' ,
            'propValue' : 'SEVERE'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-num-cleaner-threads
    #@TestIssue           none
    #@TestPurpose         Ensure that db-num-cleaner-threads could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_016" scope="local">
    <testcase name="getTestCaseName('db-num-cleaner-threads')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-num-cleaner-threads could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-num-cleaner-threads' ,
            'propValue' : '2'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-num-lock-tables
    #@TestIssue           none
    #@TestPurpose         Ensure that db-num-lock-tables could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_017" scope="local">
    <testcase name="getTestCaseName('db-num-lock-tables')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-num-lock-tables could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-num-lock-tables' ,
            'propValue' : '17'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-run-cleaner
    #@TestIssue           none
    #@TestPurpose         Ensure that db-run-cleaner could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_018" scope="local">
    <testcase name="getTestCaseName('db-run-cleaner')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-run-cleaner could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-run-cleaner' ,
            'propValue' : 'false'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-txn-no-sync
    #@TestIssue           none
    #@TestPurpose         Ensure that db-txn-no-sync could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_019" scope="local">
    <testcase name="getTestCaseName('db-txn-no-sync')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-txn-no-sync could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-txn-no-sync' ,
            'propValue' : 'true'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: db-txn-write-no-sync
    #@TestIssue           none
    #@TestPurpose         Ensure that db-txn-write-no-sync could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_020" scope="local">
    <testcase name="getTestCaseName('db-txn-write-no-sync')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that db-txn-write-no-sync could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'db-txn-write-no-sync' ,
            'propValue' : 'false'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: enabled
    #@TestIssue           none
    #@TestPurpose         Ensure that enabled could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_021" scope="local">
    <testcase name="getTestCaseName('enabled')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that enabled could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'enabled' ,
            'propValue' : 'false'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: entries-compressed
    #@TestIssue           none
    #@TestPurpose         Ensure that entries-compressed could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_022" scope="local">
    <testcase name="getTestCaseName('entries-compressed')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that entries-compressed could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'entries-compressed' ,
            'propValue' : 'true'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: import-queue-size
    #@TestIssue           none
    #@TestPurpose         Ensure that import-queue-size could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_023" scope="local">
    <testcase name="getTestCaseName('import-queue-size')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that import-queue-size could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'import-queue-size' ,
            'propValue' : '2381'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: import-thread-count
    #@TestIssue           none
    #@TestPurpose         Ensure that import-thread-count could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_024" scope="local">
    <testcase name="getTestCaseName('import-thread-count')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that import-thread-count could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'import-thread-count' ,
            'propValue' : '22'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: index-entry-limit
    #@TestIssue           none
    #@TestPurpose         Ensure that index-entry-limit could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_025" scope="local">
    <testcase name="getTestCaseName('index-entry-limit')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that index-entry-limit could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'index-entry-limit' ,
            'propValue' : '3282'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: preload-time-limit
    #@TestIssue           none
    #@TestPurpose         Ensure that preload-time-limit could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_026" scope="local">
    <testcase name="getTestCaseName('preload-time-limit')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that preload-time-limit could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'preload-time-limit' ,
            'propValue' : '15000 ms'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: writability-mode
    #@TestIssue           none
    #@TestPurpose         Ensure that writability-mode could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <function name="backends_dbparams_027" scope="local">
    <testcase name="getTestCaseName('writability-mode')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
                'Ensure that writability-mode could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'writability-mode' ,
            'propValue' : 'disabled'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  <!-- Need a real implementation for this property... -->
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: java-class
    #@TestIssue           none
    #@TestPurpose         Ensure that java-class could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <!--
  <function name="backends_dbparams_028" scope="local">
    <testcase name="getTestCaseName('java-class')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Ensure that java-class could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'java-class' ,
            'propValue' : 'org.opends.server.backends.jeb.MyBackenImpl'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  -->
  <!-- Waiting for a fix to issue 3358 - Document possible values of
       backend's je-property -->
  <!--- Test Case information
    #@TestMarker          Backend Dbparams Tests
    #@TestName            Dbparams: je-property
    #@TestIssue           none
    #@TestPurpose         Ensure that je-property could be changed
    #@TestPreamble        none
    #@TestStep            Call can_change function
    #@TestPostamble       none
    #@TestResult          Success if the db param has been changed
  -->
  <!--
  <function name="backends_dbparams_029" scope="local">
    <testcase name="getTestCaseName('je-property')">
      <try>
        <sequence>
          <call function="'testCase_Preamble'"/>
          <message>
            'Ensure that je-property could be changed'
          </message>
          <call function="'can_change'">
            {
            'propName'  : 'je-property' ,
            'propValue' : 'foo=bar'
            }
          </call>
          <call function="'testCase_Postamble'"/>
        </sequence>
        <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
          <message log="1" level="'fatal'">
            '%s: Test failed. eInfo(%s)' % (eType,eInfo)
          </message>
        </catch>
        <finally>
          <call function="'testCase_Postamble'"/>
        </finally>
      </try>
    </testcase>
  </function>
  -->
</stax>