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

sgouvern
20.26.2008 abfbf55ae90418a895bacf0e753bb58d1a19caaa
Test suite creation
6 files added
907 ■■■■■ changed files
opends/tests/functional-tests/testcases/i18n/i18n.xml 81 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/i18n/i18n_8bit_authentication.xml 327 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/i18n/i18n_8bit_createbackend.xml 134 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/i18n/i18n_8bit_schemaExtension.xml 162 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/i18n/i18n_cleanup.xml 103 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/i18n/i18n_setup.xml 100 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/i18n/i18n.xml
New file
@@ -0,0 +1,81 @@
<?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
 !
 !      Copyright 2007-2008 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_i18n"/>
  <function name="main_i18n">
    <sequence>
      <block name="'i18n'">
        <sequence>
          <script>
            CurrentTestPath={}
            envAlreadyLoaded='true'
            CurrentTestPath['group']='i18n'
          </script>
          <call function="'testGroup_Preamble'"/>
          <import machine="STAF_LOCAL_HOSTNAME"
            file="'%s/testcases/i18n/i18n_setup.xml' % (TESTS_DIR)"/>
          <call function="'i18n_setup'" />
          <import machine="STAF_LOCAL_HOSTNAME"
            file="'%s/testcases/i18n/i18n_8bit_createbackend.xml'
            % (TESTS_DIR)"/>
          <call function="'main_8bit_createbackend'" />
          <import machine="STAF_LOCAL_HOSTNAME"
            file="'%s/testcases/i18n/i18n_8bit_schemaExtension.xml'
            % (TESTS_DIR)"/>
          <call function="'main_8bit_schemaExtension'" />
          <import machine="STAF_LOCAL_HOSTNAME"
            file="'%s/testcases/i18n/i18n_8bit_authentication.xml'
            % (TESTS_DIR)"/>
          <call function="'main_8bit_authentication'" />
          <import machine="STAF_LOCAL_HOSTNAME"
            file="'%s/testcases/i18n/i18n_cleanup.xml' % (TESTS_DIR)"/>
          <call function="'i18n_cleanup'" />
          <call function="'testGroup_Postamble'"/>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/i18n/i18n_8bit_authentication.xml
