From 92b7b5e45485b8cd7f80ab280bedcd51de176b71 Mon Sep 17 00:00:00 2001
From: gary_williams <gary_williams@localhost>
Date: Mon, 30 Oct 2006 11:23:12 +0000
Subject: [PATCH] functional tests - implement import tasks test suite
---
opendj-sdk/opends/tests/functional-tests/testcases/backends/backends.xml | 4
opendj-sdk/opends/tests/functional-tests/testcases/backends/import-tasks.xml | 1691 ++++++++++++++++++++++++++++++++++++++---------
opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml | 336 +++++++++
opendj-sdk/opends/tests/functional-tests/shared/data/backends/Exclude.ldif | 16
4 files changed, 1,701 insertions(+), 346 deletions(-)
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/data/backends/Exclude.ldif b/opendj-sdk/opends/tests/functional-tests/shared/data/backends/Exclude.ldif
index 51cadf4..945471b 100644
--- a/opendj-sdk/opends/tests/functional-tests/shared/data/backends/Exclude.ldif
+++ b/opendj-sdk/opends/tests/functional-tests/shared/data/backends/Exclude.ldif
@@ -2860,6 +2860,22 @@
uniquemember: uid=jwalker, ou=People, dc=example,dc=com
description: People who can manage QA entries
+dn: uid=bbaret, cn=QA Managers,ou=groups,dc=example,dc=com
+cn: Bruno Baret
+sn: Baret
+givenname: Bruno
+objectclass: top
+objectclass: person
+objectclass: organizationalPerson
+objectclass: inetOrgPerson
+l: Grenoble
+uid: bbaret
+mail: bbaret@example.com
+telephonenumber: +1 408 555 4666
+facsimiletelephonenumber: +1 408 555 0121
+roomnumber: 3445
+userpassword: picketer
+
dn: cn=PD Managers,ou=groups,dc=example,dc=com
objectclass: top
objectclass: groupOfUniqueNames
diff --git a/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml b/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml
index 8bd203d..ab84d9a 100755
--- a/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml
+++ b/opendj-sdk/opends/tests/functional-tests/shared/functions/dsadm.xml
@@ -307,6 +307,293 @@
</function>
+ <!-- Import Task Function -->
+ <function name="importLdifTask">
+
+ <function-prolog>
+ This function performs an on line import task of an ldif file
+ </function-prolog>
+
+ <function-map-args>
+ <function-required-arg name="dsInstanceHost">
+ Directory Server host name
+ </function-required-arg>
+ <function-required-arg name="dsInstancePort">
+ Directory Server port number
+ </function-required-arg>
+ <function-required-arg name="dsInstanceDn">
+ Directory Server Manager DN
+ </function-required-arg>
+ <function-required-arg name="dsInstancePswd">
+ Directory Server Manager Password
+ </function-required-arg>
+ <function-required-arg name="taskID">
+ The identifier for the task
+ </function-required-arg>
+ <function-required-arg name="ldifFile">
+ The name of the ldif file
+ </function-required-arg>
+ <function-optional-arg name="backEnd" default="'userRoot'">
+ Optional the name of the database backend
+ </function-optional-arg>
+ <function-optional-arg name="isCompressed" default="'FALSE'">
+ Optional imported ldif data file compressed
+ </function-optional-arg>
+ <function-optional-arg name="isEncrypted" default="'FALSE'">
+ Optional imported ldif data file encrypted
+ </function-optional-arg>
+ <function-optional-arg name="rejectsFile" default="' '">
+ Optional name of rejects file
+ </function-optional-arg>
+ <function-optional-arg name="overwriteRejectsFile" default="'FALSE'">
+ Optional name of rejects file
+ </function-optional-arg>
+ <function-optional-arg name="append" default="'FALSE'">
+ Optional append imported ldif data
+ </function-optional-arg>
+ <function-optional-arg name="skipSchemaValidation" default="'FALSE'">
+ Optional don't do schema validation on import
+ </function-optional-arg>
+ <function-optional-arg name="replaceExisting" default="'TRUE'">
+ Optional replace existing data
+ </function-optional-arg>
+ <function-optional-arg name="excludeBranches" default="' '">
+ Optional exclude branches
+ </function-optional-arg>
+ <function-optional-arg name="includeBranches" default="' '">
+ Optional include branches
+ </function-optional-arg>
+ <function-optional-arg name="excludeAttributes" default="' '">
+ Optional exclude attributes
+ </function-optional-arg>
+ <function-optional-arg name="includeAttributes" default="' '">
+ Optional include attributes
+ </function-optional-arg>
+ <function-optional-arg name="excludeFilters" default="' '">
+ Optional exclude filters
+ </function-optional-arg>
+ <function-optional-arg name="includeFilters" default="' '">
+ Optional include filters
+ </function-optional-arg>
+ </function-map-args>
+
+ <sequence>
+
+ <script>
+ taskDN='ds-task-id=%s,cn=Scheduled Tasks,cn=Tasks' % taskID
+ </script>
+
+ <!-- Build the import task configuration object -->
+ <script>
+ ldifLines=[]
+ ldifLines.append('dn: %s' % taskDN)
+ ldifLines.append('objectclass: top')
+ ldifLines.append('objectclass: ds-task')
+ ldifLines.append('objectclass: ds-task-import')
+ ldifLines.append('ds-task-class-name: org.opends.server.tasks.ImportTask')
+ </script>
+
+ <script>
+ ldifLines.append('ds-task-import-backend-id: %s' % backEnd )
+ ldifLines.append('ds-task-import-ldif-file: %s' % ldifFile )
+ ldifLines.append('ds-task-import-is-compressed: %s' % isCompressed )
+ ldifLines.append('ds-task-import-is-encrypted: %s' % isEncrypted )
+ </script>
+
+ <if expr="rejectsFile != ' '">
+ <script>
+ ldifLines.append('ds-task-import-reject-file: %s' % rejectsFile )
+ </script>
+ </if>
+
+ <script>
+ ldifLines.append('ds-task-import-overwrite-rejects: %s' % overwriteRejectsFile )
+ ldifLines.append('ds-task-import-append: %s' % append )
+ ldifLines.append('ds-task-import-skip-schema-validation: %s' % skipSchemaValidation )
+ ldifLines.append('ds-task-import-replace-existing: %s' % replaceExisting )
+ </script>
+
+ <iterate var="branch" in="excludeBranches">
+ <sequence>
+ <if expr="branch == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-exclude-branch: %s' % branch )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="branch" in="includeBranches">
+ <sequence>
+ <if expr="branch == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-include-branch: %s' % branch )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="attribute" in="excludeAttributes">
+ <sequence>
+ <if expr="attribute == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-exclude-attribute: %s' % attribute )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="attribute" in="includeAttributes">
+ <sequence>
+ <if expr="attribute == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-include-attribute: %s' % attribute )
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="filter" in="excludeFilters">
+ <sequence>
+ <if expr="filter == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-exclude-filter: %s' % filter)
+ </script>
+ </sequence>
+ </iterate>
+
+ <iterate var="filter" in="includeFilters">
+ <sequence>
+ <if expr="filter == ' '">
+ <break/>
+ </if>
+ <script>
+ ldifLines.append('ds-task-import-include-filter: %s' % filter)
+ </script>
+ </sequence>
+ </iterate>
+
+ <!-- Write out the import-task ldif -->
+ <script>
+ outfile = open('%s/import-task.ldif' % TMP_DATA_DIR,"w")
+
+ for line in ldifLines:
+ outfile.write("%s\n" % line)
+
+ outfile.close()
+ </script>
+
+
+ <!-- Copy the import-task ldif to remote host -->
+ <message>'Copy import task ldif file.'</message>
+ <call function="'copyfile'">
+ { 'srcfile' : '%s/import-task.ldif' % TMP_DATA_DIR,
+ 'destfile' : '%s/import-task.ldif' % STAGED_DATA_DIR,
+ 'remotehost' : STAF_REMOTE_HOSTNAME }
+ </call>
+
+ <!-- On line Import Task with ldapmodify -->
+ <message>
+ 'ldapmodify.%s -a -h %s -p %s -D "%s" -w %s' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)
+ </message>
+ <process name="'On line Import Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapmodify.%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-a -h %s -p %s -D "%s" -w %s' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stdin>'%s/import-task.ldif' % STAGED_DATA_DIR</stdin>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ importTaskRC=RC
+ importTaskResult=STAXResult
+ </script>
+
+ <call function="'checkRC'">
+ { 'returncode' : importTaskRC ,
+ 'result' : importTaskResult }
+ </call>
+
+ <!-- Check that the task is completed -->
+ <script>
+ loopRC=1
+ </script>
+
+ <script>
+ import re
+ searchre = re.compile('ds-task-state: COMPLETED_SUCCESSFULLY')
+ </script>
+
+ <!-- Wait for the task to be COMPLETED_SUCCESSFULLY -->
+ <loop from="1" to="5" while="loopRC != 0">
+
+ <sequence>
+
+ <message>
+ 'ldapsearch.%s -h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (fileExt,dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)
+ </message>
+ <process name="'Search On line Import Task'">
+ <location>'%s' % (STAF_REMOTE_HOSTNAME) </location>
+ <command>'%s/ldapsearch.%s' % (OPENDS_BINPATH,fileExt)</command>
+ <parms>'-h %s -p %s -D "%s" -w %s -s base -b "%s" "objectclass=*" ds-task-state' % (dsInstanceHost,dsInstancePort,dsInstanceDn,dsInstancePswd,taskDN)</parms>
+ <workdir>'%s' % (OPENDS_BINPATH)</workdir>
+ <envs>
+ ['PATH=/bin:/usr/bin:%s' % (OPENDS_BINPATH), 'JAVA_HOME=%s' % (JAVA_HOME)]
+ </envs>
+ <stderr mode="'stdout'"/>
+ <returnstdout/>
+ </process>
+
+ <script>
+ searchRC=RC
+ searchResult=STAXResult
+ </script>
+
+ <script>
+ result = STAXResult[0][1]
+ </script>
+
+ <if expr='re.search(searchre, result) != None'>
+ <sequence>
+ <script>loopRC=0</script>
+ </sequence>
+ <else>
+ <message log="1" level="'Warning'">
+ 'No match on ds-task-state.'
+ </message>
+ </else>
+ </if>
+
+ <call function="'checkRC'">
+ { 'returncode' : searchRC ,
+ 'result' : searchResult }
+ </call>
+
+ <call function="'Sleep'">
+ { 'sleepForMilliSeconds' : '2000' }
+ </call>
+
+ </sequence>
+
+ </loop>
+
+ <return>loopRC</return>
+
+ </sequence>
+
+ </function>
+
<!-- Check Import Function -->
<function name="checkImport">
@@ -336,18 +623,30 @@
</function-map-args>
<sequence>
-
- <!-- StartDS -->
- <call function="'startDS'">
- { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
- </call>
+
+ <!-- If we don't want to start DS then we don't need to stop it -->
+ <script>stopDS=startDS</script>
- <!-- Wait for DS to start -->
- <call function="'isAlive'">
- { 'noOfLoops' : 5 ,
- 'noOfMilliSeconds' : 2000 }
- </call>
-
+ <!-- Do we need to start the DS -->
+ <if expr="startDS == 'yes'">
+
+ <sequence>
+
+ <!-- StartDS -->
+ <call function="'startDS'">
+ { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
+ </call>
+
+ <!-- Wait for DS to start -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ </sequence>
+
+ </if>
+
<!-- Search for expected entries -->
<iterate var="expectedEntry" in="expectedEntries">
@@ -400,12 +699,17 @@
</sequence>
</iterate>
-
- <!-- StopDS -->
- <call function="'stopDS'">
- { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT) }
- </call>
+ <!-- Do we need to stop the Directory Server -->
+ <if expr="stopDS == 'yes'">
+
+ <!-- StopDS -->
+ <call function="'stopDS'">
+ { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT) }
+ </call>
+
+ </if>
+
</sequence>
</function>
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/backends/backends.xml b/opendj-sdk/opends/tests/functional-tests/testcases/backends/backends.xml
index dd175ea..18eb5c9 100644
--- a/opendj-sdk/opends/tests/functional-tests/testcases/backends/backends.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/backends/backends.xml
@@ -37,6 +37,10 @@
file="'%s/testcases/backends/import.xml' % (TESTS_DIR)"/>
<call function="'main_import'" />
+ <import machine="'%s' % (STAF_LOCAL_HOSTNAME)"
+ file="'%s/testcases/backends/import-tasks.xml' % (TESTS_DIR)"/>
+ <call function="'main_import-tasks'" />
+
</sequence>
</function>
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/backends/import-tasks.xml b/opendj-sdk/opends/tests/functional-tests/testcases/backends/import-tasks.xml
index 5b6da66..e9d8c20 100644
--- a/opendj-sdk/opends/tests/functional-tests/testcases/backends/import-tasks.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/backends/import-tasks.xml
@@ -28,341 +28,1372 @@
<stax>
- <defaultcall function="main"/>
+ <defaultcall function="main_import-tasks"/>
- <function name="main">
+ <function name="main_import-tasks">
<sequence>
-
- <!--- Test Suite information
- #@TestSuiteName Backend Import Tasks Tests
- #@TestSuitePurpose Verify that the basic import using the task based functionality is working in the Directory Server.
- #@TestSuiteID Import Tasks Tests
- #@TestSuiteGroup Import-Tasks
- #@TestGroup Backend
- #@TestScript import-tasks.xml
- #@TestHTMLLink http://opends.dev.java.net/
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: LDIF Default
- #@TestID LDIF Default
- #@TestPurpose Verify an import task of a LDIF file using the default backend.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: LDIF Non Default
- #@TestID LDIF Non Default
- #@TestPurpose Verify an import task of a LDIF file using a differrent backend to the default.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Include Branch
- #@TestID Fractional Include Branch
- #@TestPurpose Verify an import task of a LDIF file specifying a branch that should be included in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Include Branches
- #@TestID Fractional Include Branches
- #@TestPurpose Verify an import task of a LDIF file specifying multiple branches that should be included in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Exclude Branch
- #@TestID Fractional Exclude Branch
- #@TestPurpose Verify an import task of a LDIF file specifying a branch that should be excluded in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Exclude Branches
- #@TestID Fractional Exclude Branches
- #@TestPurpose Verify an import task of a LDIF file specifying multiple branches that should be excluded in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Branches Mix
- #@TestID Fractional Branches Mix
- #@TestPurpose Verify an import task of a LDIF file specifying a mix of include and exclude branches.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Include Attribute
- #@TestID Fractional Include Attribute
- #@TestPurpose Verify an import task of a LDIF file specifying an attribute that should be included in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Include Attributes
- #@TestID Fractional Include Attributes
- #@TestPurpose Verify an import task of a LDIF file specifying multiple attributes that should be included in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Exclude Attribute
- #@TestID Fractional Exclude Attribute
- #@TestPurpose Verify an import task of a LDIF file specifying an attribute that should be excluded in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Exclude Attribute
- #@TestID Fractional Exclude Attributes
- #@TestPurpose Verify an import task of a LDIF file specifying multiple attribute that should be excluded in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Mix
- #@TestID Fractional Mix
- #@TestPurpose Verify an import task of a LDIF file specifying a mix of fractional attributes and branches.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Filtered Include
- #@TestID Filtered Include
- #@TestPurpose Verify an import task of a LDIF file specifying a search filter control which entries are included in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Filtered Exclude
- #@TestID Filtered Exclude
- #@TestPurpose Verify an import task of a LDIF file specifying a search filter control which entries are excluded in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Filtered Includes
- #@TestID Filtered Includes
- #@TestPurpose Verify an import task of a LDIF file specifying multiple search filters control which entries are included in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Filtered Excludes
- #@TestID Filtered Excludes
- #@TestPurpose Verify an import task of a LDIF file specifying multiple search filters control which entries are excluded in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Filtered Includes Complex
- #@TestID Filtered Includes Complex
- #@TestPurpose Verify an import task of a LDIF file specifying complex search filters control which entries are included in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Filtered Excludes Complex
- #@TestID Filtered Excludes Complex
- #@TestPurpose Verify an import task of a LDIF file specifying complex search filters control which entries are excluded in the import.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Fractional Filtered Mix
- #@TestID Fractional Filtered Mix
- #@TestPurpose Verify an import task of a LDIF file specifying a mix of fractional and filtered.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Append
- #@TestID Append
- #@TestPurpose Verify an import task of a LDIF file specifying that the import process should append to the existing database.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks:Append Replace Existing
- #@TestID Append Replace Existing
- #@TestPurpose Verify an import task of a LDIF file specifying that an existing entry should be replaced when appending to an existing database.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Compressed
- #@TestID Compressed
- #@TestPurpose Verify an import task of a LDIF file specifying the data to import is compressed.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Encrypted
- #@TestID Encrypted
- #@TestPurpose Verify an import task of a LDIF file specifying the data to import is encrypted.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Hashed Signed
- #@TestID Hashed Signed
- #@TestPurpose Verify an import task of a LDIF file specifying the data to import is hashed/signed.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Rejects File
- #@TestID Rejects File
- #@TestPurpose Verify an import task 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
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Rejects File Overwrite
- #@TestID Rejects File Overwrite
- #@TestPurpose Verify an import task 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
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Skip Schema Validation Accept
- #@TestID Skip Schema Validation Accept
- #@TestPurpose Verify an import task of a LDIF file containing invalided schema is accepted when skip schema validation is specified
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
-
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Skip Schema Validation Reject
- #@TestID Skip Schema Validation Reject
- #@TestPurpose Verify an import task of a LDIF file containing invalided schema is rejected when skip schema validation is not specified
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
+
+ <parallel>
- <!--- Test Case information
- #@TestMarker Backend Import Tasks Tests
- #@TestName Import Tasks: Error Codes
- #@TestID Error Codes
- #@TestPurpose Verify an import task fails with an error code.
- #@TestPreamble
- #@TestSteps
- #@TestPostamble
- #@TestResult
- -->
+ <block name="'Block DS Process Active'">
+
+ <!--- Block : DS -->
+ <testcase name="'StartDS'">
+ <sequence>
+ <message>
+ 'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Start DS -->
+ <call function="'startDS'">
+ { 'dsbinpath' : '%s' % (OPENDS_BINPATH) }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Block : DS -->
+ </block>
+
+ <!--- Block : Test Cases -->
+ <block name="'Block Test Cases Active'">
+
+ <sequence>
+
+ <!--- Check that DS started -->
+ <call function="'isAlive'">
+ { 'noOfLoops' : 5 ,
+ 'noOfMilliSeconds' : 2000 }
+ </call>
+
+ <!--- Test Suite information
+ #@TestSuiteName Backend Import Tasks Tests
+ #@TestSuitePurpose Verify that the basic import using the task based functionality is working in the Directory Server.
+ #@TestSuiteID Import Tasks Tests
+ #@TestSuiteGroup Import-Tasks
+ #@TestGroup Backend
+ #@TestScript import-tasks.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: LDIF Default
+ #@TestID LDIF Default
+ #@TestPurpose Verify an import task of a LDIF file using the default backend.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: LDIF Default'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: LDIF Non Default
+ #@TestID LDIF Non Default
+ #@TestPurpose Verify an import task of a LDIF file using a differrent backend to the default.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Include Branch
+ #@TestID Fractional Include Branch
+ #@TestPurpose Verify an import task of a LDIF file specifying a branch that should be included in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Include Branch'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'includeBranches' : '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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Include Branches
+ #@TestID Fractional Include Branches
+ #@TestPurpose Verify an import task of a LDIF file specifying multiple branches that should be included in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Include Branches'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'includeBranches' : ['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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Exclude Branch
+ #@TestID Fractional Exclude Branch
+ #@TestPurpose Verify an import task of a LDIF file specifying a branch that should be excluded in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Exclude Branch'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeBranches' : '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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Exclude Branches
+ #@TestID Fractional Exclude Branches
+ #@TestPurpose Verify an import task of a LDIF file specifying multiple branches that should be excluded in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Exclude Branches'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeBranches' : ['ou=Departed,ou=People,dc=example,dc=com',
+ 'cn=QA Managers,ou=groups,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',
+ 'uid=bbaret,cn=QA Managers,ou=groups,dc=example,dc=com'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Branches Mix
+ #@TestID Fractional Branches Mix
+ #@TestPurpose Verify an import task of a LDIF file specifying a mix of include and exclude branches.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Branches Mix'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'includeBranches' : 'dc=com',
+ 'excludeBranches' : '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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Include Attribute
+ #@TestID Fractional Include Attribute
+ #@TestPurpose Verify an import task of a LDIF file specifying an attribute that should be included in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Include Attribute'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'includeAttributes' : 'dc',
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Include Attributes
+ #@TestID Fractional Include Attributes
+ #@TestPurpose Verify an import task of a LDIF file specifying multiple attributes that should be included in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Include Attributes'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'includeAttributes' : ['dc','cn','ou','sn']
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Exclude Attribute
+ #@TestID Fractional Exclude Attribute
+ #@TestPurpose Verify an import task of a LDIF file specifying an attribute that should be excluded in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Exclude Attribute'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeAttributes' : 'userpassword'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Exclude Attributes
+ #@TestID Fractional Exclude Attributes
+ #@TestPurpose Verify an import task of a LDIF file specifying multiple attribute that should be excluded in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Exclude Attributes'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeAttributes' : ['userpassword','mail','roomnumber']
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword','mail','roomnumber'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Mix
+ #@TestID Fractional Mix
+ #@TestPurpose Verify an import task of a LDIF file specifying a mix of fractional attributes and branches.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Mix'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'includeBranches' : ['dc=com','dc=example,dc=com','ou=People,dc=example,dc=com'],
+ 'excludeBranches' : 'ou=Departed,ou=People,dc=example,dc=com',
+ 'includeAttributes' : ['dc','cn','ou','sn'],
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Filtered Include
+ #@TestID Filtered Include
+ #@TestPurpose Verify an import task of a LDIF file specifying a search filter control which entries are included in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Filtered Include'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'includeFilters' : 'objectclass=*',
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Filtered Exclude
+ #@TestID Filtered Exclude
+ #@TestPurpose Verify an import task of a LDIF file specifying a search filter control which entries are excluded in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Filtered Exclude'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeFilters' : 'objectclass=person',
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Filtered Includes
+ #@TestID Filtered Includes
+ #@TestPurpose Verify an import task of a LDIF file specifying multiple search filters control which entries are included in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Filtered Includes'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'includeFilters' : ['objectclass=domain*','objectclass=organizationalunit']
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Filtered Excludes
+ #@TestID Filtered Excludes
+ #@TestPurpose Verify an import task of a LDIF file specifying multiple search filters control which entries are excluded in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Filtered Excludes'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeFilters' : ['objectclass=person','objectclass=organizationalunit'],
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['dc=example,dc=com'],
+ 'missingEntries' : ['ou=People,dc=example,dc=com'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Filtered Includes Complex
+ #@TestID Filtered Includes Complex
+ #@TestPurpose Verify an import task of a LDIF file specifying complex search filters control which entries are included in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Filtered Includes Complex'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Include.ldif' % STAGED_DATA_DIR,
+ 'includeFilters' : '|(objectclass=person)(objectclass=domain)(objectclass=organizationalunit)',
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Filtered Excludes Complex
+ #@TestID Filtered Excludes Complex
+ #@TestPurpose Verify an import task of a LDIF file specifying complex search filters control which entries are excluded in the import.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Filtered Excludes Complex'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeFilters' : '&(objectclass=person)(ou=Departed)',
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Fractional Filtered Mix
+ #@TestID Fractional Filtered Mix
+ #@TestPurpose Verify an import task of a LDIF file specifying a mix of fractional and filtered.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Fractional Filtered Mix'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Exclude.ldif' % STAGED_DATA_DIR,
+ 'excludeFilters' : '&(objectclass=person)(ou=Departed)',
+ 'includeBranches' : 'dc=com',
+ 'excludeAttributes' : 'userpassword'
+ }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'checkImport'">
+ { 'expectedEntries' : ['uid=scarter,ou=People,dc=example,dc=com'],
+ 'missingAttributes' : ['userpassword'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Append
+ #@TestID Append
+ #@TestPurpose Verify an import task of a LDIF file specifying that the import process should append to the existing database.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Append'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Append.ldif' % STAGED_DATA_DIR,
+ 'append' : 'TRUE'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks:Append Replace Existing
+ #@TestID Append Replace Existing
+ #@TestPurpose Verify an import task of a LDIF file specifying that an existing entry should be replaced when appending to an existing database.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Append Replace Existing'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Append.ldif' % STAGED_DATA_DIR,
+ 'append' : 'TRUE',
+ 'replaceExisting' : 'TRUE'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Compressed
+ #@TestID Compressed
+ #@TestPurpose Verify an import task of a LDIF file specifying the data to import is compressed.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Compressed'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Example.ldif.gz' % STAGED_DATA_DIR,
+ 'isCompressed' : 'TRUE'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Encrypted
+ #@TestID Encrypted
+ #@TestPurpose Verify an import task of a LDIF file specifying the data to import is encrypted.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Encrypted'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'isEncrypted' : 'TRUE'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <!-- This test should fail. -->
+ <tcstatus result="'fail'"/>
+ <message log="1" level="'Error'">
+ 'Error: Known bug. Issue 839: Encrypted LDIF export is not implemented'
+ </message>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Hashed Signed
+ #@TestID Hashed Signed
+ #@TestPurpose Verify an import task 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 Tasks Tests
+ #@TestName Import Tasks: Rejects File
+ #@TestID Rejects File
+ #@TestPurpose Verify an import task 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="'Import Tasks: Rejects File'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'rejectsFile' : './rejects'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <!-- Should check there is a rejects file and the contents are correct -->
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Rejects File Overwrite
+ #@TestID Rejects File Overwrite
+ #@TestPurpose Verify an import task 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="'Import Tasks: Rejects File'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Example.ldif' % STAGED_DATA_DIR,
+ 'rejectsFile' : './rejects',
+ 'overwriteRejectsFile' : 'TRUE'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <!-- Should check there is a rejects file and the contents are correct -->
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Skip Schema Validation Accept
+ #@TestID Skip Schema Validation Accept
+ #@TestPurpose Verify an import task of a LDIF file containing invalided schema is accepted when skip schema validation is specified
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Skip Schema Validation Accept'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Schema.ldif' % STAGED_DATA_DIR,
+ 'skipSchemaValidation' : 'TRUE'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Skip Schema Validation Reject
+ #@TestID Skip Schema Validation Reject
+ #@TestPurpose Verify an import task of a LDIF file containing invalided schema is rejected when skip schema validation is not specified
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <testcase name="'Import Tasks: Skip Schema Validation Reject'">
+
+ <sequence>
+
+ <call function="'testCaseStartBanner'"/>
+
+ <call function="'importLdifTask'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+ 'taskID' : STAXCurrentTestcase,
+ 'ldifFile' : '%s/backends/Schema.ldif' % STAGED_DATA_DIR,
+ 'skipSchemaValidation' : 'FALSE'
+ }
+ </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'],
+ 'startDS' : 'no'
+ }
+ </call>
+
+ <call function="'testCaseEndBanner'"/>
+
+ </sequence>
+
+ </testcase>
+
+ <!--- Test Case information
+ #@TestMarker Backend Import Tasks Tests
+ #@TestName Import Tasks: Error Codes
+ #@TestID Error Codes
+ #@TestPurpose Verify an import task fails with an error code.
+ #@TestPreamble
+ #@TestSteps
+ #@TestPostamble
+ #@TestResult
+ -->
+
+ <!-- Need to know what the error codes are -->
+
+ <!--- Test Case : Stop DS -->
+ <testcase name="'StopDS'">
+ <sequence>
+ <message>
+ 'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
+ </message>
+
+ <!--- Stop DS -->
+ <call function="'stopDS'">
+ { 'dsInstancePort' : '%s' % (DIRECTORY_INSTANCE_PORT) }
+ </call>
+
+ <call function="'checktestRC'">
+ { 'returncode' : RC ,
+ 'result' : STAXResult }
+ </call>
+
+ </sequence>
+
+ </testcase>
+
+ </sequence>
+
+ <!--- Block : Test Cases -->
+ </block>
+
+ </parallel>
+
</sequence>
</function>
--
Gitblit v1.10.0