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

smaguin
04.46.2008 ac53bcc9741319357b488f90b8ec5062738a3321
updqate headers
5 files modified
392 ■■■■ changed files
opends/tests/functional-tests/testcases/plugins/plugins.xml 19 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/plugins/plugins_entryUUID.xml 21 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/plugins/plugins_lastmod.xml 88 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/plugins/plugins_refint.xml 181 ●●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/plugins/plugins_uniqueness.xml 83 ●●●● patch | view | raw | blame | history
opends/tests/functional-tests/testcases/plugins/plugins.xml
@@ -25,18 +25,25 @@
 !
 !      Portions Copyright 2007-2008 Sun Microsystems, Inc.
 ! -->
<!--
            Place group-specific test information here.
            #@TestGroupName     Plugins
            #@TestGroupPurpose      Test the directory server Pluggins
-->
<stax>
  <defaultcall function="main_plugins"/>
  <function name="main_plugins">
    <sequence>
      <block name="'plugins'">
         <sequence>
           <script>
             CurrentTestPath['group']='plugins'
           </script>
        <sequence>
          <script>
            CurrentTestPath['group']='plugins'
          </script>
          
          <call function="'testGroup_Preamble'" />
          <iterate var="_test" in="['setup','refint','uniqueness','lastmod','entryUUID','cleanup']" >
          <iterate var="_test" in="['setup','uniqueness','lastmod','entryUUID','refint','cleanup']" >
            <sequence>
              <import machine="STAF_LOCAL_HOSTNAME"
                      file="'%s/testcases/plugins/plugins_%s.xml' % (TESTS_DIR,_test)"/>
@@ -48,4 +55,4 @@
      </block>
    </sequence>
  </function>
</stax>
</stax>
opends/tests/functional-tests/testcases/plugins/plugins_entryUUID.xml
@@ -36,7 +36,7 @@
      <call function="'testSuite_Preamble'" />
<!--- Test Suite information
#@TestSuiteName       Plugin entryUUID Tests
#@TestSuiteName       Plugin entryUUID
#@TestSuitePurpose    Verify the plugin entryUUID
#@TestSuiteID         Plugins 
#@TestSuiteGroup      Plugins
@@ -48,15 +48,12 @@
      
<!---
#@TestMarker            Plugin entryUUID
#@TestName              Plugin entryUUID
#@TestIssue             Check the plugin entryUUID
#@TestName              Plugin entryUUID setup
#@TestPurpose           Plugins entryUUID setup
#@TestPreamble          none
#@TestStep              Enable the plugin entryUUID
#@TestStep              Disable  the virtual attribute entryUUID
#@TestStep              Add an entry
#@TestStep              Execute ldapsearch request to get entryUUID attribute
#@TestPostamble         none
#@TestResult            The test is passed if the attribute entryUUID is returned
#@TestResult            none
-->  
    
 <testcase name="getTestCaseName('Plugins entryUUID setup')">
@@ -83,8 +80,8 @@
                        
<!---
#@TestMarker            Plugin entryUUID
#@TestName              Plugin entryUUID
#@TestIssue             Check the plugin entryUUID
#@TestName              Plugin entryUUID enable
#@TestPurpose           Check the serve behavior when the plugin entryUUID is activated
#@TestPreamble          none
#@TestStep              Enable the plugin entryUUID
#@TestStep              Disable  the virtual attribute entryUUID
@@ -194,15 +191,15 @@
<!---
#@TestMarker            Plugin entryUUID
#@TestName              Plugin entryUUID
#@TestIssue             Check the plugin entryUUID
#@TestName              Plugin entryUUID disable
#@TestPurpose           Check the server behavior when the plugin entryUUID is disabled
#@TestPreamble          none
#@TestStep              Disable the plugin entryUUID
#@TestStep              Disable  the virtual attribute entryUUID
#@TestStep              Add an entry
#@TestStep              Execute ldapsearch request to get entryUUID attribute
#@TestPostamble         none
#@TestResult           The test is passed if the attribute entryUUID is not returned
#@TestResult            The test is passed if the attribute entryUUID is not returned
-->  
    
 <testcase name="getTestCaseName('Plugins entryUUID disable')">
opends/tests/functional-tests/testcases/plugins/plugins_lastmod.xml
@@ -35,31 +35,13 @@
      </script>
      <call function="'testSuite_Preamble'" />