New file
@@ -0,0 +1,327 @@
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2007-2008 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_8bit_authentication"/>
  <function name="main_8bit_authentication">
    <sequence>
      <block name="'8bit_authentication'">
        <sequence>
          <script>
            if not CurrentTestPath.has_key('i18n'):
              CurrentTestPath['group']='i18n'
            CurrentTestPath['suite']=STAXCurrentBlock
          </script>
          <message>
            'Add the test data in the directory'
          </message>
          <call function="'addEntry'">
            {
            'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
            'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
            'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
            'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
            'entryToBeAdded'   : '%s/i18n/8-bit/base64/I18n_Authentication_Test.base64.ldif' \
                                   % logsRemoteDataDir ,
            'expectedRC'       : 0
            }
          </call>
          <call function="'testSuite_Preamble'"/>
          <!--- Test Case information
          #@TestMarker        i18n 8-bit Authentication Tests
          #@TestName          Group: i18n 8-bit: user'd DN and password
                              contain 8-bit characters
          #@TestPurpose       check that user with DN and password containing
                              8-bit characters can bind and performed allowed
                              operations as defined in acis
          #@TestPreamble
          #@TestSteps         Do a ldapsearch binding as
                              "cn=John, ou=Authentication Tests, o=Çándide Rùiz"
                              This user is allowed to search and read
          #@TestSteps         Check that all the expected data is returned
          #@TestPostamble
          #@TestResult        should be PASSED
          -->
          <testcase name="getTestCaseName
          ('8-bit characters DN and pwd user -search, read rights')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <call function="'ldapSearchWithScript'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : 'cn=John, ou=Authentication Tests, o=Çándide Rùiz' ,
                'dsInstancePswd'   : 'siroe' ,
                'dsCountEntries'   : 'True' ,
                'dsBaseDN'         : 'ou=Authentication Tests,o=Çándide Rùiz' ,
                'dsFilter'         : 'objectclass=person' ,
                'dsAttributes'     : 'sn' ,
                'dsEncoding'       : '8859-1',
                'expectedRC'       : 'noCheck'
                }
              </call>
              <script>
                returnString = STAXResult[0][1]
              </script>
              <call function="'checktestString'">
                {
                'returnString'     : returnString ,
                'expectedString'   : 'Total number of matching entries: 4'
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
          #@TestMarker        i18n 8-bit Authentication Tests
          #@TestName          Group: i18n 8-bit: user'd DN and password contain
                              8-bit characters
          #@TestPurpose       check that user with DN and password containing
                              8-bit characters can bind and performed allowed
                              operations as defined in acis
          #@TestPreamble
          #@TestSteps         Do a ldapsearch binding as
                              "cn=Bill, ou=Authentication Tests, o=Çándide Rùiz"
                              This user is allowed to perform add operations
                              Check that the expected data can be added
          #@TestPostamble
          #@TestResult        should be PASSED
          -->
          <testcase name="getTestCaseName
          ('8-bit characters DN and pwd user -add rights')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <call function="'addEntry'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : 'cn=Bill, ou=Authentication Tests, o=Çándide Rùiz' ,
                'dsInstancePswd'   : 'siröé' ,
                'entryToBeAdded'   : '%s/i18n/8-bit/base64/Authentication.tp2.base64.ldif' \
                                     % logsRemoteDataDir ,
                'expectedRC'       : 0
                }
                </call>
                <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
          #@TestMarker      i18n 8-bit Authentication Tests
          #@TestName        Group: i18n 8-bit: user'd DN and password contain
                            8-bit characters
          #@TestPurpose     check that user with DN and password containing
                            8-bit characters can bind and performed allowed
                            operations as defined in acis
          #@TestPreamble
          #@TestSteps       Do a ldapsearch binding as
                            "cn=Çándide, ou=Authentication Tests, o=Çándide Rùiz"
                            This user is allowed to perform add operations,
                            modify attributes but not delete
                            Check that the expected operations can be performed
          #@TestPostamble
          #@TestResult      should be PASSED
          -->
          <testcase name="getTestCaseName
          ('8-bit characters DN and pwd user -add,modify rights, no delete')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'Add operation'
              </message>
              <call function="'addEntry'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : 'cn=Çándide, ou=Authentication Tests, o=Çándide Rùiz' ,
                'dsInstancePswd'   : 'siroe' ,
                'entryToBeAdded'   : '%s/i18n/8-bit/base64/Authentication.tp3.add.base64.ldif' \
                                     % logsRemoteDataDir ,
                'expectedRC'       : 0
                }
              </call>
              <message>
                'Modify operation'
              </message>
              <call function="'modifyEntry'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : 'cn=Çándide, ou=Authentication Tests, o=Çándide Rùiz' ,
                'dsInstancePswd'   : 'siroe' ,
                'entryToBeModified': '%s/i18n/8-bit/base64/Authentication.tp3.mod.base64.ldif' \
                                      % logsRemoteDataDir ,
                'expectedRC'       : 0
                }
              </call>
              <message>
                'Delete operation'
              </message>
              <call function="'modifyEntry'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : 'cn=Çándide, ou=Authentication Tests, o=Çándide Rùiz' ,
                'dsInstancePswd'   : 'siroe' ,
                'entryToBeModified': '%s/i18n/8-bit/base64/Authentication.tp3.del.base64.ldif' \
                                      % logsRemoteDataDir ,
                'expectedRC'       : 50
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
          #@TestMarker      i18n 8-bit Authentication Tests
          #@TestName        Group: i18n 8-bit: user'd DN and password contain
                            8-bit characters
          #@TestPurpose     check that user with DN and password containing
                            8-bit characters
          #@TestPurpose     can bind and performed allowed operations as
                            defined in acis
          #@TestPreamble
          #@TestSteps       Do a ldapsearch binding as
                            "cn=Rôséñe, ou=Authentication Tests, o=Çándide Rùiz"
                            This user has all rights, except on seeAlso attribute
                            Check that the expected operations can be performed
          #@TestPostamble
          #@TestResult      should be PASSED
          -->
          <testcase name="getTestCaseName
          ('8-bit characters DN and pwd user- all rights but on seeAlso')">
              <sequence>
                  <call function="'testCase_Preamble'"/>
                  <message>
                      'Self modification'
                  </message>
                  <call function="'modifyEntry'">
                    {
                    'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                    'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                    'dsInstanceDn'     : 'cn=Rôséñe, ou=Authentication Tests, o=Çándide Rùiz' ,
                    'dsInstancePswd'   : 'siröé' ,
                    'entryToBeModified': '%s/i18n/8-bit/base64/Authentication.tp4.base64.ldif' \
                                          % logsRemoteDataDir ,
                    'expectedRC'       : 0
                    }
                  </call>
                  <message>
                      'search operation'
                  </message>
                  <call function="'ldapSearchWithScript'">
                    {
                    'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
                    'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
                    'dsInstanceDn'   : 'cn=Rôséñe, ou=Authentication Tests, o=Çándide Rùiz' ,
                    'dsInstancePswd' : 'siröé' ,
                    'dsCountEntries' : 'True' ,
                    'dsBaseDN'       : 'ou=Authentication Tests,o=Çándide Rùiz' ,
                    'dsFilter'       : 'objectclass=person' ,
                    'dsAttributes'   : 'sn' ,
                    'dsEncoding'     : '8859-1' ,
                    'expectedRC'     : 'noCheck'
                    }
                  </call>
                  <script>
                    returnString = STAXResult[0][1]
                  </script>
                  <call function="'checktestString'">
                    {
                    'returnString'     : returnString ,
                    'expectedString'   : 'Total number of matching entries: 6'
                    }
                  </call>
                  <message>
                      'addition of the seeAlso attribute'
                  </message>
                  <call function="'modifyEntry'">
                    {
                    'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                    'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                    'dsInstanceDn'     : 'cn=Rôséñe, ou=Authentication Tests, o=Çándide Rùiz' ,
                    'dsInstancePswd'   : 'siröé' ,
                    'entryToBeModified': '%s/i18n/8-bit/base64/Authentication.tp5.base64.ldif' \
                                          % logsRemoteDataDir ,
                    'expectedRC'       : 50
                    }
                  </call>
                  <call function="'testCase_Postamble'"/>
              </sequence>
          </testcase>
          <call function="'testSuite_Postamble'"/>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/i18n/i18n_8bit_createbackend.xml
