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

Christophe Sovant
04.14.2007 a659c05b345a2c83ddb87db2c8a2d7af2669b544
Fix ldapsearch testcases and clu test suite cleanup.
3 files deleted
2 files added
4 files modified
30013 ■■■■ changed files
opends/tests/functional-tests/shared/data/clu/data/clu_start.ldif 27243 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/clu/clu.xml 92 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/clu/cluSearch.xml 1141 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/clu/clu_cleanup.xml 52 ●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/clu/clu_ldapsearch_checkoptions.xml 1157 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/clu/clu_setup.xml 102 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/clu/clu_setup_sav.xml 142 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/clu/commands.xml 80 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/runFuncTests.xml 4 ●●●● patch | view | raw | blame | history
opends/tests/functional-tests/shared/data/clu/data/clu_start.ldif
Diff too large
opends/tests/functional-tests/testcases/clu/clu.xml
New file
@@ -0,0 +1,92 @@
<?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, exclude this CDDL HEADER in each
 ! file and exclude 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 2007 Sun Microsystems, Inc.
! -->
<stax>
  <defaultcall function="main_clu"/>
  <function name="main_clu">
    <sequence>
      <block name="'clu'">
        <sequence>
          <!--- Test Group information
            #@TestGroupName          Clu tests
            #@TestGroupPurpose       Test the tools commands.
          -->
          <script>
            CurrentTestPath['group']='clu'
          </script>
          <call function="'testGroup_Preamble'"/>
          <import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/clu_setup.xml' % (TESTS_DIR)"/>
          <call function="'clu_setup'"/>
          <import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/clu_ldapsearch_checkoptions.xml' % (TESTS_DIR)"/>
          <call function="'clu_ldapsearch_checkoptions'"/>
          <!---<import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/cluModify.xml' % (TESTS_DIR)"/>
          <call function="'main_cluModify'"/>
          <import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/cluCompare.xml' % (TESTS_DIR)"/>
          <call function="'main_cluCompare'"/>
          <import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/cluDelete.xml' % (TESTS_DIR)"/>
          <call function="'main_cluDelete'"/>-->
          <import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/cluBase64.xml' % (TESTS_DIR)"/>
          <call function="'main_cluBase64'"/>
          <import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/cluStatus.xml' % (TESTS_DIR)"/>
          <call function="'main_cluStatus'"/>
          <import machine="STAF_LOCAL_HOSTNAME"
                  file="'%s/testcases/clu/clu_cleanup.xml' % (TESTS_DIR)"/>
          <call function="'clu_cleanup'"/>
          <call function="'testGroup_Postamble'"/>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/clu/cluSearch.xml
File was deleted
opends/tests/functional-tests/testcases/clu/clu_cleanup.xml
@@ -30,14 +30,10 @@
  <defaultcall function="clu_cleanup"/>
  <function name="clu_cleanup">
    <function-map-args>
      <function-arg-def name="stopDS" type="optional" default="True">
        <function-arg-description>
          Optional stop the Directory Server
        </function-arg-description>
        <function-arg-property name="type" value="boolean"/>
      </function-arg-def>
  </function-map-args>
    <function-description>
      Cleanup for the command line test suite
    </function-description>
    <sequence>
