From ccb383c5308f88916e6946ef9479cedef8d98481 Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Tue, 04 Aug 2009 10:14:21 +0000
Subject: [PATCH] refactoring to use different backend types

---
 opends/tests/staf-tests/functional-tests/testcases/backends/import.xml | 2558 +++++++++++++++++++++++++++++-----------------------------
 1 files changed, 1,288 insertions(+), 1,270 deletions(-)

diff --git a/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml b/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml
index 88b49be..163f8b8 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/backends/import.xml
@@ -23,7 +23,7 @@
  !
  ! CDDL HEADER END
  !
- !      Copyright 2006-2008 Sun Microsystems, Inc.
+ !      Copyright 2006-2009 Sun Microsystems, Inc.
  ! -->
 
 <stax>
@@ -35,1279 +35,1297 @@
     <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/
-          -->
 
+        <try>      
 
-          <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
-          -->
+          <sequence>
+    
+            <script>
+              if not CurrentTestPath.has_key('group'):
+                CurrentTestPath['group']='backends'              
+              CurrentTestPath['suite']=STAXCurrentBlock
+            </script>
+                        
+            <call function="'testSuite_Preamble'"/>
             
-          <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'   : DIRECTORY_INSTANCE_BE
-                }
-              </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'       : DIRECTORY_INSTANCE_BE 
-                }
-              </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'       : DIRECTORY_INSTANCE_BE
-                }
-              </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'       : DIRECTORY_INSTANCE_BE
-                }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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>
-              
-              <!-- Known issue -->
-              <call function="'checktestRC'">
-                { 'returncode' : 1 ,
-                  'expected'   : 0 ,
-                  'result'     : 'Encrypted LDIF export is not implemented',
-                  'issue'      : '839'
-                }
-              </call>
-
-              <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' % remote.temp,
-                  'dsBackEnd'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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' % remote.temp,
-                  'dsBackEnd'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'              : DIRECTORY_INSTANCE_BE
-                  }
-              </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'          : DIRECTORY_INSTANCE_BE
-                  }
-              </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'"/>
+            <!--- 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/
+            -->
   
-        </sequence>
+            <call function="'common_setup'">
+              {
+                'quickStart'  : False ,
+                'startServer' : False ,
+                'loadData'    : False ,
+                'stopServer'  : 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'   : DIRECTORY_INSTANCE_BE
+                  }
+                </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'       : DIRECTORY_INSTANCE_BE 
+                  }
+                </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'       : DIRECTORY_INSTANCE_BE
+                  }
+                </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'       : DIRECTORY_INSTANCE_BE
+                  }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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>
+                
+                <!-- Known issue -->
+                <call function="'checktestRC'">
+                  { 'returncode' : 1 ,
+                    'expected'   : 0 ,
+                    'result'     : 'Encrypted LDIF export is not implemented',
+                    'issue'      : '839'
+                  }
+                </call>
+  
+                <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' % remote.temp,
+                    'dsBackEnd'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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' % remote.temp,
+                    'dsBackEnd'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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'              : DIRECTORY_INSTANCE_BE
+                    }
+                </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'          : DIRECTORY_INSTANCE_BE
+                    }
+                </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 -->
+    
+          </sequence>
+
+          <finally>
+            <sequence>
+              <!-- Test Suite Cleanup -->
+              <message>'Finally: Global Backup Cleanup.'</message>
+              <try>
+                <try>
+                  <call function="'common_cleanup'" />
+                <catch exception="'STAFException'">
+                  <sequence>
+                    <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+                  </sequence>
+                </catch>
+                </try>
+              <finally>
+                <call function="'testSuite_Postamble'"/>
+              </finally>
+              </try>
+            </sequence>
+          </finally>
+ 
+        </try>
         
       </block>
                   

--
Gitblit v1.10.0