New file
@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2007-2008 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_8bit_createbackend"/>
  <function name="main_8bit_createbackend">
    <sequence>
      <block name="'8bit_createbackend'">
        <sequence>
          <script>
            if not CurrentTestPath.has_key('i18n'):
              CurrentTestPath['group']='i18n'
            CurrentTestPath['suite']=STAXCurrentBlock
          </script>
          <call function="'testSuite_Preamble'"/>
              <!--- Test Case information
              #@TestMarker          setup
              #@TestName            setup: create and initialize backend with
                                    8-bit data
              #@TestIssue           none
              #@TestPurpose         check that 8-bit data can be used for
                                    backend creation and initialization
              #@TestPreamble        none
              #@TestStep            create backends with dsconfig, using
                                    8-bit characters.
                                    base-dn are "o=Çándide Rùiz"
                                    "o=Çéliné Ändrè" "o=Rôséñe Tàrqùinio"
                                    "o=Feâtlëss Watérmân" and "o=Älka Màrzella"
              #@TestPostamble       none
              #@TestResult          Success if  returns 0.
          -->
          <testcase name="getTestCaseName
          ('Create and initialize Directory backend for 8-bit i18n tests')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <message>
                'Create Directory Backend for 8-bit i18n tests'
              </message>
              <script>
                backends = {
                  'Candide'  : ('o=Çándide Rùiz', 'Candide'),
                  'Celine'   : ('o=Çéliné Ändrè', 'Celine'),
                  'Rosene'   : ('o=Rôséñe Tàrqùinio', 'Rosene'),
                  'Featless' : ('o=Feâtlëss Watérmân', 'Featless'),
                  'Alka'     : ('o=Älka Màrzella', 'Alka')
                 }
              </script>
              <iterate var="backend" in="backends.keys()">
              <sequence>
                  <message>
          'Import 8-bit test data [%s | %s | %s/%s/db/%s | %s/%s/import-tmp]' %\
                      (backends.get(backend)[0],\
                       backends.get(backend)[1],\
                       DIRECTORY_INSTANCE_DIR, OPENDSNAME,\
                       backends.get(backend)[1],\
                       DIRECTORY_INSTANCE_DIR, OPENDSNAME)
                  </message>
                  <message>
                   'Create database backend %s.' % backends.get(backend)[1]
                  </message>
                  <script>
                    options=[]
                    options.append('--backend-name %s' % backends.get(backend)[1])
                    options.append('--set db-directory:%s' % backends.get(backend)[1])
                    options.append('--set base-dn:"%s"' % backends.get(backend)[0])
                    options.append('--set enabled:true')
                    options.append('--set writability-mode:enabled')
                    options.append('-t local-db')
                    createBackendOptions=' '.join(options)
                  </script>
                  <call function="'dsconfig'">
                    { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
                      'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
                      'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
                      'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
                      'subcommand'     : 'create-backend',
                      'optionsString'  : createBackendOptions
                    }
                  </call>
                </sequence>
            </iterate>
              <call function="'checktestRC'">
                {
                'returncode' : RC ,
                'result'     : STAXResult
                }
              </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <call function="'testSuite_Postamble'"/>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/i18n/i18n_8bit_schemaExtension.xml