<!--- Test Suite information
#@TestSuiteName       Plugin lastmod Tests
#@TestSuitePurpose    Verify the plugin lastmod
#@TestSuiteID         Plugins
#@TestSuiteGroup      Plugins
#@TestGroup           Plugins
#@TestScript          plugins_lastmod.xml
#@TestHTMLLink        http://opends.dev.java.net/
-->
<!---
#@TestMarker          Plugin lastmod
#@TestName            Plugin lastmod
#@TestIssue             Check the plugin lastmod for add operations
#@TestPreamble       none
#@TestStep              Add an entry
#@TestStep              Execute ldapsearch request to get createTimestamp attribute
#@TestPostamble     none
#@TestResult           The test is passed if the attribute createTimestamp is returned
-->
 <testcase name="getTestCaseName('Plugins lastmod enabled  for add operations')">
  <sequence>
    <call function="'testCase_Preamble'"/>
<!-- 3Add an entry -->
<!-- Execute ldapsearch request to get createTimestamp attribute -->
    <!-- Add an entry --> 
    <message>'######  Add an entry  ###### '</message>          
@@ -118,14 +100,14 @@
                        
<!---
#@TestMarker          Plugin lastmod
#@TestName            Plugin lastmod
#@TestIssue             Check the plugin lastmod for modify operations
#@TestPreamble       none
#@TestStep              Modify an entry
#@TestStep              Execute ldapsearch request to get modifyTimestamp attribute
#@TestPostamble     none
#@TestResult           The test is passed if the attribute modifyTimestamp is returned
#@TestMarker          Plugin lastmod Tests
#@TestName            Plugins lastmod enabled for modify operation
#@TestIssue           Check the plugin lastmod for modify operations
#@TestPreamble        none
#@TestStep            Modify an entry
#@TestStep            Execute ldapsearch request to get modifyTimestamp attribute
#@TestPostamble       none
#@TestResult          The test is passed if the attribute modifyTimestamp is returned
-->  
 
 <testcase name="getTestCaseName('Plugins lastmod enabled for modify operations')">
@@ -176,15 +158,15 @@
 </testcase>
            
<!---
#@TestMarker          Plugin lastmod
#@TestName            Plugin lastmod
#@TestIssue             Disable the plugin lastmod for add operations
#@TestPreamble       none
#@TestStep              Disable the plugin lastmod
#@TestStep              Add an entry
#@TestStep              Execute ldapsearch request to get createTimestamp attribute
#@TestPostamble     none
#@TestResult           The test is passed if the attribute createTimestamp is not returned
#@TestMarker          Plugin lastmod Tests
#@TestName            Plugins lastmod disabled  for add operations
#@TestPurpose         Disable the plugin lastmod for add operations
#@TestPreamble        none
#@TestStep            Disable the plugin lastmod
#@TestStep            Add an entry
#@TestStep            Execute ldapsearch request to get createTimestamp attribute
#@TestPostamble       none
#@TestResult          The test is passed if the attribute createTimestamp is not returned
-->  
    
 <testcase name="getTestCaseName('Plugins lastmod disabled  for add operations')">
@@ -274,14 +256,14 @@
<!---
#@TestMarker          Plugin lastmod
#@TestName            Plugin lastmod
#@TestIssue             Disable the plugin lastmod for modify operations
#@TestPreamble       none
#@TestStep              Disable the plugin lastmod
#@TestStep              modify an entry
#@TestStep              Execute ldapsearch request to get modifyTimestamp attribute
#@TestPostamble     none
#@TestMarker          Plugin lastmod Tests
#@TestName            Plugins lastmod disabled  for modify operations
#@TestPurpose         Disable the plugin lastmod for modify operations
#@TestPreamble        none
#@TestStep            Disable the plugin lastmod
#@TestStep            modify an entry
#@TestStep            Execute ldapsearch request to get modifyTimestamp attribute
#@TestPostamble       none
#@TestResult           The test is passed if the attribute modifyTimestamp is not returned
-->  
    