@@ -45,36 +41,37 @@
      
        <sequence>
          <if expr="stopDS == True">
          <block name="'Block DS Process Stop'">
          <script>
            CurrentTestPath['group']='clu'
          </script>
          <!--- Stop DS -->
          <block name="'Block DS Process Stop'">
        <sequence>
              <message>
                 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
              </message>
              <call function="'StopDsWithScript'">
                { 'location'  : STAF_REMOTE_HOSTNAME,
                {
                'location'  : STAF_REMOTE_HOSTNAME,
                  'dsHost'    : DIRECTORY_INSTANCE_HOST,
                  'dsPort'    : DIRECTORY_INSTANCE_PORT,
                  'dsBindDN'  : DIRECTORY_INSTANCE_DN,
                  'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
              </call>
              <call function="'checkRC'">
                  { 'returncode' : RC ,
                    'result'     : STAXResult }
                'dsBindPwd' : DIRECTORY_INSTANCE_PSWD
                }
              </call>
        </sequence>        
          <!--- End Block DS Process Stop -->
          </block>
      </if>
          <!--- End Block DS Process Stop -->
      
      <block name="'Block Remove DS Topology'">
      <!-- Remove  the topology created for the test suite -->
          <block name="'Block Remove DS Topology'">
      <sequence>
        
              <message>
@@ -84,16 +81,19 @@
        <call function="'removeTopology'"/>
        
        <call function="'checkRC'">
                  { 'returncode' : RC ,
                    'result'     : STAXResult }
                {
                'returncode' : RC ,
                'result'     : STAXResult
                }
              </call>
      
      </sequence>        
      <!-- End Block Remove DS Topology-->
      </block>
              
          </block>
          <!-- End Block Remove DS Topology-->
      
        </sequence>        
      </block>
            
     </sequence>
opends/tests/functional-tests/testcases/clu/clu_ldapsearch_checkoptions.xml
New file
@@ -0,0 +1,1157 @@
<?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, exclude this CDDL HEADER in each
 ! file and exclude 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 2007 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="clu_ldapsearch_checkoptions"/>
  <function name="clu_ldapsearch_checkoptions">
    <sequence>
      <block name="'clu_ldapsearch_checkoptions'">
        <sequence>
          <!--- Test Suite information
            #@TestSuiteName       ldapsearch check options tests
            #@TestSuitePurpose    Test the ldapsearch command with
                                  common options and input/output options.
            #@TestSuiteGroup      ldapsearch check options tests
            #@TestScript          clu_ldapsearch_checkoptions.xml
          -->
          <script>
            if not CurrentTestPath.has_key('group'):
              CurrentTestPath['group']='clu'
            CurrentTestPath['suite']=STAXCurrentBlock
          </script>
          <call function="'testSuite_Preamble'"/>
          <!--- Define default value for basedn and dsfilter -->
          <script>
            basedn = 'ou=ldapsearch,o=clu tests,dc=example,dc=com'
            dsfilter = 'uid=user.10*'
          </script>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: correct options
            #@TestIssue           none
            #@TestPurpose         Test ldapsearch with correct options.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with correct options.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0
          -->
          <testcase name="getTestCaseName('ldapsearch: correct options')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: correct options'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: empty hostname
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with an empty hostname.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89
          -->
          <testcase name="getTestCaseName('ldapsearch: empty hostname')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: empty hostname'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : ' ' ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: invalid hostname
            #@TestIssue           none
            #@TestPurpose         Verify a connection error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with an invalid hostname.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 91.
          -->
          <testcase name="getTestCaseName('ldapsearch: invalid hostname')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: invalid hostname'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : 'bad_host' ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 91
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: no port and no basedn
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with no port and no basedn.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89.
          -->
          <testcase name="getTestCaseName('ldapsearch: no port and no basedn')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: no port and no basedn'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: invalid port number and no basedn
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with invalid port number
                                  and no basedn used.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: invalid port number and no basedn')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: invalid port number and no basedn'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : '-1' ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: invalid binddn
            #@TestIssue           none
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with an invalid binddn.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 49.
          -->
          <testcase name="getTestCaseName('ldapsearch: invalid binddn')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: invalid binddn'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : 'cn=bad dn' ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 49
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: no password
            #@TestIssue           2624
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch without a password.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 48.
          -->
          <testcase name="getTestCaseName('ldapsearch: no password provided')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: no password provided'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 48
                }
              </call>
              <script>
                knownIssue(2624)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: invalid password
            #@TestIssue           none
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with an invalid password.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 49.
          -->
          <testcase name="getTestCaseName('ldapsearch: invalid password')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: invalid password'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : 'bad_password' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 49
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: scope with no option-argument
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with a scope and no value.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: scope with no option-argument')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: scope with no option-argument'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsScope'          : ' ' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: invalid scope
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with an invalid scope.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89.
          -->
          <testcase name="getTestCaseName('ldapsearch: invalid scope')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: invalid scope'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsScope'          : 'bad_scope' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: empty basedn
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with an empty basedn.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89.
          -->
          <testcase name="getTestCaseName('ldapsearch: empty basedn')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: empty basedn'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : ' ' ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: invalid basedn
            #@TestIssue           none
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with an invalid basedn.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 32.
          -->
          <testcase name="getTestCaseName('ldapsearch: invalid basedn')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: invalid basedn'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : 'o=bad dn' ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 32
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: no filter
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch without a filter.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89.
          -->
          <testcase name="getTestCaseName('ldapsearch: no filter')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: no filter'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'         : basedn ,
                'expectedRC'       : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: dry run option
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with dry run option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName('ldapsearch: dry run option')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: dry run option'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsDryRun'         : 'True' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: verbose option
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the verbose option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName('ldapsearch: verbose option')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: verbose option'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsVerbose'        : 'True' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: timelimit of 20 seconds
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with timelimit of 20 seconds option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: timelimit of 20 seconds')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: timelimit of 20 seconds'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsTimeLimit'      : '20' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : 'mobile=*[0-9][ ][0-9]+[ ]*' ,
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: timelimit of 1 seconds
            #@TestIssue           none
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with timelimit of 1 second.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 3.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: timelimit of 1 seconds')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: timelimit of 1 seconds'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsTimeLimit'      : '1' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : 'mobile=*[0-9][ ][0-9]+[ ]*' ,
                'expectedRC'       : 3
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: sizelimit of 100 entries
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with sizelimit option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: sizelimit of 100 entries')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: sizelimit of 100 entries'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsSizeLimit'      : '100' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: sizelimit of 1 entries
            #@TestIssue           none
            #@TestPurpose         Verify a parameter error doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the sizelimit option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 4.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: sizelimit of 1 entries')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: sizelimit of 1 entries'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsSizeLimit'      : '1' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter ,
                'expectedRC'       : 4
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: help option
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the help option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName('ldapsearch: help option')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: help option'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsHelp'           : 'True' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: don't wrap option
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the do do not wrap
                                  long lines option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName(
          'ldapsearch: do not wrap long lines option')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: do not wrap long lines option'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsDontWrap'       : 'True' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: attribute value only option
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the attribute value
                                  only option.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: attribute value only option')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: attribute value only option'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsTypesOnly'      : 'True' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: sort order option of uid
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the a sort order of uid.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: sort order option of uid')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: sort order option of uid'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsSortOrder'      : 'uid' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: sort order option of bad
            #@TestIssue           2623
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the a sort order of bad.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: sort order option of bad')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: sort order option of bad '
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsSortOrder'      : 'bad_sort' ,
                'dsBaseDN'         : basedn ,
                'dsFilter'         : dsfilter
                }
              </call>
              <script>
                knownIssue(2623)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: dereference policy of always
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the a dereference
                                  policy of always.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 0.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: dereference policy of always')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: dereference policy of always'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'      : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'        : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
                'dsDereferencePolicy' : 'always' ,
                'dsBaseDN'            : basedn ,
                'dsFilter'            : dsfilter
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: dereference policy of bad
            #@TestIssue           2619
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the a dereference
                                  policy of bad.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 89.
          -->
          <testcase name="getTestCaseName
          ('ldapsearch: dereference policy of bad')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: dereference policy of bad'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'      : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'        : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
                'dsDereferencePolicy' : 'bad_ref' ,
                'dsBaseDN'            : basedn ,
                'dsFilter'            : dsfilter ,
                'expectedRC'          : 89
                }
              </call>
              <script>
                knownIssue(2619)
              </script>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
            #@TestMarker          ldapsearch check options tests
            #@TestName            ldapsearch: invalid basedn
            #@TestIssue           none
            #@TestPurpose         Verify a parameter doing an ldapsearch.
            #@TestPreamble        none
            #@TestStep            Do an ldapsearch with the a bad base dn.
            #@TestPostamble       none
            #@TestResult          Success if ldapsearch returns 32.
          -->
          <testcase name="getTestCaseName('ldapsearch: invalid basedn')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'ldapsearch: invalid basedn'
              </message>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'      : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'        : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'            : 'cn=bad,cn=config' ,
                'dsFilter'            : 'objectclass=*' ,
                'expectedRC'          : 32
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <call function="'testSuite_Postamble'"/>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/clu/clu_setup.xml
@@ -23,28 +23,17 @@
  !
  ! CDDL HEADER END
  !
  !      Portions Copyright 2007 Sun Microsystems, Inc.
 !      Portions Copyright 2006-2007 Sun Microsystems, Inc.
  ! -->
