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

tdj_tx
16.41.2006 e556c1175386e41b5aef9153071a40c1e66af8dd
Added core testcases
7 files added
1455 ■■■■■ changed files
opends/tests/functional-tests/testcases/core/core.xml 159 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/core/core_entry_cache.xml 217 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/core/core_search_sizelimit.xml 339 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/core/core_search_timelimit.xml 339 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/core/core_setup.xml 123 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/core/core_tf_filters.xml 174 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/core/core_version_report.xml 104 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/core/core.xml
New file
@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "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
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 -->
<stax>
  <defaultcall function="main_core"/>
  <function name="main_core">
      <sequence>
      <script>
          STAXLogMessage = 1
          SRCFILE = '%s/%s' % (ZIPPATH,ZIPNAME)
          DSTFILE = '%s/%s' % (TMPDIR,ZIPNAME)
          OPENDS_BINPATH = '%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
      </script>
      <!--- Import all the shared libraries
            may be we should have a loadlibs.xml to
            load all the libs -->
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/utils.xml' % (TESTS_FUNCTIONS_DIR)"/>
      <!--- Set OS related variables on remote host -->
      <message>
          'Set OS related variables on remote host.'
      </message>
      <call function="'setOSvariables'">
          { 'hostname' : STAF_REMOTE_HOSTNAME }
      </call>
      <script>OSName= STAXResult</script>
      <if expr="OSName == 'Win2003'">
        <script>fileExt= 'bat'</script>
      <else>
        <script>fileExt= 'sh'</script>
      </else>
      </if>
<parallel>
    <block name="'Block DS Process Active'">
      <!--- Test Case : Start DS -->
      <testcase name="'StartDS'">
        <sequence>
          <message>
             'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
          </message>
          <!--- Start DS -->
          <call function="'startDS'">
            { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
          </call>
          <call function="'checktestRC'">
              { 'returncode' : RC ,
                'result'     : STAXResult }
          </call>
        </sequence>
      </testcase>
     <!--- End Block DS Process Active -->
     </block>
     <block name="'Block Clients'">
      <sequence>
        <!--- Check that DS started -->
        <call function="'isAlive'">
          { 'noOfLoops'        : 5 ,
            'noOfMilliSeconds' : 2000 }
        </call>
        <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/testcases/core/core_setup.xml' % (TESTS_DIR)"/>
        <call function="'core_setup'" />
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/testcases/core/core_entry_cache.xml' % (TESTS_DIR)"/>
        <call function="'core_entry_cache'" />
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/testcases/core/core_search_sizelimit.xml' % (TESTS_DIR)"/>
        <call function="'core_search_sizelimit'" />
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/testcases/core/core_search_timelimit.xml' % (TESTS_DIR)"/>
        <call function="'core_search_timelimit'" />
        <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/testcases/core/core_tf_filters.xml' % (TESTS_DIR)"/>
        <call function="'core_tf_filters'" />
        <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/testcases/core/core_version_report.xml' % (TESTS_DIR)"/>
        <call function="'core_version_report'" />
        <!--- Test Case : Stop DS -->
        <testcase name="'StopDS'">
          <sequence>
            <message>
               'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
            </message>
            <call function="'stopDS'">
              { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT) }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <return>RC</return>
      </sequence>
       <!--- End Block Clients -->
       </block>
</parallel>
     </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/core/core_entry_cache.xml