@@ -362,13 +344,13 @@
<!---
#@TestMarker          Plugin lastmod
#@TestName            Plugin lastmod
#@TestIssue             Cleanup
#@TestPreamble       none
#@TestStep              Delete entries
#@TestPostamble     none
#@TestResult           The test is passed if the entries are deleted
#@TestMarker          Plugin lastmod Tests
#@TestName            Plugin lastmod 4
#@TestPurpose         Cleanup
#@TestPreamble        none
#@TestStep            Delete entries
#@TestPostamble       none
#@TestResult          The test is passed if the entries are deleted
-->  
    
 <testcase name="getTestCaseName('Plugins lastmod - cleanup')">
opends/tests/functional-tests/testcases/plugins/plugins_refint.xml
@@ -38,12 +38,23 @@
      
<!--- Test Suite information
#@TestSuiteName       Plugin referential integrity on groups
#@TestSuitePurpose    Validate Plugin referential integrity on groups
#@TestSuiteID         Plugins
#@TestSuiteGroup      Plugins
#@TestGroup           Plugins
#@TestScript          plugins_refint.xml
#@TestHTMLLink        http://opends.dev.java.net/
-->
<!--
#@TestMarker       Plugin referential integrity
#@TestName         Plugin referential integrity
#@TestIssue        Setup
#@TestMarker       Plugin referential integrity on groups
#@TestName         Plugin referential integrity setup
#@TestPurpose      Setup
#@TestPreamble     none
#@TestStep         Create Group
#@TestStep         Create the child_staticgroup static Group of users under dc=group,dc=com
#@TestStep         Create the top_staticgroup static Group of users under dc=com
#@TestPostamble    none
#@TestResult       The test is passed if  the  creation is done
-->  
@@ -87,7 +98,7 @@
      </sequence>
    </iterate>    
        
    <message>'######  Add a static Group ###### '</message>
    <message>'######  Add a static Group under dc=group ###### '</message>
    <message>' '</message>
    <script>
@@ -114,8 +125,8 @@
      listAttr = []
      listAttr.append('objectclass:top')
      listAttr.append('objectclass:groupofuniquenames')
      listAttr.append('description:this is the description of my_staticgroup')
      listAttr.append('cn:my_staticgroup')
      listAttr.append('description:this is the description of child_staticgroup')
      listAttr.append('cn:child_staticgroup')
      listAttr.append('uniqueMember:cn=user01,%s' % DIRECTORY_INSTANCE_SFX)
      listAttr.append('uniqueMember:cn=user02,%s' % DIRECTORY_INSTANCE_SFX)      
      listAttr.append('uniqueMember:cn=user03,%s' % DIRECTORY_INSTANCE_SFX)  
@@ -130,7 +141,7 @@
         'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
         'dsInstanceDn'   : DIRECTORY_INSTANCE_DN ,
         'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,   
         'DNToAdd'        : 'cn=my_staticgroup,dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
         'DNToAdd'        : 'cn=child_staticgroup,dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
         'listAttributes' : listAttr,
         'expectedRC'     :  0
       }
@@ -142,8 +153,8 @@
      listAttr = []
      listAttr.append('objectclass:top')
      listAttr.append('objectclass:groupofuniquenames')
      listAttr.append('description:this is the description of my_staticgroup on top ')
      listAttr.append('cn:my_staticgroup')
      listAttr.append('description:this is the description of top_staticgroup on top ')
      listAttr.append('cn:top_staticgroup')
      listAttr.append('uniqueMember:cn=user01,%s' % DIRECTORY_INSTANCE_SFX)
      listAttr.append('uniqueMember:cn=user02,%s' % DIRECTORY_INSTANCE_SFX)      
      listAttr.append('uniqueMember:cn=user03,%s' % DIRECTORY_INSTANCE_SFX)  
@@ -158,7 +169,7 @@
         'dsInstancePort' : DIRECTORY_INSTANCE_PORT ,
         'dsInstanceDn'   : DIRECTORY_INSTANCE_DN ,
         'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,   
         'DNToAdd'        : 'cn=my_staticgroup1,%s' % DIRECTORY_INSTANCE_SFX,
         'DNToAdd'        : 'cn=top_staticgroup,%s' % DIRECTORY_INSTANCE_SFX,
         'listAttributes' : listAttr,
         'expectedRC'     :  0
       }
