import.xml revision d81978a0815d5b8a75633c35e3e1f8708d36f017
<?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 2006-2008 Sun Microsystems, Inc.
! -->
<stax>
<defaultcall function="main_import"/>
<function name="main_import">
<sequence>
<block name="'import'">
<sequence>
<script>
if not CurrentTestPath.has_key('group'):
CurrentTestPath['group']='backends'
CurrentTestPath['suite']=STAXCurrentBlock
</script>
<call function="'testSuite_Preamble'"/>
<!--- Test Suite information
#@TestSuiteName Backend Import Tests
#@TestSuitePurpose Verify that the basic import functionality is working in the Directory Server.
#@TestSuiteID Import Tests
#@TestSuiteGroup Import
#@TestGroup Backend
#@TestScript import.xml
#@TestHTMLLink http://opends.dev.java.net/
-->
<import machine="STAF_LOCAL_HOSTNAME"
file="'%s/testcases/backends/backend_setup.xml' % (TESTS_DIR)"/>
<call function="'backend_setup'"> { 'startDS' : False } </call>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: LDIF Default
#@TestID LDIF Default
#@TestPurpose Verify an import of a LDIF file using the default backend.
#@TestPreamble
#@TestSteps /import-ldif.sh -l /ldif/Example.ldif -n "userRoot"
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('LDIF Default')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME ,
'dsLdifFile' : '%s/backends/Example.ldif' % remote.data,
'dsBackEnd' : 'userRoot'}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] }
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: LDIF Non Default
#@TestID LDIF Non Default
#@TestPurpose Verify an import of a LDIF file using a differrent backend to the default.
#@TestPreamble
#@TestSteps /import-ldif.sh -n "nonDefault" -l /ldif/Example.ldif
#@TestPostamble
#@TestResult
-->
<!-- Not clear how to create a second backend
<testcase name="getTestCaseName('LDIF Non Default')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'importLdif'">
{ 'ldifFile' : '%s/backends/Example.ldif' % remote.data,
'backEnd' : 'nonDefault' }
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com','uid=dmiller, ou=People, dc=example,dc=com','uid=rhunt, ou=People, dc=example,dc=com'] }
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
-->
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Include Branch
#@TestID Fractional Include Branch
#@TestPurpose Verify an import of a LDIF file specifying a branch that should be included in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Include Branch')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeBranch' : ['dc=com'] }
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] }
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Include Branch with backend ID
#@TestID Fractional Include Branch
#@TestPurpose Verify an import of a LDIF file specifying a branch that should be included in the import
along with the backendID.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Include Branch with backend ID')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeBranch' : ['dc=com'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] }
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Include Branches
#@TestID Fractional Include Branches
#@TestPurpose Verify an import of a LDIF file specifying multiple branches that should be included in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Include Branches')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeBranch' : ['dc=com','dc=example,dc=com']
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] }
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Exclude Branch
#@TestID Fractional Exclude Branch
#@TestPurpose Verify an import of a LDIF file specifying a branch that should be excluded in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Exclude Branch')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeBranch' : ['ou=Departed,ou=People,dc=example,dc=com'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] ,
'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Exclude Branches
#@TestID Fractional Exclude Branches
#@TestPurpose Verify an import of a LDIF file specifying multiple branches that should be excluded in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Exclude Branches')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeBranch' : ['ou=Departed,ou=People,dc=example,dc=com'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] ,
'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Branches Mix
#@TestID Fractional Branches Mix
#@TestPurpose Verify an import of a LDIF file specifying a mix of include and exclude branches.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Branches Mix')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsIncludeBranch' : ['dc=com'],
'dsExcludeBranch' : ['ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'] ,
'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Include Attribute
#@TestID Fractional Include Attribute
#@TestPurpose Verify an import of a LDIF file specifying an attribute that should be included in the import.
#@TestPreamble
#@TestSteps /import-ldif.sh -n "userRoot" -i dc -l Include.ldif
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Include Attribute')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeAttribute' : ['dc'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['dc=com','dc=example,dc=com'],
'missingEntries' : ['ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Include Attributes
#@TestID Fractional Include Attributes
#@TestPurpose Verify an import of a LDIF file specifying multiple attributes that should be included in the import.
#@TestPreamble
#@TestSteps /import-ldif.sh -n "userRoot" -i cn -i dc -i ou -i sn -l Include.ldif
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Include Attributes')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeAttribute' : ['dc','cn','ou','sn'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Exclude Attribute
#@TestID Fractional Exclude Attribute
#@TestPurpose Verify an import of a LDIF file specifying an attribute that should be excluded in the import.
#@TestPreamble
#@TestSteps /import-ldif.sh -n "userRoot" -e userpassword -l Example.ldif
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Exclude Attribute')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeAttribute' : ['userpassword'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
'missingAttributes' : ['userpassword']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Exclude Attributes
#@TestID Fractional Exclude Attributes
#@TestPurpose Verify an import of a LDIF file specifying multiple attribute that should be excluded in the import.
#@TestPreamble
#@TestSteps /import-ldif.sh -n "userRoot" -e userpassword -e mail -e roomnumber -l Example.ldif
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Exclude Attributes')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeAttribute' : ['userpassword','mail','roomnumber'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
'missingAttributes' : ['userpassword']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Mix
#@TestID Fractional Mix
#@TestPurpose Verify an import of a LDIF file specifying a mix of fractional attributes and branches.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Mix')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Example.ldif' % remote.data,
'dsIncludeAttribute' : ['dc','cn','ou','sn'],
'dsIncludeBranch' : ['dc=com','dc=example,dc=com','ou=People,dc=example,dc=com'],
'dsExcludeBranch' : ['ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller, ou=People, dc=example,dc=com',
'uid=rhunt, ou=People, dc=example,dc=com'],
'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Filtered Include
#@TestID Filtered Include
#@TestPurpose Verify an import of a LDIF file specifying a search filter control which entries are included in the import.
#@TestPreamble
#@TestSteps /import-ldif.sh -n "userRoot" -I "objectclass=*" -l Include.ldif
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Filtered Include')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeFilter' : ['objectclass=*'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Filtered Exclude
#@TestID Filtered Exclude
#@TestPurpose Verify an import of a LDIF file specifying a search filter control which entries are excluded in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Filtered Exclude')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeFilter' : ['objectclass=person'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['dc=example,dc=com',
'ou=People,dc=example,dc=com'],
'missingEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Filtered Includes
#@TestID Filtered Includes
#@TestPurpose Verify an import of a LDIF file specifying multiple search filters control which entries are included in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Filtered Includes')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeFilter' : ['objectclass=domain','objectclass=organizationalunit'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['dc=example,dc=com',
'ou=People,dc=example,dc=com'],
'missingEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Filtered Excludes
#@TestID Filtered Excludes
#@TestPurpose Verify an import of a LDIF file specifying multiple search filters control which entries are excluded in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Filtered Excludes')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeFilter' : ['objectclass=person','objectclass=organizationalunit'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['dc=example,dc=com'],
'missingEntries' : ['ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Filtered Includes Complex
#@TestID Filtered Includes Complex
#@TestPurpose Verify an import of a LDIF file specifying complex search filters control which entries are included in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Filtered Includes Complex')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Include.ldif' % remote.data,
'dsIncludeFilter' : ['|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Filtered Excludes Complex
#@TestID Filtered Excludes Complex
#@TestPurpose Verify an import of a LDIF file specifying complex search filters control which entries are excluded in the import.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Filtered Excludes Complex')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeFilter' : ['&amp;(objectclass=person)(ou=Departed)'],
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=rhunt,ou=People,dc=example,dc=com'],
'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Fractional Filtered Mix
#@TestID Fractional Filtered Mix
#@TestPurpose Verify an import of a LDIF file specifying a mix of fractional and filtered.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Fractional Filtered Mix')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Exclude.ldif' % remote.data,
'dsExcludeFilter' : ['&amp;(objectclass=person)(ou=Departed)'],
'dsIncludeBranch' : ['dc=com'],
'dsExcludeAttribute' : ['userpassword']
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=rhunt,ou=People,dc=example,dc=com'],
'missingEntries' : ['uid=fvinker,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Append
#@TestID Append
#@TestPurpose Verify an import of a LDIF file specifying that the import process should append to the existing database.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Append')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Append.ldif' % remote.data,
'dsAppend' : 'TRUE',
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['ou=Departed,ou=People,dc=example,dc=com',
'uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Append Replace Existing
#@TestID Append Replace Existing
#@TestPurpose Verify an import of a LDIF file specifying that an existing entry should be replaced when appending to an existing database.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Append Replace Existing')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Append.ldif' % remote.data,
'dsAppend' : 'TRUE',
'dsReplaceExisting' : 'TRUE',
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['ou=Departed,ou=People,dc=example,dc=com',
'uid=fvinker,ou=Departed,ou=People,dc=example,dc=com',
'uid=brammage,ou=Departed,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Compressed
#@TestID Compressed
#@TestPurpose Verify an import of a LDIF file specifying the data to import is compressed.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Compressed')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Example.ldif.gz' % remote.data,
'dsIsCompressed' : 'TRUE',
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Encrypted
#@TestID Encrypted
#@TestPurpose Verify an import of a LDIF file specifying the data to import is encrypted.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Encrypted')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Example.ldif' % remote.data,
'dsIsEncrypted' : 'TRUE',
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<!-- This test should fail. -->
<tcstatus result="'fail'"/>
<message log="1" level="'Error'">
'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
</message>
<script>
knownIssue(839)
</script>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Hashed Signed
#@TestID Hashed Signed
#@TestPurpose Verify an import of a LDIF file specifying the data to import is hashed/signed.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<!-- Test Not Implemented. Feature not avaliable -->
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Rejects File
#@TestID Rejects File
#@TestPurpose Verify an import of a LDIF file specifying the a path to a file into which rejected entries may be written if they are not accepted during the import process, when the rejects file is not overwritten.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Rejects File')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Example.ldif' % remote.data,
'dsRejectFile' : '%s/rejects.txt' % TMPDIR,
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Rejects File Overwrite
#@TestID Rejects File Overwrite
#@TestPurpose Verify an import of a LDIF file specifying the a path to a file into which rejected entries may be written if they are not accepted during the import process, when the rejects file is overwritten.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Rejects File Overwrite')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Example.ldif' % remote.data,
'dsRejectFile' : '%s/rejects.txt' % TMPDIR,
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=rhunt,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Skip Schema Validation Accept
#@TestID Skip Schema Validation Accept
#@TestPurpose Verify an import of a LDIF file containing invalided schema is accepted when skip schema validation is specified
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Skip Schema Validation Accept')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Schema.ldif' % remote.data,
'dsSkipSchemaValidation' : 'TRUE',
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=dmiller,ou=People,dc=example,dc=com',
'uid=kwinters,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Skip Schema Validation Reject
#@TestID skip schema validation reject
#@TestPurpose Verify an import of a LDIF file containing invalided schema is rejected when skip schema validation is not specified
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<testcase name="getTestCaseName('Skip Schema Validation Reject')">
<sequence>
<call function="'testCase_Preamble'"/>
<call function="'ImportLdifWithScript'">
{ 'location' : STAF_REMOTE_HOSTNAME,
'dsLdifFile' : '%s/backends/Schema.ldif' % remote.data,
'dsBackEnd' : 'userRoot'
}
</call>
<call function="'checktestRC'">
{ 'returncode' : RC ,
'result' : STAXResult }
</call>
<call function="'checkImport'">
{ 'expectedEntries' : ['uid=dmiller,ou=People,dc=example,dc=com'],
'missingEntries' : ['uid=scarter,ou=People,dc=example,dc=com',
'uid=kwinters,ou=People,dc=example,dc=com']
}
</call>
<call function="'testCase_Postamble'"/>
</sequence>
</testcase>
<!--- Test Case information
#@TestMarker Backend Import Tests
#@TestName Backend: Import: Error Codes
#@TestID Error Codes
#@TestPurpose Verify an import fails with an error code.
#@TestPreamble
#@TestSteps
#@TestPostamble
#@TestResult
-->
<!-- Need to know what the error codes are -->
<import machine="STAF_LOCAL_HOSTNAME"
file="'%s/testcases/backends/backend_cleanup.xml' % (TESTS_DIR)"/>
<call function="'backend_cleanup'"> { 'stopDS' : False } </call>
<call function="'testSuite_Postamble'"/>
</sequence>
</block>
</sequence>
</function>
</stax>