New file
@@ -0,0 +1,162 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2007-2008 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="main_8bit_schemaExtension"/>
  <function name="main_8bit_schemaExtension">
    <sequence>
      <block name="'8bit_schemaExtension'">
        <sequence>
          <script>
            if not CurrentTestPath.has_key('i18n'):
              CurrentTestPath['group']='i18n'
            CurrentTestPath['suite']=STAXCurrentBlock
          </script>
          <call function="'testSuite_Preamble'"/>
          <!--- Test Case information
          #@TestMarker          i18n 8-bit schema Extension Tests
          #@TestName            Group: i18n 8-bit: extend schema using latin-1
                                characters
          #@TestID
          #@TestPurpose         check that schema extension with attributes or
                                objectclasses containing 8-bit latin-1
                                characters is refused
          #@TestPreamble
          #@TestSteps           Do a ldapmodify with as argument a file
                                containing 8-bit Latin-1 characters
          #@TestPostamble
          #@TestResult          should be PASSED, with returned code 21
          -->
          <testcase name="getTestCaseName
          ('extend schema with 8-bit Latin-1 characters')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <call function="'addEntry'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/i18n/8-bit/Schema_extension.8859-1.ldif' \
                                     % logsRemoteDataDir ,
                'expectedRC'       : 21
                }
                </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
          #@TestMarker          i18n 8-bit schema Extension Tests
          #@TestName            Group: i18n 8-bit: extend schema using 8-bit UTF-8 characters
          #@TestID
          #@TestPurpose         check that schema extension with attributes or objectclasses
          #@TestPurpose         containing 8-bit UTF-8 characters is refused
          #@TestPreamble
          #@TestSteps           Do a ldapmodify with as argument a file containing 8-bit UTF-8 characters
          #@TestPostamble
          #@TestResult          should be PASSED, with returned code 21
          -->
          <testcase name="getTestCaseName('extend schema with UTF-8 characters')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <call function="'addEntry'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/i18n/8-bit/UTF-8/Schema_extension.UTF-8.ldif' \
                                     % logsRemoteDataDir ,
                'expectedRC'       : 21
                }
                </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <!--- Test Case information
          #@TestMarker          i18n 8-bit schema Extension Tests
          #@TestName            Group: i18n 8-bit: extend schema using ascii
                                characters
          #@TestID
          #@TestPurpose         check that schema extension with attributes or
                                objectclasses
          #@TestPurpose         containing ascii characters is working ok
          #@TestPreamble
          #@TestSteps           Do a ldapmodify with as argument a file
                                containing only ascii characters
          #@TestPostamble
          #@TestResult          should be PASSED, with returned code 0
          -->
          <testcase name="getTestCaseName
          ('extend schema with only ascii characters')">
            <sequence>
              <call function="'testCase_Preamble'"/>
              <call function="'addEntry'">
                {
                'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'entryToBeAdded'   : '%s/i18n/8-bit/Schema_extension.ldif' \
                                     % logsRemoteDataDir ,
                'expectedRC'       : 0
                }
                </call>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </testcase>
          <call function="'testSuite_Postamble'"/>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/i18n/i18n_cleanup.xml