@@ -170,7 +181,7 @@
          'dsInstancePort'  : DIRECTORY_INSTANCE_PORT ,
          'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
          'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD , 
          'dsBaseDN'        :  'cn=my_staticgroup1,%s' % DIRECTORY_INSTANCE_SFX,
          'dsBaseDN'        :  'cn=top_staticgroup,%s' % DIRECTORY_INSTANCE_SFX,
          'dsFilter'        : 'objectclass=groupOfUniqueNames'  ,
          'attributes'      : 'uniqueMember',
          'expectedRC'      :  0 }
@@ -192,7 +203,7 @@
          'dsInstancePort'    : DIRECTORY_INSTANCE_PORT ,
          'dsInstanceDn'      : DIRECTORY_INSTANCE_DN,
          'dsInstancePswd'    : DIRECTORY_INSTANCE_PSWD ,   
          'dsBaseDN'          :  'cn=my_staticgroup,dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
          'dsBaseDN'          :  'cn=child_staticgroup,dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
          'dsFilter'          : 'objectclass=groupOfUniqueNames'    ,
          'attributes'        : 'uniqueMember',
          'expectedRC'        :  0 }
@@ -216,11 +227,11 @@
      { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
        'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'          : 'set-plugin-prop' ,
        'objectType'             : 'plugin-name' ,
        'objectName'            : 'Referential Integrity',
        'optionsString'          : '--set enabled:true',
        'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'           : 'set-plugin-prop' ,
        'objectType'           : 'plugin-name' ,
        'objectName'           : 'Referential Integrity',
        'optionsString'        : '--set enabled:true',
        'expectedRC'           : 0 } 
    </call> 
     
@@ -230,12 +241,15 @@
          
         
<!--
#@TestMarker         Plugin referential integrity
#@TestName           Referential integrity check on group after a change of base DN
#@TestMarker         Plugin referential integrity on groups
#@TestName           Referential check is limited to the scope
#@TestPurpose        Check the referential integrity check is limited to the specified scope
#@TestPreamble       none
#@TestStep           Check change of the base-dn  attribute is dynamic
#@TestStep           Set the base-dn to dc=groups,dc=com
#@TestStep           Delete the user06
#@TestStep           Check that the references to the deleted user are still present
#@TestStep           The reference must be limited to the scope dc=groups,dc=com
#@TestStep           The references to the delete user must be removed under cn=child_staticgroup,dc=group,dc=com
#@TestStep           The references to the delete user must still be present under cn=top_staticgroup,dc=com
#@TestPostamble      none
#@TestResult         all steps must be success
-->  
@@ -252,11 +266,11 @@
      { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
        'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'          : 'set-plugin-prop' ,
        'objectType'             : 'plugin-name' ,
        'objectName'            : 'Referential Integrity',
        'optionsString'          : '--set base-dn:dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
        'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'           : 'set-plugin-prop' ,
        'objectType'           : 'plugin-name' ,
        'objectName'           : 'Referential Integrity',
        'optionsString'        : '--set base-dn:dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
        'expectedRC'           : 0 } 
    </call>     
