From 60ea4a0c3340b8387635b253997e06741434454b Mon Sep 17 00:00:00 2001
From: maudj <maudj@localhost>
Date: Mon, 25 Jan 2010 13:29:30 +0000
Subject: [PATCH] add new core/collectiveattr testsuite - maudj
---
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests_bk.xml | 463 ++++++++++++++++++++++++++++++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml | 276 ++++++++++++++++++
opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml | 145 +++++++++
3 files changed, 884 insertions(+), 0 deletions(-)
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml
new file mode 100644
index 0000000..db0e692
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr.xml
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2010 Sun Microsystems, Inc.
+ ! -->
+<stax>
+ <defaultcall function="core_collectiveattr"/>
+ <function name="core_collectiveattr" scope="local">
+ <sequence>
+ <block name="'core_collectiveattr'">
+ <try>
+ <sequence>
+ <script>
+ CurrentTestPath['group']='core'
+ CurrentTestPath['suite']='collectiveattr'
+
+ __group=CurrentTestPath['group']
+ __groupdir='%s/testcases/%s' % (TESTS_DIR,__group)
+ </script>
+
+ <!--- Test Suite information
+ #@TestSuiteName Collective attributes test suite
+ #@TestSuitePurpose Verify collective attributes
+ #@TestSuiteID Collective
+ #@TestSuiteGroup Core
+ #@TestGroup Core
+ #@TestScript core_collectiveattr.xml
+ #@TestHTMLLink http://opends.dev.java.net/
+ -->
+ <call function="'testSuite_Preamble'"/>
+
+ <call function="'common_setup'">
+ {
+ 'quickStart' : False,
+ 'startServer' : True,
+ 'stopServer' : False,
+ 'loadData' : True,
+ 'ldifFile' : '%s/core/ldifs/core_collectiveattr.ldif' % remote.data
+ }
+ </call>
+
+ <try>
+ <sequence>
+
+ <!-- List of Import of Test Functions -->
+ <script>
+ importList=[]
+ importList.append('collectiveattr/core_collectiveattr_tests')
+ </script>
+
+ <!-- Import the files for this test suite -->
+ <iterate var="__import" in="importList">
+ <import machine="STAF_LOCAL_HOSTNAME"
+ file="'%s/%s.xml' % (__groupdir,__import)"/>
+ </iterate>
+
+ <!-- Specific to collective attributes tests -->
+ <script>
+ __baseDN='o=Collective attributes tests, dc=example,%s' % server.suffix
+ </script>
+
+ <!-- List of Test Cases -->
+ <!-- Short tests: tests 001 to -->
+ <!-- Long tests: tests -->
+ <script>
+ testsList=[]
+ testsList.append('core_collectiveattr_001')
+ testsList.append('core_collectiveattr_002')
+ #testsList.append('core_collectiveattr_003')
+ #testsList.append('core_collectiveattr_004')
+ #testsList.append('core_collectiveattr_005')
+ #testsList.append('core_collectiveattr_006')
+ </script>
+
+ <!-- Execute the Tests -->
+ <iterate var="__test" in="testsList">
+ <sequence>
+ <call function="'%s' % (__test)" />
+ </sequence>
+ </iterate>
+
+ </sequence>
+ <catch exception="'STAFException.TestSuite.SetupException'">
+ <sequence>
+ <message log="1" level="'fatal'">
+ 'Setup of test suite failed.'
+ </message>
+ <rethrow/>
+ </sequence>
+ </catch>
+
+ <finally>
+ <message>'Test Cases Completed.'</message>
+ </finally>
+
+ </try>
+
+ </sequence>
+
+ <finally>
+ <sequence>
+ <!-- Test Suite Cleanup -->
+ <message>'Finally: Controls Cleanup.'</message>
+ <try>
+ <call function="'common_cleanup'" />
+ <catch exception="'STAFException'">
+ <sequence>
+ <message log="1" level="'fatal'">'Cleanup of test suite failed.'</message>
+ </sequence>
+ </catch>
+ <finally>
+ <call function="'testSuite_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </finally>
+
+ </try>
+
+ </block>
+ </sequence>
+ </function>
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml
new file mode 100644
index 0000000..554a48c
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests.xml
@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2010 Sun Microsystems, Inc.
+ ! -->
+<stax>
+
+ <!-- Definition of Test Cases -->
+
+ <!--- Test Case : Core : Collective Attributes : core_collectiveattr_001 -->
+ <!--- Test Case information
+ #@TestMarker Schema
+ #@TestName Core : Collective Attributes
+ #@TestID core_collectiveattr_001
+ #@TestPurpose Create and add a collective attribute
+ #@TestPreamble
+ #@TestSteps add collective attribute with attributename;collective
+ #@TestSteps (with secretary) verify in 2 entries that
+ #@TestSteps attribute has been added
+ #@TestPostamble
+ #@TestResult Test is successful if the result code is 0
+ -->
+ <function name="core_collectiveattr_001" scope="local">
+ <testcase name="getTestCaseName('Create and add a Collective Attribute')">
+ <sequence>
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ coreattrLdif1='%s/core/ldifs/collectiveattr-1.ldif' % remote.data
+ baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com'
+ targetDN1='uid=kwinters,ou=North,ou=America,%s' % baseDN
+ targetDN2='uid=abergin,ou=Europe,%s' % baseDN
+ </script>
+
+ <message>'++ Add collective attribute secretary, should pass'</message>
+ <call function="'ldapModifyWithScript'">
+ {
+ 'dsAdd' : 'True' ,
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsFilename' : coreattrLdif1
+ }
+ </call>
+
+ <message>'++ Search attribute secretary in user kwinters'</message>
+ <call function="'ldapSearchWithScript'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : targetDN1 ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'secretary'
+ }
+ </call>
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+ <call function="'searchString'">
+ { 'expectedString' : 'secretary: uid=tmorris,ou=Asia,',
+ 'returnString' : returnString ,
+ 'expectedRC' : expectedRC ,
+ }
+ </call>
+
+ <message>'++ Search attribute collectiveAttributeSubentries in user kwinters'</message>
+ <call function="'ldapSearchWithScript'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : targetDN1 ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'collectiveAttributeSubentries'
+ }
+ </call>
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+ <call function="'searchString'">
+ { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective Secretary,',
+ 'returnString' : returnString ,
+ 'expectedRC' : expectedRC ,
+ }
+ </call>
+
+
+ <message>'++ Search attribute secretary in user abergin'</message>
+ <call function="'ldapSearchWithScript'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : targetDN2 ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'secretary'
+ }
+ </call>
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+ <call function="'searchString'">
+ { 'expectedString' : 'secretary: uid=tmorris,ou=Asia,',
+ 'returnString' : returnString ,
+ 'expectedRC' : expectedRC ,
+ }
+ </call>
+
+
+ </sequence>
+
+ <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--- Test Case : Core : Collective Attributes : -->
+ <!--- Test Case information
+ #@TestMarker Schema
+ #@TestName Core : Collective Attributes
+ #@TestID core_collectiveattr_002
+ #@TestPurpose Modify the value of the collective attribute
+ #@TestPreamble
+ #@TestSteps Modify the value of the collective attribute secretary
+ #@TestSteps Verify in one entry the attribute value has changed.
+ #@TestPostamble
+ #@TestResult Test is successful if the result code is 0
+ -->
+ <function name="core_collectiveattr_002" scope="local">
+ <testcase name="getTestCaseName('Modify the value of the Collective Attribute ')">
+ <sequence>
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ coreattrLdif2='%s/core/ldifs/collectiveattr-2.ldif' % remote.data
+ baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com'
+ targetDN1='uid=kwinters,ou=North,ou=America,%s' % baseDN
+ targetDN2='uid=abergin,ou=Europe,%s' % baseDN
+ </script>
+
+ <message>'++ Add collective attribute secretary, should pass'</message>
+ <call function="'ldapModifyWithScript'">
+ {
+ 'dsAdd' : 'True' ,
+ 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsFilename' : coreattrLdif2
+ }
+ </call>
+
+ <message>'++ Search attribute secretary in user kwinters'</message>
+ <call function="'ldapSearchWithScript'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : targetDN1 ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'secretary'
+ }
+ </call>
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+ <call function="'searchString'">
+ { 'expectedString' : 'secretary: uid=dmiller,ou=America,',
+ 'returnString' : returnString ,
+ 'expectedRC' : 0 ,
+ }
+ </call>
+
+ <message>'++ Search attribute collectiveAttributeSubentries in user kwinters'</message>
+ <call function="'ldapSearchWithScript'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : targetDN1 ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'collectiveAttributeSubentries'
+ }
+ </call>
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+ <call function="'searchString'">
+ { 'expectedString' : 'collectiveAttributeSubentries: cn=Collective Secretary,',
+ 'returnString' : returnString ,
+ 'expectedRC' : 0 ,
+ }
+ </call>
+
+ <message>'++ Search attribute secretary in user abergin'</message>
+ <call function="'ldapSearchWithScript'">
+ { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST ,
+ 'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
+ 'dsInstanceDn' : DIRECTORY_INSTANCE_DN ,
+ 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
+ 'dsBaseDN' : targetDN2 ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'secretary'
+ }
+ </call>
+ <script>
+ returnString = STAXResult[0][1]
+ </script>
+ <call function="'searchString'">
+ { 'expectedString' : 'secretary: uid=dmiller,ou=America,',
+ 'returnString' : returnString ,
+ 'expectedRC' : 0 ,
+ }
+ </call>
+
+ </sequence>
+
+ <catch exception="'STAXException.*'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Test failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+</stax>
diff --git a/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests_bk.xml b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests_bk.xml
new file mode 100644
index 0000000..69aaf6b
--- /dev/null
+++ b/opendj-sdk/opends/tests/staf-tests/functional-tests/testcases/core/collectiveattr/core_collectiveattr_tests_bk.xml
@@ -0,0 +1,463 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE stax SYSTEM "../../../../shared/stax.dtd">
+<!--
+ ! CDDL HEADER START
+ !
+ ! The contents of this file are subject to the terms of the
+ ! Common Development and Distribution License, Version 1.0 only
+ ! (the "License"). You may not use this file except in compliance
+ ! with the License.
+ !
+ ! You can obtain a copy of the license at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
+ ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
+ ! See the License for the specific language governing permissions
+ ! and limitations under the License.
+ !
+ ! When distributing Covered Code, include this CDDL HEADER in each
+ ! file and include the License file at
+ ! trunk/opends/resource/legal-notices/OpenDS.LICENSE. If applicable,
+ ! add the following below this CDDL HEADER, with the fields enclosed
+ ! by brackets "[]" replaced with your own identifying information:
+ ! Portions Copyright [yyyy] [name of copyright owner]
+ !
+ ! CDDL HEADER END
+ !
+ ! Copyright 2010 Sun Microsystems, Inc.
+ ! -->
+<stax>
+
+ <!-- Definition of Test Cases -->
+
+ <!--- Test Case : Core : Collective Attributes : core_collectiveattr_001 -->
+ <!--- Test Case information
+ #@TestMarker Schema
+ #@TestName Core : Collective Attributes
+ #@TestID core_collectiveattr_001
+ #@TestPurpose Create and add a collective attribute
+ #@TestPreamble
+ #@TestSteps add collective attribute with attributename;collective
+ #@TestSteps (with secretary) verify in the entries that
+ #@TestSteps attribute has been added
+ #@TestPostamble
+ #@TestResult Test is successful if the result code is 0
+ -->
+ <function name="core_collectiveattr_001" scope="local">
+ <testcase name="getTestCaseName('Create and add a Collective Attribute')">
+ <sequence>
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ coreattrLdif='%s/core/ldifs/collectiveattr-1.ldif' % remote.data
+ baseDN='ou=People,o=collectiveattr tests,dc=example,dc=com'
+ targetDN='uid=kwinters,ou=North,ou=America,%s' % baseDN
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapModifyWithScript' ,
+ 'functionMessage' : 'Add ldif with secretary;collective',
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'location' : server.location ,
+ 'dsInstanceHost': server.host ,
+ 'dsInstancePort': server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd': server.password ,
+ 'dsAdd' : 'TRUE' ,
+ 'dsFilename' : coreattrLdif }
+ }
+ </call>
+
+ <script>
+ _functionResult=parse_stax_result(STAXResult)
+ </script>
+
+ <!-- Search for the secretary attributes-->
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the secretary entry.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : targetDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'secretary' }
+ }
+ </call>
+
+ <script>
+ _functionResult=parse_stax_result(STAXResult)
+ </script>
+
+ <!-- Check that secretary is returned in search result -->
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check secretary attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'secretary' ,
+ 'returnString' : _functionResult }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LdapAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Utils.CheckStringException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: UtilsCheck failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <!--- Test Case : Core : Collective Attributes : Import Collective Attributes from File -->
+ <!--- Test Case information
+ #@TestMarker Schema
+ #@TestName Core : Collective Attributes
+ #@TestID Import Collective Attributes from File
+ #@TestPurpose Test import of ldif containing collective transfer option
+ #@TestPreamble
+ #@TestSteps Import ldif containing collective attributes
+ #@TestPostamble
+ #@TestResult Test is successful if the result code is 0
+ -->
+ <function name="core_binaryattr_002" scope="local">
+ <testcase name="getTestCaseName('Import Collective Attributes from File.')">
+ <sequence>
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ binaryattrLdif='%s/binaryattr.ldif' % remote.temp
+ templateName='binaryattr.template'
+ </script>
+
+ <!-- On line import of ldif file containing collective attribute -->
+ <call function="'runFunction'">
+ { 'functionName' : 'ImportLdifWithScript' ,
+ 'functionMessage' : 'Import ldif file with collective entries' ,
+ 'functionException' : 'Admin.ImportException' ,
+ 'functionArguments' : { 'location' : server.location ,
+ 'dsInstanceHost' : server.host ,
+ 'dsInstanceAdminPort' : server.adminport ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBackEnd' : server.backend ,
+ 'dsLdifFile' : binaryattrLdif ,
+ 'dsRejectFile' : '%s/rejects.txt' % remote.temp }
+ }
+ </call>
+
+ <!-- Check that the import task is complete-->
+ <call function="'runFunction'">
+ { 'functionName' : 'manage-tasks' ,
+ 'functionMessage' : 'Manage the online import task' ,
+ 'functionException' : 'Admin.ManageTaskException' ,
+ 'functionArguments' : { 'location' : server.location ,
+ 'dsInstanceHost' : server.host ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsQuiet' : ' ' }
+ }
+ </call>
+
+ <script>
+ _functionResult=parse_stax_result(STAXResult)
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'searchStringForSubstring' ,
+ 'functionMessage' : 'Check import is completed successfully.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'returnString' : _functionResult ,
+ 'testString' : 'Completed successfully' ,
+ 'expectedResult' : '1' }
+ }
+ </call>
+
+ <!-- Count the number of entries in backend -->
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Count number of imported entries.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'dn' ,
+ 'dsCountEntries' : 'True' ,
+ 'expectedRC' : 0 }
+ }
+ </call>
+
+ <script>
+ _functionResult=parse_stax_result(STAXResult)
+ </script>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'searchStringForSubstring' ,
+ 'functionMessage' : 'Check import is completed successfully.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'returnString' : _functionResult ,
+ 'testString' : 'Total number of matching entries: 304' ,
+ 'expectedResult' : '1' }
+ }
+ </call>
+
+ <!-- Search for the usercertificate attributes-->
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the usercertificate entry.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : __baseDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'usercertificate' }
+ }
+ </call>
+
+ <script>
+ _functionResult=parse_stax_result(STAXResult)
+ </script>
+
+ <!-- Check that usercertificate;collective is returned in search result -->
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check usercertificate attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'usercertificate;collective' ,
+ 'returnString' : _functionResult }
+ }
+ </call>
+ </sequence>
+ <catch exception="'STAXException.Admin.ImportException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: Import failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Admin.ManageTaskException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: ManageTask failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Utils.CheckStringException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: UtilsCheck failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+ <function name="core_binaryattr_003" scope="local">
+ <testcase name="getTestCaseName('Add userCertificate no collective option.')">
+ <sequence>
+ <try>
+ <sequence>
+ <call function="'testCase_Preamble'"/>
+ <message>
+ 'Test Name = %s' % STAXCurrentTestcase
+ </message>
+
+ <script>
+ ldifFile='%s/userCertificate.ldif' % remote.temp
+ templateName='userCertificate.template'
+ targetDN='ou=core binaryattr 003,ou=people,%s' % __baseDN
+ </script>
+
+ <!-- MakeLDIF template -->
+ <message>'Generating template (%s).' % templateName</message>
+ <script>
+ ldifEntry=[]
+ ldifEntry.append('branch: %s' % targetDN)
+ ldifEntry.append('subordinateTemplate: certificatePerson:5')
+ ldifEntry.append('')
+ ldifEntry.append('template: person')
+ ldifEntry.append('rdnAttr: uid')
+ ldifEntry.append('objectClass: top')
+ ldifEntry.append('objectClass: person')
+ ldifEntry.append('objectClass: organizationalPerson')
+ ldifEntry.append('objectClass: inetOrgPerson')
+ ldifEntry.append('givenName: <first>')
+ ldifEntry.append('sn: <last>')
+ ldifEntry.append('cn: {givenName} {sn}')
+ ldifEntry.append('employeeNumber: <sequential:0>')
+ ldifEntry.append('uid: stronguser.{employeeNumber}')
+ ldifEntry.append('')
+ ldifEntry.append('template: certificatePerson')
+ ldifEntry.append('rdnAttr: uid')
+ ldifEntry.append('extends: person')
+ ldifEntry.append('objectclass: strongauthenticationUser')
+ ldifEntry.append('userCertificate: <random:base64:1000>')
+ ldifEntry.append('')
+ </script>
+
+ <!-- Write template to file -->
+ <script>
+ ftemplate=open('%s/%s' % (local.temp,templateName),'w')
+ for line in ldifEntry:
+ ftemplate.write('%s\n' % line)
+ ftemplate.close()
+ </script>
+
+ <!-- Copy template to SUT -->
+ <call function="'copyFile'">
+ {
+ 'srcfile' : '%s/%s' % (local.temp,templateName),
+ 'destfile' : '%s/%s' % (remote.temp,templateName),
+ 'remotehost' : server.location
+ }
+ </call>
+
+ <!-- Generate an ldif file containing collective attributes -->
+ <call function="'runFunction'">
+ { 'functionName' : 'MakeLdifWithScript' ,
+ 'functionMessage' : 'Generate LDIF file.' ,
+ 'functionException' : 'Tools.MakeLdifException' ,
+ 'functionArguments' : { 'location' : server.location ,
+ 'templateFile' : '%s/%s' %
+ (remote.temp,templateName) ,
+ 'ldifFile' : ldifFile }
+ }
+ </call>
+
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapModifyWithScript' ,
+ 'functionMessage' : 'Add ldif with userCertificate;binary entry' ,
+ 'functionException' : 'LDAP.AddException' ,
+ 'functionArguments' : { 'location' : server.location ,
+ 'dsInstanceHost': server.host ,
+ 'dsInstancePort': server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd': server.password ,
+ 'dsAdd' : 'TRUE' ,
+ 'dsFilename' : ldifFile }
+ }
+ </call>
+
+ <!-- Search for the usercertificate attributes-->
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the userCertificate entry.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : targetDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'usercertificate' }
+ }
+ </call>
+
+ <script>
+ _functionResult=parse_stax_result(STAXResult)
+ </script>
+
+ <!-- Check that usercertificate;collective is returned in search result -->
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check userCertificate attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'usercertificate;binary' ,
+ 'returnString' : _functionResult }
+ }
+ </call>
+
+ <!-- Search for the usercertificate attributes-->
+ <call function="'runFunction'">
+ { 'functionName' : 'ldapSearchWithScript' ,
+ 'functionMessage' : 'Search for the userCertificate entry.' ,
+ 'functionException' : 'LDAP.SearchException' ,
+ 'functionArguments' : { 'dsInstanceHost' : server.host ,
+ 'dsInstancePort' : server.port ,
+ 'dsInstanceDn' : server.dn ,
+ 'dsInstancePswd' : server.password ,
+ 'dsBaseDN' : targetDN ,
+ 'dsFilter' : 'objectclass=*' ,
+ 'dsAttributes' : 'usercertificate;binary' }
+ }
+ </call>
+
+ <script>
+ _functionResult=parse_stax_result(STAXResult)
+ </script>
+
+ <!-- Check that usercertificate;binary is returned in search result -->
+ <call function="'runFunction'">
+ { 'functionName' : 'checktestString' ,
+ 'functionMessage' : 'Check userCertificate attribute is returned.' ,
+ 'functionException' : 'Utils.CheckStringException' ,
+ 'functionArguments' : { 'expectedString' : 'usercertificate;binary' ,
+ 'returnString' : _functionResult }
+ }
+ </call>
+
+ </sequence>
+ <catch exception="'STAXException.Tools.MakeLdifException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: MakeLdif failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.AddException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LdapAdd failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.LDAP.SearchException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: LDAPSearch failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <catch exception="'STAXException.Utils.CheckStringException'" typevar="eType" var="eInfo">
+ <message log="1" level="'fatal'">
+ '%s: UtilsCheck failed. eInfo(%s)' % (eType,eInfo)
+ </message>
+ </catch>
+ <finally>
+ <call function="'testCase_Postamble'"/>
+ </finally>
+ </try>
+ </sequence>
+ </testcase>
+ </function>
+
+
+</stax>
--
Gitblit v1.10.0