New file
@@ -0,0 +1,217 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "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
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 -->
<stax>
  <defaultcall function="core_entry_cache"/>
  <function name="core_entry_cache">
      <sequence>
      <script>
          STAXLogMessage = 1
          SRCFILE = '%s/%s' % (ZIPPATH,ZIPNAME)
          DSTFILE = '%s/%s' % (TMPDIR,ZIPNAME)
          OPENDS_BINPATH = '%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
      </script>
      <!--- Import all the shared libraries
            may be we should have a loadlibs.xml to
            load all the libs -->
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/utils.xml' % (TESTS_FUNCTIONS_DIR)"/>
      <!--- Set OS related variables on remote host -->
      <message>
          'Set OS related variables on remote host.'
      </message>
      <call function="'setOSvariables'">
          { 'hostname' : STAF_REMOTE_HOSTNAME }
      </call>
      <script>OSName= STAXResult</script>
      <if expr="OSName == 'Win2003'">
        <script>fileExt= 'bat'</script>
      <else>
        <script>fileExt= 'sh'</script>
      </else>
      </if>
        <!--- Check that DS started -->
        <call function="'isAlive'">
          { 'noOfLoops'        : 5 ,
            'noOfMilliSeconds' : 2000 }
        </call>
        <!--- Test Case : Entry Cache 1 -->
        <testcase name="'Core: Entry Cache 1'">
          <sequence>
            <message>
               'Check the response of OpenDS when an ldap search request is conducted with a single pipe character ("|") for an existing entry'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'cn=version,cn=monitor' ,
        'dsFilter'         : '|' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <!--- Test Case : Entry Cache 2 -->
        <testcase name="'Core: Entry Cache 2'">
          <sequence>
            <message>
               'Enable the default entry cache'
            </message>
            <call function="'modifyEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeModified'   : '%s/core/ldifs/mod_entrycache2.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                <!--- Test Case : Entry Cache 3 -->
        <testcase name="'Core: Entry Cache 3'">
          <sequence>
            <message>
               'Add three attributes to cn=Entry Cache,cn=config'
            </message>
            <call function="'modifyEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeModified'   : '%s/core/ldifs/mod_entrycache3.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                       <!--- Test Case : Entry Cache 4 -->
        <testcase name="'Core: Entry Cache 4'">
          <sequence>
            <message>
               'Add one attribute that is not allowed under cn=Entry Cache,cn=config'
            </message>
            <call function="'modifyEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeModified'   : '%s/core/ldifs/mod_entrycache4.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 65 }
            </call>
          </sequence>
        </testcase>
                               <!--- Test Case : Entry Cache 5 -->
        <testcase name="'Core: Entry Cache 5'">
          <sequence>
            <message>
               'Add second entry cache which is an object of the ds-cfg-fifo-entry-cache class'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_entrycache5.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                                       <!--- Test Case : Entry Cache 6 -->
        <testcase name="'Core: Entry Cache 6'">
          <sequence>
            <message>
               'Check the response of OpenDS when an ldap search request is conducted'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <return>RC</return>
     </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/core/core_search_sizelimit.xml
New file
@@ -0,0 +1,339 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "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
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 -->
<stax>
  <defaultcall function="core_search_sizelimit"/>
  <function name="core_search_sizelimit">
      <sequence>
      <script>
          STAXLogMessage = 1
          SRCFILE = '%s/%s' % (ZIPPATH,ZIPNAME)
          DSTFILE = '%s/%s' % (TMPDIR,ZIPNAME)
          OPENDS_BINPATH = '%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
      </script>
      <!--- Import all the shared libraries
            may be we should have a loadlibs.xml to
            load all the libs -->
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/utils.xml' % (TESTS_FUNCTIONS_DIR)"/>
      <!--- Set OS related variables on remote host -->
      <message>
          'Set OS related variables on remote host.'
      </message>
      <call function="'setOSvariables'">
          { 'hostname' : STAF_REMOTE_HOSTNAME }
      </call>
      <script>OSName= STAXResult</script>
      <if expr="OSName == 'Win2003'">
        <script>fileExt= 'bat'</script>
      <else>
        <script>fileExt= 'sh'</script>
      </else>
      </if>
        <!--- Check that DS started -->
        <call function="'isAlive'">
          { 'noOfLoops'        : 5 ,
            'noOfMilliSeconds' : 2000 }
        </call>
        <!--- Test Case : Search Size Limit 1 -->
        <testcase name="'Core: Search Size Limit 1'">
          <sequence>
            <message>
               'Core SSzL1: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined in the command line and the search size is exceeed '
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '-z 150' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 4 }
            </call>
          </sequence>
        </testcase>
        <!--- Test Case : Search Size Limit 2 -->
        <testcase name="'Core: Search Size Limit 2'">
          <sequence>
            <message>
               'Core SSzL2: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined in the command line and the search size is not exceeed'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '-z 151' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
         <!--- Test Case : Search Size Limit 3 -->
        <testcase name="'Core: Search Size Limit 3'">
          <sequence>
            <message>
               'Core SSzL3: Change the server-wide search size limit to 5'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_searchsizelimit.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                <!--- Test Case : Search Size Limit 4 -->
        <testcase name="'Core: Search Size Limit 4'">
          <sequence>
            <message>
               'Core SSzL4: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined by the server-wide parameter, ds-cfg-size-limit, and the search size limit is exceeded'
            </message>
            <call function="'AnonSearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 4 }
            </call>
          </sequence>
        </testcase>
                 <!--- Test Case : Search Size Limit 5 -->
        <testcase name="'Core: Search Size Limit 5'">
          <sequence>
            <message>
               'Core SSzL5: Change the server-wide search size limit to 1000'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_searchsizelimit2.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                <!--- Test Case : Search Size Limit 6 -->
        <testcase name="'Core: Search Size Limit 6'">
          <sequence>
            <message>
               'Core SSzL6: Check the response of OpenDS when an ldap search request is conducted with a search size limit defined by the server-wide parameter, ds-cfg-size-limit, and the search size limit is not exceeded'
            </message>
            <call function="'AnonSearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                         <!--- Test Case : Search Size Limit 7 -->
        <testcase name="'Core: Search Size Limit 7'">
          <sequence>
            <message>
               'Core SSzL7: Change the search size limit for cn=Directory Manager to 5'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_searchsizelimit3.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                        <!--- Test Case : Search Size Limit 8 -->
        <testcase name="'Core: Search Size Limit 8'">
          <sequence>
            <message>
               'Core SSzL8: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined by the user-specific parameter, ds-rlim-size-limit, and the search size limit is exceeded'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 4 }
            </call>
          </sequence>
        </testcase>
                                <!--- Test Case : Search Size Limit 9 -->
        <testcase name="'Core: Search Size Limit 9'">
          <sequence>
            <message>
               'Core SSzL9: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined by the user-specific parameter, ds-rlim-size-limit, and the search is conducted as a bind to a different user'
            </message>
            <call function="'AnonSearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                                 <!--- Test Case : Search Size Limit 10 -->
        <testcase name="'Core: Search Size Limit 10'">
          <sequence>
            <message>
               'Core SSzL10: Change the search size limit for cn=Directory Manager to -1'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_searchsizelimit4.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                                        <!--- Test Case : Search Size Limit 11 -->
        <testcase name="'Core: Search Size Limit 11'">
          <sequence>
            <message>
               'Core SSzL11: Check the response of OpenDS when an ldap search request is conducted with a user search size limit defined as "unlimited" by the user-specific parameter, ds-rlim-size-limit, equal to -1 and the search is against 1150 entries'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'ou=People,o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <return>RC</return>
     </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/core/core_search_timelimit.xml