@@ -292,41 +306,43 @@
    <message>'The reference check must be done to the base DN dc=groups,dc=com'</message>       
    <call function="'SearchObject'">
     { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST ,
          'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
          'dsInstanceDn'     : DIRECTORY_INSTANCE_DN,
          'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
          'dsBaseDN'        :  'cn=my_staticgroup,dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
          'dsFilter'            : 'objectclass=groupOfUniqueNames'  ,
          'attributes'        : 'uniquemember',
          'dsInstancePort'  : DIRECTORY_INSTANCE_PORT ,
          'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
          'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD ,
          'dsBaseDN'        :  'cn=child_staticgroup,dc=groups,%s' % DIRECTORY_INSTANCE_SFX,
          'dsFilter'        : 'objectclass=groupOfUniqueNames'  ,
          'attributes'      : 'uniquemember',
          'expectedRC'      :  0 }
    </call>         
    
    <script>
      returnString = STAXResult[0][1]
    </script>
    <message>'The references to the delete user must be removed' </message>    
    <call function="'searchStringForSubstring'">
      { 'returnString'     : returnString ,
         'testString'      : 'user06',
         'expectedResult'      : '0' }
         'expectedResult'  : '0' }
    </call>                
    
   <message>'The reference check must not be done to the base DN dc=com'</message>   
    
    <call function="'SearchObject'">
     { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST ,
          'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
          'dsInstanceDn'     : DIRECTORY_INSTANCE_DN,
          'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD ,
          'dsBaseDN'        :  'cn=my_staticgroup1,%s' % DIRECTORY_INSTANCE_SFX,
          'dsFilter'            : 'objectclass=groupOfUniqueNames'  ,
          'attributes'        : 'uniquemember',
          'dsInstancePort'  : DIRECTORY_INSTANCE_PORT ,
          'dsInstanceDn'    : DIRECTORY_INSTANCE_DN,
          'dsInstancePswd'  : DIRECTORY_INSTANCE_PSWD ,
          'dsBaseDN'        :  'cn=top_staticgroup,%s' % DIRECTORY_INSTANCE_SFX,
          'dsFilter'        : 'objectclass=groupOfUniqueNames'  ,
          'attributes'      : 'uniquemember',
          'expectedRC'      :  0 }
    </call>         
    
    <script>
      returnString = STAXResult[0][1]
    </script>
    <message>'The references to the delete user must be still present ' </message>    
    <call function="'searchStringForSubstring'">
      { 'returnString'     : returnString ,
@@ -338,15 +354,15 @@
    <message>'  '</message> 
       
    <call function="'dsconfig'">
      { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
        'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'          : 'set-plugin-prop' ,
        'objectType'             : 'plugin-name' ,
        'objectName'            : 'Referential Integrity',
        'optionsString'          : '--reset base-dn',
        'expectedRC'           : 0 }
      { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
        'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'       : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'         : 'set-plugin-prop' ,
        'objectType'         : 'plugin-name' ,
        'objectName'         : 'Referential Integrity',
        'optionsString'      : '--reset base-dn',
        'expectedRC'         : 0 }
    </call>     
        
    
@@ -356,18 +372,20 @@
                       
                          
<!--
#@TestMarker         Plugin referential integrity
#@TestName           Referential integrity check on GROUPS
#@TestMarker         Plugin referential integrity on groups
#@TestName           The referential integrity plugin removes only references to deleted entries
#@TestPurpose        Check the referential integrity plugin removes only references to deleted entries
#@TestPreamble       none
#@TestStep           Delete a user
#@TestStep           Check that the references to the deleted user are gone.
#@TestStep           Check that the references to an existing user are still present.
#@TestStep           Check that there is no impact on the others references.
#@TestStep           The references to an existing user must still be present.
#@TestPostamble      none
#@TestResult         all steps must be success
-->  
    
   
 <testcase name="getTestCaseName('Referential integrity on groups with default attribute-type')">
 <testcase name="getTestCaseName('The referential integrity plugin removes only references to deleted entries')">
  <sequence>
    <call function="'testCase_Preamble'"/>
 
@@ -375,7 +393,6 @@
    <message>' '</message>
    <!-- Delete an entry -->
    <call function="'DeleteEntry'">
     { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
        'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
@@ -417,23 +434,22 @@
    <call function="'testCase_Postamble'"/>
  </sequence>
 </testcase>
                  
<!--
#@TestMarker        Plugin referential integrity
#@TestName          Referential integrity check on GROUPS after a change of configuration
#@TestPreamble      none
#@TestStep           Check change of the attribute-type attribute is dynamic
#@TestStep           Delete the user02
#@TestMarker         Plugin referential integrity on groups
#@TestName           The referential integrity is checked on the specified attribut-type
#@TestPurpose        Check the referential integrity is checked on the specified attribut-type
#@TestPreamble       none
#@TestStep           Remove the attribute uniquemember from the list of attribute-type
#@TestStep           Delete a user entry
#@TestStep           Check that the references to the deleted user are still present
#@TestStep           Restore the attribute uniquemember from the list of attribute-type
#@TestPostamble      none
#@TestResult         all steps must be success
-->  
    
   
 <testcase name="getTestCaseName('Check the change of the attribute-type attribute')">
 <testcase name="getTestCaseName('Check the referential integrity is checked on the specified attribut-type')">
  <sequence>
    <call function="'testCase_Preamble'"/>
  
@@ -513,18 +529,20 @@
      
          
<!--
#@TestMarker       Plugin referential integrity
#@TestName         Referential integrity check on group after a change of plugin-type
#@TestPreamble    none
#@TestStep           Check change of the plugin-type attribute is dynamic
#@TestMarker         Plugin referential integrity on groups
#@TestName           The referential integrity is checked on the specified plugin-type
#@TestPurpose        Check the referential integrity is checked on the specified plugin-type
#@TestPreamble       none
#@TestStep           Remove the plugin-type attribute  postoperationdelete
#@TestStep           Delete the user05
#@TestStep           Check that the references to the deleted user are still present
#@TestPostamble    none
#@TestStep           Add the plugin-type attribute  postoperationdelete
#@TestPostamble      none
#@TestResult         all steps must be success
-->
 <testcase name="getTestCaseName('Check the change of the plugin-type attribute')">
-->
 <testcase name="getTestCaseName(' The referential integrity is checked on the specified plugin-type')">
  <sequence>
    <call function="'testCase_Preamble'"/>
 
@@ -535,11 +553,11 @@
      { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
        'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'          : 'set-plugin-prop' ,
        'objectType'             : 'plugin-name' ,
        'objectName'            : 'Referential Integrity',
        'optionsString'          : '--remove plugin-type:postoperationdelete',
        'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'           : 'set-plugin-prop' ,
        'objectType'           : 'plugin-name' ,
        'objectName'           : 'Referential Integrity',
        'optionsString'        : '--remove plugin-type:postoperationdelete',
        'expectedRC'           : 0 } 
    </call>     
@@ -621,13 +639,14 @@
          
<!--
#@TestMarker       Plugin referential integrity
#@TestName         Referential integrity check on groups is disabled
#@TestPreamble    none
#@TestMarker         Plugin referential integrity on groups
#@TestName           The referential integrity is disabled
#@TestPurpose        Check the server behavior when referential integrity is disabled
#@TestPreamble       none
#@TestStep           Disable the referential integrity plugin
#@TestStep           Delete an user
#@TestStep           Check that the references to the deleted user are still present
#@TestPostamble    none
#@TestPostamble      none
#@TestResult         all steps must be success
-->  
    
opends/tests/functional-tests/testcases/plugins/plugins_uniqueness.xml
@@ -35,24 +35,26 @@
      </script>
      <call function="'testSuite_Preamble'" />
<!--- Test Suite information
#@TestSuiteName       Plugin uniqueness Tests
#@TestSuitePurpose    Verify the plugin uniqueness
#@TestSuiteID         Plugins
#@TestSuiteName       Plugin uniqueness
#@TestSuitePurpose    Validate the plugin uniqueness
#@TestSuiteID         Plugins
#@TestSuiteGroup      Plugins
#@TestGroup           Plugins
#@TestScript          plugins_uniqueness.xml
#@TestHTMLLink        http://opends.dev.java.net/
-->
<!---
#@TestMarker       Plugin uniqueness
#@TestName         Plugin uniqueness
#@TestIssue        Setup
#@TestName         Plugin uniqueness setup
#@TestPurpose      Setup
#@TestPreamble     none
#@TestStep         Create the user entries used for the test
#@TestStep         Create the user entries
#@TestStep         the user entries contain the attributes mail and description
#@TestStep         Enable the uniqueness plugin
#@TestPostamble    none
#@TestResult       The test is passed if  the  creation is done
-->  
@@ -129,27 +131,26 @@
                                        
<!---
#@TestMarker       Plugin uniqueness
#@TestName         Plugin uniqueness
#@TestIssue        Check the plugin uniqueness  with the type  uid
#@TestName         Plugin uniqueness with the type uid
#@TestPurpose      Check the plugin uniqueness matchs against the default attribute names uid
#@TestPreamble     none
#@TestStep         Keep the default configuration ( ie, type = uid )
#@TestStep          Check we can't add an entry with the same uid as the user entry reference
#@TestStep         Keep the default type uid
#@TestStep         Check we can't add an entry with the same uid as the user entry reference
#@TestPostamble    none
#@TestResult       The test is passed if  the  creation is refused
-->
 <testcase name="getTestCaseName('Enabled with type defined to uid')">
-->
 <testcase name="getTestCaseName('Plugin uniqueness with the type uid')">
  <sequence>
    <call function="'testCase_Preamble'"/>
    <message>'######  Add an entry with an uid already present in the DIT  ###### '</message>
    <message>'######  Add an entry with an uid already present in the DIT  ######'</message>
    <message>'--- The creation must be refused to ensure the uniqueness of the attributes uid '</message>
    <message>'  '</message>
    <!-- Add an entry -->
    <message>'  '</message>
    <!-- Add an entry -->
    <!--The uid  testuser_uniqueness already exist in the DIT.  the Add must be refused with the error 19 -->
    <script>
      listAttr = []
      listAttr.append('objectclass:top')
@@ -179,17 +180,17 @@
       
<!---
#@TestMarker        Plugin uniqueness
#@TestName          Plugin uniqueness
#@TestIssue         Check the plugin uniqueness with the type mail
#@TestName          Plugin uniqueness with the type mail
#@TestPurpose       Check the plugin uniqueness matchs against the attribute names mail
#@TestPreamble      none
#@TestStep          set the type to mail
#@TestStep          Change the type of the UID Unique Attribute to mail
#@TestStep          Check we can't add an entry with the same mail as the user entry reference
#@TestPostamble     none
#@TestResult        The test is passed if  the  creation is refused
-->  
   
    
 <testcase name="getTestCaseName('Enabled with type defined to mail')">
 <testcase name="getTestCaseName('Plugin uniqueness with the type mail')">
  <sequence>
    <call function="'testCase_Preamble'"/>
@@ -244,17 +245,17 @@
              
<!---
#@TestMarker        Plugin uniqueness
#@TestName          Plugin uniqueness
#@TestIssue         Check the plugin uniqueness with several type
#@TestName          Plugin uniqueness with several type
#@TestPurpose       Check the plugin uniqueness with several types
#@TestPreamble      none
#@TestStep          set the type to mail and telephonenumber
#@TestStep          Set the type of the UID Unique Attribute to mail and telephonenumber
#@TestStep          Check we can't add an entry with the same mail as the user entry reference
#@TestStep          Check we can't add an entry with the same telephonenumber as the user entry reference    
#@TestPostamble     none
#@TestResult        The test is passed if  the  creation is refused
-->  
   
 <testcase name="getTestCaseName('Enabled with type defined to mail and telephoneNumber')">
 <testcase name="getTestCaseName('Plugin uniqueness with several type')">
  <sequence>
    <call function="'testCase_Preamble'"/>
    
@@ -379,10 +380,10 @@
            
<!---
#@TestMarker         Plugin uniqueness
#@TestName           Plugin uniqueness
#@TestIssue          Check the plugin ensures the uniqueness of the attributes multi  valued
#@TestName           Plugin uniqueness with multi valued attributes
#@TestPurpose        Check the plugin ensures the uniqueness of the attributes multi  valued
#@TestPreamble       none
#@TestStep           set the type to telephoneNumber
#@TestStep           Change the type of the UID Unique Attribute to telephoneNumber
#@TestStep           Check we can't add an entry with the same telephoneNumber as the user entry reference   
#@TestStep           the attribute telephoneNumber is multi-valued 
#@TestPostamble      none
@@ -488,11 +489,11 @@
<!---
#@TestMarker        Plugin uniqueness
#@TestName          Plugin uniqueness
#@TestIssue         Check the plugin uniqueness matchs the scope configured
#@TestName          Plugin uniqueness with scope
#@TestPurpose       Check the plugin uniqueness matchs the scope configured
#@TestPreamble      none
#@TestStep          set the type to description
#@TestStep          set the base-dn
#@TestStep          Set the type of the UID Unique Attribute to description
#@TestStep          Set the base-dn of the plugin to dc=example,dc=com
#@TestStep          Check we can't add an entry under the restricted scope
#@TestStep          Check we can add an entry outside the restricted scope
#@TestPostamble     none
@@ -625,8 +626,8 @@
 
<!---
#@TestMarker            Plugin uniqueness
#@TestName              Plugin uniqueness
#@TestIssue             Disable  the plugin uniqueness
#@TestName              Disable Plugin uniqueness
#@TestPurpose           Disable the plugin uniqueness
#@TestStep              Disable the plugin uniqueness
#@TestStep              Keep the default configuration ( ie, type = uid )
#@TestStep              Add an entry  containing a uid value already present in the DIT
@@ -702,8 +703,8 @@
                                                                                                                                                         
<!---
#@TestMarker         Plugin uniqueness
#@TestName           Plugin uniqueness
#@TestIssue          Cleanup
#@TestName           Plugin uniqueness cleanup
#@TestPurpose        Cleanup
#@TestPreamble       none
#@TestStep           delete the user entries 
#@TestPostamble      none