<stax>
  <defaultcall function="clu_setup" />
  <function name="clu_setup">
    <function-description>
      Setup the command line test suite
      Setup for the command line test suite
    </function-description>
    <function-map-args>
      <function-arg-def name="startDS" type="optional" default="True">
        <function-arg-description>
          Start the Directory Server
        </function-arg-description>
      </function-arg-def>
      <function-arg-def name="loadBackend" type="optional" default="True">
        <function-arg-description>
          Load the backend with user data
        </function-arg-description>
      </function-arg-def>
    </function-map-args>
  
    <sequence>
@@ -52,7 +41,13 @@
        <sequence>
          <script>
            CurrentTestPath['group']='clu'
          </script>
          <!-- Create the topology necessary to the test group/suite -->
          <block name="'Block Create DS Topology'">
          <sequence>
            <message>
@@ -64,14 +59,40 @@
            </call>
            <call function="'checkRC'">
              { 'returncode' : RC , 'result' : STAXResult }
                {
                'returncode' : RC ,
                'result'     : STAXResult
                }
            </call>
          </sequence>
          <if expr="startDS == True">
          </block>
          <!--- End Block Create DS Topology -->
          <!-- Load the data needed by the test suite -->
          <block name="'Block DS Load Data'">
            <sequence>
              <message>
                'setup: adding Initial Entries'
              </message>
              <call function="'importLdif'">
                {
                'ldifFile'    : '%s/clu/data/clu_start.ldif' % logsRemoteDataDir
                }
              </call>
            </sequence>
          </block>
          <!--- End Block DS Load Data -->
          
            <!--- Start DS -->
          <block name="'Block DS Process Active'">
            <sequence>
              <message>