New file
@@ -0,0 +1,339 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "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
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 -->
<stax>
  <defaultcall function="core_search_timelimit"/>
  <function name="core_search_timelimit">
      <sequence>
      <script>
          STAXLogMessage = 1
          SRCFILE = '%s/%s' % (ZIPPATH,ZIPNAME)
          DSTFILE = '%s/%s' % (TMPDIR,ZIPNAME)
          OPENDS_BINPATH = '%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
      </script>
      <!--- Import all the shared libraries
            may be we should have a loadlibs.xml to
            load all the libs -->
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/utils.xml' % (TESTS_FUNCTIONS_DIR)"/>
      <!--- Set OS related variables on remote host -->
      <message>
          'Set OS related variables on remote host.'
      </message>
      <call function="'setOSvariables'">
          { 'hostname' : STAF_REMOTE_HOSTNAME }
      </call>
      <script>OSName= STAXResult</script>
      <if expr="OSName == 'Win2003'">
        <script>fileExt= 'bat'</script>
      <else>
        <script>fileExt= 'sh'</script>
      </else>
      </if>
        <!--- Check that DS started -->
        <call function="'isAlive'">
          { 'noOfLoops'        : 5 ,
            'noOfMilliSeconds' : 2000 }
        </call>
        <!--- Test Case : Search Time Limit 1 -->
        <testcase name="'Core: Search Time Limit 1'">
          <sequence>
            <message>
               'Core STmL1: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined in the command line and the search time is exceeeded'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '-l 1' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 3 }
            </call>
          </sequence>
        </testcase>
        <!--- Test Case : Search Time Limit 2 -->
        <testcase name="'Core: Search Time Limit 2'">
          <sequence>
            <message>
               'Core STmL2: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined in the command line and the search time is not exceeed'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '-l 100' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
         <!--- Test Case : Search Time Limit 3 -->
        <testcase name="'Core: Search Time Limit 3'">
          <sequence>
            <message>
               'Core STmL3: Change the server-wide search time limit to 1'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_timelimit.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                <!--- Test Case : Search Time Limit 4 -->
        <testcase name="'Core: Search Time Limit 4'">
          <sequence>
            <message>
               'Core STmL4: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined by the server-wide parameter, ds-cfg-time-limit, and the search time limit is exceeded'
            </message>
            <call function="'AnonSearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsBaseDN'         : 'o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 3 }
            </call>
          </sequence>
        </testcase>
                 <!--- Test Case : Search Time Limit 5 -->
        <testcase name="'Core: Search Time Limit 5'">
          <sequence>
            <message>
               'Core STmL5: Change the server-wide search time limit to 60'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_timelimit2.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                <!--- Test Case : Search Time Limit 6 -->
        <testcase name="'Core: Search Time Limit 6'">
          <sequence>
            <message>
               'Core STmL6: Check the response of OpenDS when an ldap search request is conducted with a search time limit defined by the server-wide parameter, ds-cfg-time-limit, and the search time limit is not exceeded'
            </message>
            <call function="'AnonSearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsBaseDN'         : 'o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                         <!--- Test Case : Search Time Limit 7 -->
        <testcase name="'Core: Search Time Limit 7'">
          <sequence>
            <message>
               'Core STmL7: Change the search time limit for cn=Directory Manager to 1'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_timelimit3.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                        <!--- Test Case : Search Time Limit 8 -->
        <testcase name="'Core: Search Time Limit 8'">
          <sequence>
            <message>
               'Core STmL8: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter, ds-rlim-time-limit, and the search time limit is exceeded'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 3 }
            </call>
          </sequence>
        </testcase>
                                <!--- Test Case : Search Time Limit 9 -->
        <testcase name="'Core: Search Time Limit 9'">
          <sequence>
            <message>
               'Core STmL9: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter, ds-rlim-time-limit, and the search is conducted as a bind to a different user'
            </message>
            <call function="'AnonSearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsBaseDN'         : 'o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                                 <!--- Test Case : Search Time Limit 10 -->
        <testcase name="'Core: Search Time Limit 10'">
          <sequence>
            <message>
               'Core STmL10: Change the search time limit for cn=Directory Manager to 60'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/mod_timelimit4.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
                                        <!--- Test Case : Search Time Limit 11 -->
        <testcase name="'Core: Search Time Limit 11'">
          <sequence>
            <message>
               'Core STmL11: Check the response of OpenDS when an ldap search request is conducted with a user search time limit defined by the user-specific parameter ds-rlim-time-limit, equal to 60 and the search is conducted against 1150 entries'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'o=core tests,dc=example,dc=com' ,
        'dsFilter'         : 'objectclass=*' ,
                'extraParams'      : '' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <return>RC</return>
     </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/core/core_setup.xml