New file
@@ -0,0 +1,103 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2008 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="i18n_cleanup"/>
  <function name="i18n_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>
    <sequence>
      <block name="'cleanup'">
        <sequence>
          <if expr="stopDS == True">
          <block name="'Block DS Process Stop'">
          <!--- Stop DS -->
        <sequence>
              <message>
                 '------ Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
              </message>
              <call function="'StopDsWithScript'">
                { '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 }
              </call>
        </sequence>
          <!--- End Block DS Process Stop -->
          </block>
      </if>
      <block name="'Block Remove DS Topology'">
      <!-- Remove  the topology created for the test suite -->
      <sequence>
              <message>
                 '------ Remove DS topology created for the Test Suite'
              </message>
        <call function="'removeTopology'"/>
        <call function="'checkRC'">
                  { 'returncode' : RC ,
                    'result'     : STAXResult }
              </call>
      </sequence>
      <!-- End Block Remove DS Topology-->
      </block>
        </sequence>
      </block>
     </sequence>
  </function>
</stax>
opends/tests/functional-tests/testcases/i18n/i18n_setup.xml
New file
@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Copyright 2008 Sun Microsystems, Inc.
 ! -->
<stax>
  <defaultcall function="i18n_setup"/>
  <function name="i18n_setup">
    <sequence>
      <block name="'setup'">
        <sequence>
          <script>
            CurrentTestPath['group']='i18n'
          </script>
          <block name="'Block Prepare DS Instance'">
            <!-- Prepare the DS instance necessary to the test group/suite -->
              <sequence>
                <message>
                   '------ Prepare DS instance as described in config.py'
                </message>
                <call function="'prepareInstanceCreation'">
                { 'groupDataDir' : 'i18n',
                  'fileExtensions' : ['dat','res'] }
                </call>
                <call function="'checkRC'">
                    { 'returncode' : RC ,
                      'result'     : STAXResult }
                </call>
              </sequence>
            <!--- End Block Create DS Topology -->
          </block>
          <block name="'Setup Directory backend for i18n 8-bit tests'">
            <sequence>
              <message>
                   'Create DS as described in config.py '
              </message>
              <call function="'createInstance'"/>
              <call function="'checktestRC'">
                {
                'returncode' : RC ,
                'result'     : STAXResult
                }
              </call>
              <message>
                'Start DS instance'
              </message>
              <call function="'StartDsWithScript'">
               { 'location'  : DIRECTORY_INSTANCE_HOST }
              </call>
              <call function="'checktestRC'">
                {
                'returncode' : RC ,
                'result'     : STAXResult
                }
              </call>
              <call function="'isAlive'">
                { 'noOfLoops'        : 5 ,
                  'noOfMilliSeconds' : 2000 }
              </call>
              <call function="'checkRC'">
                { 'returncode' : RC ,
                  'result'     : STAXResult }
              </call>
            </sequence>
          </block>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>