@@ -83,58 +104,21 @@
                { 'location' : STAF_REMOTE_HOSTNAME }
              </call>
              <call function="'checkRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
              </call>
              <!--- Check that DS started -->
              <call function="'isAlive'">
                { 'noOfLoops'        : 5 ,
                  'noOfMilliSeconds' : 2000 }
                {
                'noOfLoops'        : 5 ,
                'noOfMilliSeconds' : 2000
                }
              </call>
            </sequence>
          
          </if>
          <if expr="loadBackend == True">
            <!-- Load the data needed by the test suite -->
            <sequence>
              <message>
                'Add many entries needed for Testcase 18 in cluSearch tests'
              </message>
              <call function="'addEntry'">
                { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
                  'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
                  'dsInstanceDn'   : DIRECTORY_INSTANCE_DN ,
                  'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
                  'entryToBeAdded' : '%s/clu/data/clu_start.ldif' % logsRemoteDataDir }
              </call>
              <message>'Add entries for cluSearch Tests'</message>
              <call function="'addEntry'">
                { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/clu/data/ldif_mod.ldif' % logsRemoteDataDir }
              </call>
              <call function="'checkRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
              </call>
          </block>
          <!--- End Block DS Process Active -->
            </sequence>
          </if>
        </sequence>
      </block>
    </sequence>
opends/tests/functional-tests/testcases/clu/clu_setup_sav.xml
File was deleted
opends/tests/functional-tests/testcases/clu/commands.xml
File was deleted
opends/tests/functional-tests/testcases/runFuncTests.xml
@@ -66,9 +66,9 @@
      -->
      
      <import machine="STAF_LOCAL_HOSTNAME"
              file="'%s/testcases/clu/commands.xml' % TESTS_DIR" />
              file="'%s/testcases/clu/clu.xml' % TESTS_DIR" />
      <!--
      add keyword 'main_commands' in run-custom-suites.dat file to run this specific testsuite or run CLI : build run-my-tests
      add keyword 'main_clu' in run-custom-suites.dat file to run this specific testsuite or run CLI : build run-my-tests
      -->
      <import machine="STAF_LOCAL_HOSTNAME"