New file
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "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
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 -->
<stax>
  <defaultcall function="core_setup"/>
  <function name="core_setup">
      <sequence>
      <script>
          STAXLogMessage = 1
          SRCFILE = '%s/%s' % (ZIPPATH,ZIPNAME)
          DSTFILE = '%s/%s' % (TMPDIR,ZIPNAME)
          OPENDS_BINPATH = '%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
      </script>
      <!--- Import all the shared libraries
            may be we should have a loadlibs.xml to
            load all the libs -->
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/utils.xml' % (TESTS_FUNCTIONS_DIR)"/>
      <!--- Set OS related variables on remote host -->
      <message>
          'Set OS related variables on remote host.'
      </message>
      <call function="'setOSvariables'">
          { 'hostname' : STAF_REMOTE_HOSTNAME }
      </call>
      <script>OSName= STAXResult</script>
      <if expr="OSName == 'Win2003'">
        <script>fileExt= 'bat'</script>
      <else>
        <script>fileExt= 'sh'</script>
      </else>
      </if>
        <!--- Check that DS started -->
        <call function="'isAlive'">
          { 'noOfLoops'        : 5 ,
            'noOfMilliSeconds' : 2000 }
        </call>
          <!--- Test Case : Add required entries -->
        <testcase name="'Core: Add required entries'">
          <sequence>
            <message>
               'Add entries that are required for the Core Tests'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/core_start.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
           <!--- Test Case : To add 1000 extra entries that are required for some of the Core Tests -->
        <testcase name="'Core: Add 1000 extra entries'">
          <sequence>
            <message>
               'Add 1000 extra entries that are required for some of the Core Tests'
            </message>
            <call function="'addEntry'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/core/ldifs/core_test_1K.ldif' % LDIF_DATA_DIR }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <return>RC</return>
     </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/core/core_tf_filters.xml
New file
@@ -0,0 +1,174 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "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
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 -->
<stax>
  <defaultcall function="core_tf_filters"/>
  <function name="core_tf_filters">
      <sequence>
      <script>
          STAXLogMessage = 1
          SRCFILE = '%s/%s' % (ZIPPATH,ZIPNAME)
          DSTFILE = '%s/%s' % (TMPDIR,ZIPNAME)
          OPENDS_BINPATH = '%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
      </script>
      <!--- Import all the shared libraries
            may be we should have a loadlibs.xml to
            load all the libs -->
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/utils.xml' % (TESTS_FUNCTIONS_DIR)"/>
      <!--- Set OS related variables on remote host -->
      <message>
          'Set OS related variables on remote host.'
      </message>
      <call function="'setOSvariables'">
          { 'hostname' : STAF_REMOTE_HOSTNAME }
      </call>
      <script>OSName= STAXResult</script>
      <if expr="OSName == 'Win2003'">
        <script>fileExt= 'bat'</script>
      <else>
        <script>fileExt= 'sh'</script>
      </else>
      </if>
        <!--- Check that DS started -->
        <call function="'isAlive'">
          { 'noOfLoops'        : 5 ,
            'noOfMilliSeconds' : 2000 }
        </call>
        <!--- Test Case : True False Filters 1 -->
        <testcase name="'Core: True False Filters 1'">
          <sequence>
            <message>
               'Core TFF1: Check the response of OpenDS when an ldap search request is conducted with a single ampersand character '
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'cn=version,cn=monitor' ,
        'dsFilter'         : '&amp;' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <!--- Test Case : True False Filters 2 -->
        <testcase name="'Core: True False Filters 2'">
          <sequence>
            <message>
               'Core TFF2: Check the response of OpenDS when an ldap search request is conducted with a single pipe character'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'cn=version,cn=monitor' ,
        'dsFilter'         : '|' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <!--- Test Case : True False Filters 3 -->
        <testcase name="'Core: True False Filters 3'">
          <sequence>
            <message>
               'Core TFF3: Check the response of OpenDS when an ldap search request is conducted with a single ampersand character for a non-existent entry'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'cn=bad,cn=monitor' ,
        'dsFilter'         : '&amp;' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 32 }
            </call>
           </sequence>
        </testcase>
        <!--- Test Case : True False Filters 4 -->
        <testcase name="'Core: True False Filters 4'">
          <sequence>
            <message>
               'Core TFF4: Check the response of OpenDS when an ldap search request is conducted with a single pipe character for a non-existent entry'
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'cn=bad,cn=monitor' ,
        'dsFilter'         : '|' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult ,
                  'expected'   : 32 }
            </call>
           </sequence>
        </testcase>
        <return>RC</return>
     </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/core/core_version_report.xml
New file
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "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
 *
 *
 *      Portions Copyright 2006 Sun Microsystems, Inc.
 -->
<stax>
  <defaultcall function="core_version_report"/>
  <function name="core_version_report">
      <sequence>
      <script>
          STAXLogMessage = 1
          SRCFILE = '%s/%s' % (ZIPPATH,ZIPNAME)
          DSTFILE = '%s/%s' % (TMPDIR,ZIPNAME)
          OPENDS_BINPATH = '%s/%s/bin' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME)
      </script>
      <!--- Import all the shared libraries
            may be we should have a loadlibs.xml to
            load all the libs -->
      <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
          file="'%s/utils.xml' % (TESTS_FUNCTIONS_DIR)"/>
      <!--- Set OS related variables on remote host -->
      <message>
          'Set OS related variables on remote host.'
      </message>
      <call function="'setOSvariables'">
          { 'hostname' : STAF_REMOTE_HOSTNAME }
      </call>
      <script>OSName= STAXResult</script>
      <if expr="OSName == 'Win2003'">
        <script>fileExt= 'bat'</script>
      <else>
        <script>fileExt= 'sh'</script>
      </else>
      </if>
        <!--- Check that DS started -->
        <call function="'isAlive'">
          { 'noOfLoops'        : 5 ,
            'noOfMilliSeconds' : 2000 }
        </call>
        <!--- Test Case : Version Report 1 -->
        <testcase name="'Core: Version Report 1'">
          <sequence>
            <message>
               'Core VR1:  Check the response of OpenDS when an ldap search request is conducted for the current version of OpenDS '
            </message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'cn=version,cn=monitor' ,
        'dsFilter'         : 'objectclass=*' }
            </call>
            <call function="'checktestRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
            </call>
          </sequence>
        </testcase>
        <return>RC</return>
     </sequence>
  </function>
</stax>