From 6563d84fb80464f7724e5d58b6cc3d1bd89cd829 Mon Sep 17 00:00:00 2001
From: maudj <maudj@localhost>
Date: Mon, 16 Jun 2008 17:05:40 +0000
Subject: [PATCH] add tags for test spec docs and change function - maudj

---
 opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml       |  380 +++++++++----
 opends/tests/functional-tests/testcases/security/pwd_validator/security_character_set.xml       |  295 +++++++--
 opends/tests/functional-tests/testcases/security/pwd_validator/security_mult_validators.xml     |  224 ++++++--
 opends/tests/functional-tests/testcases/security/pwd_validator/security_attribute_value.xml     |  419 +++++++++++----
 opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml       |   40 
 opends/tests/functional-tests/testcases/security/pwd_validator/security_setup_pwd_validator.xml |   35 +
 opends/tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml          |  178 ++++-
 7 files changed, 1,133 insertions(+), 438 deletions(-)

diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_attribute_value.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_attribute_value.xml
index 261cb7e..51f95e5 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_attribute_value.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_attribute_value.xml
@@ -32,13 +32,41 @@
   <function name="attribute_value">
 
       <sequence>
-
+        
+        <!--- Test Suite information
+         #@TestSuiteName       Attribute Value
+         #@TestSuitePurpose    Reject Passwords Matching Attribute Value
+         #@TestSuiteGroup      Attribute Value
+         #@TestScript          security_attribute_value.xml
+        -->
+        
+        <!--- Define default value for basedn -->
+        <script>
+        basedn1 = 'ou=people,ou=password tests,'
+        basedn = '%s o=Pwd Validator Tests,dc=example,dc=com' % basedn1
+        val = 'cn=Attribute Value,cn=Password Validators,cn=config'
+        msg = 'Security: Pwd Validator: Attribute Value:'
+        </script>
+     
+     
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value Preamble
+          #@TestIssue        none
+          #@TestPurpose      Attribute Value Preamble
+          #@TestPreamble     none
+          #@TestStep         Check ds-cfg-enabled exists
+          #@TestStep         Admin Enabling Validator Attribute Value
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Attribute Value: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: Preamble Step 1. Checking existence of ds-cfg-password-validator-length'
+            '%s Preamble Step 1. Check existence of ds-cfg-enabled' % msg
             </message>
 
             <call function="'compareEntry'">
@@ -47,11 +75,11 @@
                 'dsInstanceDn'       : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
                 'attrToBeCompared'   : 'ds-cfg-enabled:true',
-                'entryToBeCompared'  : 'cn=Attribute Value,cn=Password Validators,cn=config' }
+                'entryToBeCompared'  : val }
             </call>
 
             <message>
-               'Security: Pwd Validator: Attribute Value: Preamble Step 2. Admin Enabling Validator'
+            '%s Preamble Step 2. Admin Enabling Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -69,11 +97,22 @@
           </sequence>
         </testcase>
 
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: add attribute sn
+          #@TestIssue        none
+          #@TestPurpose      add attribute sn
+          #@TestPreamble     none
+          #@TestStep         add attribute sn with modifyPwdValidator
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
+        
         <testcase name="getTestCaseName('Attribute Value: add attribute sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Attribute Value: add attribute sn'
+            '%s add attribute sn' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -91,39 +130,50 @@
             
           </sequence>
         </testcase>
+                
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: user modifying password to sn
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to sn
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to sn Miller RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
         
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to sn')">
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to sn'
+            '%s user modifying password to sn' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'Miller' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : 'Miller' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'Miller' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -132,38 +182,50 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to lower case sn')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: user modifying password 
+                             to lower case sn
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to lower case sn
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to lower case sn
+                             miller RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to lower case sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to lower case sn'
+            '%s user modifying password to lower case sn' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'miller' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller,%s' % basedn ,
+                    'dsNewPassword'          : 'miller' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'miller' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -171,39 +233,52 @@
             
           </sequence>
         </testcase>
-
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to upper case sn')">
+        
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: user modifying password 
+                             to upper case sn
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to upper case sn
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to upper case sn
+                             MILLER RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to upper case sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to upper case sn'
+            '%s user modifying password to upper case sn' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'MILLER' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : 'MILLER' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'MILLER' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -211,39 +286,52 @@
             
           </sequence>
         </testcase>
-
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to mixed case sn')">
+        
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value : user modifying password 
+                             to mixed case sn
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to mixed case sn
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to mixed case sn
+                             mIlLeR RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to mixed case sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to mixed case sn'
+            '%s user modifying password to mixed case sn' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'mIlLeR' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : 'mIlLeR' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'mIlLeR' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -252,38 +340,51 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to reversed upper case sn')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value : user modifying password to 
+                             reversed upper case sn
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to reversed upper case sn
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to reversed upper 
+                             case sn  RELLIM RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to reversed upper case sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to reversed upper case sn'
+            '%s user modifying password to reversed upper case sn' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'RELLIM' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn,
+                    'dsNewPassword'          : 'RELLIM' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn,
                 'dsInstancePswd'   : 'RELLIM' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -292,11 +393,22 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Attribute Value: add attribute roomnumber')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: add attribute roomnumber
+          #@TestIssue        none
+          #@TestPurpose      add attribute roomnumber
+          #@TestPreamble     none
+          #@TestStep         add attribute roomnumber with modifyPwdValidator
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
+        
+ <testcase name="getTestCaseName('Attribute Value: add attribute roomnumber')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Attribute Value: add attribute roomnumber'
+            '%s add attribute roomnumber' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -315,38 +427,51 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to roomnumber')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: user modifying password to 
+                             roomnumber
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to roomnumber
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to roomnumber 4135
+                             RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to roomnumber')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to roomnumber'
+            '%s user modifying password to roomnumber' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : '4135' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : '4135' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'Miller' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -355,38 +480,49 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to sn 2')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: user modifying password to sn 2
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to sn 2
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to sn Miller RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to sn 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to sn 2'
+            '%s user modifying password to sn 2' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'Miller' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : 'Miller' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password 2'
+            '%s user binding with invalid password 2' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'Miller' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -395,7 +531,19 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Attribute Value: disable reverse match-attribute')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: disable reverse match-attribute
+          #@TestIssue        none
+          #@TestPurpose      disable reverse match-attribute
+          #@TestPreamble     none
+          #@TestStep         set test-reversed-password to false
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: disable reverse match-attribute')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
@@ -418,33 +566,46 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to reverse sn')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: user modifying password to reverse
+                             sn
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to sn
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to reverse sn 
+                             rellim RC 0
+          #@TestStep         user dmiller binding with good password rellim RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to reverse sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to reverse sn'
+            '%s user modifying password to reverse sn' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'gosling' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'rellim' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : 'rellim' ,  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with good password'
+            '%s user binding with good password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'rellim' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -456,38 +617,49 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Attribute Value: user modifying password to sn 3')">
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: user modifying password to sn 3
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to sn 3
+          #@TestPreamble     none
+          #@TestStep         user dmiller modifying password to sn Miller RC 53
+          #@TestStep         user dmiller binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Attribute Value: user modifying password to sn 3')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to sn 3'
+            '%s user modifying password to sn 3' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'rellim' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'Miller' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : 'Miller' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user binding with invalid password 3'
+            '%s user binding with invalid password 3' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'Miller' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -497,11 +669,24 @@
         </testcase>
 
         
+        <!--- Test Case information
+          #@TestMarker       Attribute Value
+          #@TestName         Attribute Value: Postamble
+          #@TestIssue        none
+          #@TestPurpose      Postamble
+          #@TestPreamble     none
+          #@TestStep         Step 1. Admin Resetting password-validator
+          #@TestStep         Step 2. User Changing Password Miller RC 0
+          #@TestStep         Step 3. User Searching With Password Miller RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 test are PASS
+        -->
+        
         <testcase name="getTestCaseName('Attribute Value: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Attribute Value: Postamble Step 1. Admin Resetting Maximum Pwd Length'
+            '%s Postamble Step 1. Admin Resetting password-validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -517,28 +702,26 @@
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Attribute Value: Postamble Step 2. User Changing Password'
+            '%s Postamble Step 2. User Changing Password' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=dmiller,%s' % basedn ,
                     'dsInstancePswd'         : 'rellim' ,
-                    'DNToModify'             : 'uid=dmiller, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'Miller' ,
-                    'changetype'             : 'replace' }
+                    'dsAuthzID'              : 'dn:uid=dmiller, %s' % basedn ,
+                    'dsNewPassword'          : 'Miller' , }
             </call>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: Postamble Step 3. User Searching With Password'
+            '%s Postamble Step 3. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'Miller' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_character_set.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_character_set.xml
index 5ebe7bf..2f14a21 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_character_set.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_character_set.xml
@@ -32,13 +32,41 @@
   <function name="character_set">
 
       <sequence>
+        
+        <!--- Test Suite information
+         #@TestSuiteName       Character Set
+         #@TestSuitePurpose    Reject Passwords Matching Character set
+         #@TestSuiteGroup      Character Set
+         #@TestScript          security_character_set.xml
+        -->
+        
+        <!--- Define default value for basedn -->
+        <script>
+        basedn1 = 'ou=people,ou=password tests,'
+        basedn = '%s o=Pwd Validator Tests,dc=example,dc=com' % basedn1
+        val = 'cn=Character Set,cn=Password Validators,cn=config'
+        msg = 'Security: Pwd Validator: Character Set:'
+        </script>
 
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set Preamble
+          #@TestIssue        none
+          #@TestPurpose      Character Set Preamble
+          #@TestPreamble     none
+          #@TestStep         Check ds-cfg-enabled exists
+          #@TestStep         Admin Enabling Validator Character Set
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        
         <testcase name="getTestCaseName('Character Set: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Character Set: Preamble Step 1. Checking existence of ds-cfg-password-validator-length'
+            '%s Preamble Step 1. Check ds-cfg-enabled exists' % msg
             </message>
 
             <call function="'compareEntry'">
@@ -47,11 +75,11 @@
                 'dsInstanceDn'       : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
                 'attrToBeCompared'   : 'ds-cfg-enabled:true',
-                'entryToBeCompared'  : 'cn=Character Set,cn=Password Validators,cn=config' }
+                'entryToBeCompared'  : val }
             </call>
 
             <message>
-               'Security: Pwd Validator: Character Set: Preamble Step 2. Admin Enabling Validator'
+            '%s Preamble Step 2. Admin Enabling Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -69,38 +97,50 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Character Set: user modifying password to string with all letters')">
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Pwd with all letters
+          #@TestIssue        none
+          #@TestPurpose      Pwd with all letters
+          #@TestPreamble     none
+          #@TestStep         user modifying password to string with all letters 
+                             RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Character Set: user modifying password to string with all letters')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to string with all letters'
+            '%s user modifying password to string with all letters' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=gfarmer,%s' % basedn,
                     'dsInstancePswd'         : 'ruling' ,
-                    'DNToModify'             : 'uid=gfarmer, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'newruling' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=gfarmer, %s' % basedn,
+                    'dsNewPassword'          : 'newruling' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Character Set: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=gfarmer,%s' % basedn,
                 'dsInstancePswd'   : 'newruling' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -109,38 +149,50 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Character Set: user modifying password to string with all numbers')">
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Pwd with all numbers
+          #@TestIssue        none
+          #@TestPurpose      Pwd with all numbers
+          #@TestPreamble     none
+          #@TestStep         user modifying password to string with all numbers 
+                             RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Character Set: user modifying password to string with all numbers')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to string with all numbers'
+            '%s user modifying password to string with all numbers' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=gfarmer,%s' % basedn,
                     'dsInstancePswd'         : 'ruling' ,
-                    'DNToModify'             : 'uid=gfarmer, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : '123456789' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=gfarmer, %s' % basedn,
+                    'dsNewPassword'          : '123456789' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Character Set: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=gfarmer,%s' % basedn,
                 'dsInstancePswd'   : '123456789' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -149,11 +201,26 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Character Set: change letter characters')">
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Pwd with all letters
+          #@TestIssue        none
+          #@TestPurpose      Pwd with all letters
+          #@TestPreamble     none
+          #@TestStep         modifyPwdValidator character-set to 3:0123456789
+          #@TestStep         modifyPwdValidator character-set to 
+                             1:ABCDEFGHIJKLMNOPQRSTUVWXYZ
+          #@TestStep         modifyPwdValidator character-set to 
+                             3:abcdefghijklmnopqrstuvwxyz
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
+        
+   <testcase name="getTestCaseName('Character Set: change letter characters')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Attribute Value: add attribute sn'
+            'Security: Pwd Validator: Character Set: change letter characters'
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -194,38 +261,50 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Character Set: user modifying password to string with all letters 2')">
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Pwd with just letters
+          #@TestIssue        none
+          #@TestPurpose      Pwd with just letters
+          #@TestPreamble     none
+          #@TestStep         user modifying password to string with just letters 
+                             RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+      ('Character Set: user modifying password to string with just letters 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to string with all letters 2'
+            '%s user modifying password to string with just letters 2' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=gfarmer,%s' % basedn,
                     'dsInstancePswd'         : 'ruling' ,
-                    'DNToModify'             : 'uid=gfarmer, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'newruling' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=gfarmer, %s' % basedn,
+                    'dsNewPassword'          : 'newruling' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Character Set: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=gfarmer,%s' % basedn,
                 'dsInstancePswd'   : 'newruling' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -234,38 +313,50 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Character Set: user modifying password to string with all numbers 2')">
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Pwd with just numbers
+          #@TestIssue        none
+          #@TestPurpose      Pwd with just numbers
+          #@TestPreamble     none
+          #@TestStep         user modifying password to string with just numbers
+                             RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+     ('Character Set: user modifying password to string with just numbers 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to string with all numbers 2'
+            '%s user modifying password to string with just numbers 2' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=gfarmer,%s' % basedn,
                     'dsInstancePswd'         : 'ruling' ,
-                    'DNToModify'             : 'uid=gfarmer, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : '123456789' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=gfarmer, %s' % basedn,
+                    'dsNewPassword'          : '123456789' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Character Set: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=gfarmer,%s' % basedn ,
                 'dsInstancePswd'   : '123456789' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -274,33 +365,44 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Character Set: user modifying password to valid string')">
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Pwd with a valid string
+          #@TestIssue        none
+          #@TestPurpose      Pwd with a valid string
+          #@TestPreamble     none
+          #@TestStep         user modifying password to a valid string RC 0
+          #@TestStep         user binding with valid password RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Character Set: user modifying password to valid string')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to valid string'
+            '%s user modifying password to valid string' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=gfarmer,%s' % basedn ,
                     'dsInstancePswd'         : 'ruling' ,
-                    'DNToModify'             : 'uid=gfarmer, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'Newruling123' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=gfarmer, %s' % basedn ,
+                    'dsNewPassword'          : 'Newruling123' ,  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Character Set: user binding with valid password'
+            '%s user binding with valid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=gfarmer,%s' % basedn ,
                 'dsInstancePswd'   : 'Newruling123' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -312,11 +414,23 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Disable Validator
+          #@TestIssue        none
+          #@TestPurpose      Disbale Validator
+          #@TestPreamble     none
+          #@TestStep         reset password-validator RC 0
+          #@TestStep         set propertyName Character-Set to false
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Character Set: disable validator')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Attribute Value: add attribute sn'
+               'Security: Pwd Validator: Character Set: disable validator'
             </message>
             
             <call function="'modifyPwdPolicy'">
@@ -345,34 +459,44 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Pwd with a valid string 2
+          #@TestIssue        none
+          #@TestPurpose      Pwd with a valid string 2
+          #@TestPreamble     none
+          #@TestStep         user modifying password to a valid string RC 0
+          #@TestStep         user binding with valid password RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
         
-        <testcase name="getTestCaseName('Character Set: user modifying password to valid string 2')">
+        <testcase name="getTestCaseName
+        ('Character Set: user modifying password to valid string 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Attribute Value: user modifying password to valid string 2'
+            '%s user modifying password to valid string 2' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=gfarmer,%s' % basedn,
                     'dsInstancePswd'         : 'Newruling123' ,
-                    'DNToModify'             : 'uid=gfarmer, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'newruling' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=gfarmer, %s' % basedn,
+                    'dsNewPassword'          : 'newruling' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Character Set: user binding with valid password'
+            '%s user binding with valid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=gfarmer,%s' % basedn,
                 'dsInstancePswd'   : 'newruling' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -384,11 +508,24 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+          #@TestMarker       Character Set
+          #@TestName         Character Set : Postamble
+          #@TestIssue        none
+          #@TestPurpose      Postamble
+          #@TestPreamble     none
+          #@TestStep         remove password-validator:Character Set
+          #@TestStep         User Changing Password with just letters
+          #@TestStep         User Searching Password with just letters
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Character Set: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Character Set: Postamble Step 1. Admin Resetting Maximum Pwd Length'
+            '%s Postamble Step 1. Admin Resetting password-validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -404,28 +541,26 @@
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Character Set: Postamble Step 2. User Changing Password'
+            '%s Postamble Step 2. User Changing Password' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=gfarmer,%s' % basedn,
                     'dsInstancePswd'         : 'newruling' ,
-                    'DNToModify'             : 'uid=gfarmer, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'newnewruling' ,
-                    'changetype'             : 'replace' }
+                    'dsAuthzID'              : 'dn:uid=gfarmer, %s' % basedn,
+                    'dsNewPassword'          : 'newnewruling'  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Character Set: Postamble Step 3. User Searching With Password'
+            '%s Postamble Step 3. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=gfarmer,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=gfarmer,%s' % basedn,
                 'dsInstancePswd'   : 'newnewruling' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml
index 8d6d6c94..4b7fab3 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_dictionary.xml
@@ -32,13 +32,41 @@
   <function name="dictionary">
 
       <sequence>
+        
+        <!--- Test Suite information
+         #@TestSuiteName       Dictionary
+         #@TestSuitePurpose    Reject Passwords Matching Dictionary
+         #@TestSuiteGroup      Dictionary
+         #@TestScript          security_dictionary.xml
+        -->
+        
+        <!--- Define default value for basedn -->
+        <script>
+        basedn1 = 'ou=people,ou=password tests,'
+        basedn = '%s o=Pwd Validator Tests,dc=example,dc=com' % basedn1
+        msg = 'Security: Pwd Validator: Dictionary:'
+        </script>
+     
+     
+        <!--- Test Case information
+          #@TestMarker       Dictionary
+          #@TestName         Dictionary: Preamble
+          #@TestIssue        none
+          #@TestPurpose      Preamble Enabling Dictionary Validator
+          #@TestPreamble     none
+          #@TestStep         Admin Enabling Dictionary modifyPwdValidator
+          #@TestStep         Admin Enabling Validator modifyPwdPolicy 
+                             password-validator:Dictionary
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
 
         <testcase name="getTestCaseName('Dictionary: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Dictionary: Preamble - Admin Enabling Dictionary'
+            '%s Preamble - Admin Enabling Dictionary' % msg
             </message>
 
             <call function="'modifyPwdValidator'">
@@ -53,7 +81,7 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Dictionary: Preamble - Admin Enabling Validator'
+            '%s Preamble - Admin Enabling Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -71,38 +99,52 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Dictionary: user modifying password to string with all letters')">
+        <!--- Test Case information
+          #@TestMarker       Dictionary
+          #@TestName         Dictionary: user modifying password to a 
+                             dictionary letter string
+          string with all letters
+          #@TestIssue        none
+          #@TestPurpose      dictionary string with all letters
+          #@TestPreamble     none
+          #@TestStep         user modifying password to string with all letters
+                             matching a dictionary word zymochemistry RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Dictionary: user modifying password to string with all letters')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Dictionary: user modifying password to string with all letters'
+            '%s user modifying password to string with all letters' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=abergin,%s' % basedn,
                     'dsInstancePswd'         : 'inflict' ,
-                    'DNToModify'             : 'uid=abergin, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'zymochemistry' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=abergin, %s' % basedn,
+                    'dsNewPassword'          : 'zymochemistry' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Dictionary: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=abergin,%s' % basedn,
                 'dsInstancePswd'   : 'zymochemistry' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -111,38 +153,51 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Dictionary: Using Using Reverse Password')">
+        <!--- Test Case information
+          #@TestMarker       Dictionary
+          #@TestName         Dictionary: user modifying password to a Reverse 
+                             password
+          #@TestIssue        none
+          #@TestPurpose      dictionary string with reverse password 
+                             (set to true by default)
+          #@TestPreamble     none
+          #@TestStep         user modifying password to a reverse password 
+                             from inflict to tcilfni RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+ <testcase name="getTestCaseName('Dictionary: Using Using Reverse Password')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Dictionary: user modifying password to reverse word'
+            '%s user modifying password to reverse password' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=abergin,%s' % basedn,
                     'dsInstancePswd'         : 'inflict' ,
-                    'DNToModify'             : 'uid=abergin, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sbbad' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=abergin, %s' % basedn ,
+                    'dsNewPassword'          : 'tcilfni' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Dictionary: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
-                'dsInstancePswd'   : 'sbbad' ,
+                'dsInstanceDn'     : 'uid=abergin,%s' % basedn ,
+                'dsInstancePswd'   : 'tcilfni' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -151,7 +206,22 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Dictionary: Disable Reverse Password')">
+        <!--- Test Case information
+          #@TestMarker       Dictionary
+          #@TestName         Dictionary: Disable Reverse Password
+          #@TestIssue        none
+          #@TestPurpose      Disable Reverse Password and test
+          #@TestPreamble     none
+          #@TestStep         Disable Reverse Password set test-reversed-password
+                             to false
+          #@TestStep         user modifying password to a reverse password 
+                             from inflict to tcilfni RC 0
+          #@TestStep         user binding with valid password RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
+        
+<testcase name="getTestCaseName('Dictionary: Disable Reverse Password')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
@@ -177,34 +247,32 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Dictionary: Using Using Reverse Password 2')">
+<testcase name="getTestCaseName('Dictionary: Using Reverse Password 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Dictionary: user modifying password to reverse word 2'
+            '%s user modifying password to reverse password 2' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=abergin,%s' % basedn,
                     'dsInstancePswd'         : 'inflict' ,
-                    'DNToModify'             : 'uid=abergin, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sbbad' ,
-                    'changetype'             : 'replace' }
+                    'dsAuthzID'              : 'dn:uid=abergin, %s' % basedn ,
+                    'dsNewPassword'          : 'tcilfni'  }
             </call>
 
             <message>
-               'Security: Pwd Validator: Dictionary: user binding with valid password'
+            '%s user binding with valid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
-                'dsInstancePswd'   : 'sbbad' ,
+                'dsInstanceDn'     : 'uid=abergin,%s' % basedn ,
+                'dsInstancePswd'   : 'tcilfni' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
                 'extraParams'      : '-s base' }
@@ -219,11 +287,25 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Dictionary: Postamble')">
+        <!--- Test Case information
+          #@TestMarker       Dictionary
+          #@TestName         Dictionary: Postamble
+          #@TestIssue        none
+          #@TestPurpose      Postamble Disabling Dictionary Validator
+          #@TestPreamble     none
+          #@TestStep         Admin Disabling Validator modifyPwdPolicy 
+                             remove password-validator:Dictionary
+          #@TestStep         User Changing Password with zymochemistry RC 0
+          #@TestStep         User Searching with valid Password RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+         <testcase name="getTestCaseName('Dictionary: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Dictionary: Postamble Step 1. Admin Resetting Maximum Pwd Length'
+            '%s Postamble Step 1. Admin  Disabling Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -239,28 +321,26 @@
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Dictionary: Postamble Step 2. User Changing Password'
+            '%s Postamble Step 2. User Changing Password' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
-                    'dsInstancePswd'         : 'sbbad' ,
-                    'DNToModify'             : 'uid=abergin, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'zymochemistry' ,
-                    'changetype'             : 'replace' }
+                    'dsInstanceDn'           : 'dn:uid=abergin,%s' % basedn ,
+                    'dsInstancePswd'         : 'tcilfni' ,
+                    'dsAuthzID'              : 'dn:uid=abergin, %s' % basedn,
+                    'dsNewPassword'          : 'zymochemistry'  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Dictionary: Postamble Step 3. User Searching With Password'
+            '%s Postamble Step 3. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=abergin,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=abergin,%s' % basedn ,
                 'dsInstancePswd'   : 'zymochemistry' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
index fc6a2ae..8215141 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
@@ -33,12 +33,38 @@
 
       <sequence>
 
+        <!--- Test Suite information
+         #@TestSuiteName       History based
+         #@TestSuitePurpose    Reject Passwords looking in the History Base
+         #@TestSuiteGroup      History Based
+         #@TestScript          security_history_based.xml
+        -->
+        
+        <!--- Define default value for basedn -->
+        <script>
+        basedn1 = 'ou=people,ou=password tests,'
+        basedn = '%s o=Pwd Validator Tests,dc=example,dc=com' % basedn1
+        msg = 'Security: Pwd Validator: History Based:'
+        </script>
+     
+        <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: Preamble
+          #@TestIssue        none
+          #@TestPurpose      Preamble Enabling History Based Validator
+          #@TestPreamble     none
+          #@TestStep         Admin Enabling History Based Validator set
+                             password-history-count to 3
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
+        
         <testcase name="getTestCaseName('History Based: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: History Based: Preamble - Admin Enabling Validator'
+            '%s Preamble - Admin Enabling Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -55,82 +81,117 @@
             
           </sequence>
         </testcase>
-
-        <testcase name="getTestCaseName('History Based: user modifying password 1')">
+        
+        <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: user modify password 1
+          #@TestIssue        none
+          #@TestPurpose      user modify password 1
+          #@TestPreamble     none
+          #@TestStep         user modify password 1 from sprain to sprainone 
+                             RC 0
+          #@TestStep         user modify password back to old password sprain 
+                             RC 53
+          #@TestStep         user binding with password 1 sprainone RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
+        
+<testcase name="getTestCaseName('History Based: user modifying password 1')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password 1'
+            '%s user modifying password 1' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprain' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprainone' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : 'sprainone' }
             </call>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password back to old password'
+            '%s user modifying password back to old password' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainone' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprain' ,
-                    'changetype'             : 'replace'  ,
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : 'sprain' ,
                     'expectedRC'             : 53 }
             </call>
             
+	    <script>
+              knownIssue(3270)
+            </script>
             <message>
-               'Security: Pwd Validator: History Based: user binding with password 1'
+            '%s user binding with password 1' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=scarter,%s' % basedn,
                 'dsInstancePswd'   : 'sprainone' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
                 'extraParams'      : '-s base' }
             </call>
 
+            <script>
+              knownIssue(3270)
+            </script>
+
             <call function="'testCase_Postamble'"/>
             
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('History Based: user modifying password 2')">
+        <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: user modifying password 2
+          #@TestIssue        none
+          #@TestPurpose      user modifying password 2
+          #@TestPreamble     none
+          #@TestStep         user modify password from sprainone to spraintwo 
+                             RC 0
+          #@TestStep         user modify password back to old passwords sprain 
+                             and sprainone RC 53
+          #@TestStep         user binding with password 2 spraintwo RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
+        
+<testcase name="getTestCaseName('History Based: user modifying password 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password 2'
+            '%s user modifying password 2' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainone' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'spraintwo' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : 'spraintwo'  }
             </call>
-            
+           
+            <script>
+              knownIssue(3270)
+            </script>
+ 
             <message>
-               'Security: Pwd Validator: History Based: user modifying password back to old passwords'
+            '%s user modifying password back to old passwords' % msg
             </message>
 
             <script>
@@ -138,59 +199,82 @@
             </script>
             
             <iterate var="pwds" in="modify_pwds" indexvar="index">
-              <call function="'modifyAnAttribute'">
+              <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'spraintwo' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : '%s' % pwds ,
-                    'changetype'             : 'replace'  ,
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : '%s' % pwds ,
                     'expectedRC'             : 53 }
               </call>
             </iterate>
-            
+ 
+            <script>
+              knownIssue(3270)
+            </script>
+           
             <message>
-               'Security: Pwd Validator: History Based: user binding with password 2'
+            '%s user binding with password 2' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=scarter,%s' % basedn ,
                 'dsInstancePswd'   : 'spraintwo' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
                 'extraParams'      : '-s base' }
             </call>
 
+            <script>
+              knownIssue(3270)
+            </script>
+
             <call function="'testCase_Postamble'"/>
             
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('History Based: user modifying password 3')">
+        <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: user modifying password 3
+          #@TestIssue        none
+          #@TestPurpose      user modifying password 3
+          #@TestPreamble     none
+          #@TestStep         user modify password from spraintwo to sprainthree 
+                             RC 0
+          #@TestStep         user modify password back to old passwords sprain 
+                             sprainone and spraintwo RC 53
+          #@TestStep         user binding with password 3 sprainthree RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
+        
+<testcase name="getTestCaseName('History Based: user modifying password 3')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password 3'
+            '%s user modifying password 3' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'spraintwo' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprainthree' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : 'sprainthree'  }
             </call>
+
+            <script>
+              knownIssue(3270)
+            </script>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password back to old passwords'
+            '%s user modifying password back to old passwords' % msg
             </message>
 
             <script>
@@ -198,59 +282,85 @@
             </script>
             
             <iterate var="pwds" in="modify_pwds" indexvar="index">
-              <call function="'modifyAnAttribute'">
+              <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainthree' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : '%s' % pwds ,
-                    'changetype'             : 'replace'  ,
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : '%s' % pwds ,
                     'expectedRC'             : 53 }
               </call>
             </iterate>
+
+            <script>
+              knownIssue(3270)
+            </script>
+
             
             <message>
-               'Security: Pwd Validator: History Based: user binding with password 3'
+            '%s user binding with password 3' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=scarter,%s' % basedn,
                 'dsInstancePswd'   : 'sprainthree' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
                 'extraParams'      : '-s base' }
             </call>
 
+            <script>
+              knownIssue(3270)
+            </script>
+
             <call function="'testCase_Postamble'"/>
             
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('History Based: user modifying password 4')">
+        <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: user modifying password 4
+          #@TestIssue        none
+          #@TestPurpose      user modifying password 4
+          #@TestPreamble     none
+          #@TestStep         user modify password from sprainthree to sprainfour
+                             RC 0
+          #@TestStep         user modify password back to last 3 passwords 
+                             sprainone spraintwo  and sprainthree RC 53
+          #@TestStep         user modify password back to  original password
+                             sprain RC 0
+          #@TestStep         user binding with original password sprain RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 4 tests are PASS
+        -->
+        
+<testcase name="getTestCaseName('History Based: user modifying password 4')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password 4'
+            '%s user modifying password 4' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainthree' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprainfour' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn ,
+                    'dsNewPassword'          : 'sprainfour'   }
             </call>
+
+            <script>
+              knownIssue(3270)
+            </script>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password back to old passwords'
+            '%s user modifying password back to old passwords' % msg
             </message>
 
             <script>
@@ -258,42 +368,46 @@
             </script>
             
             <iterate var="pwds" in="modify_pwds" indexvar="index">
-              <call function="'modifyAnAttribute'">
+              <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainfour' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : '%s' % pwds ,
-                    'changetype'             : 'replace'  ,
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : '%s' % pwds ,
                     'expectedRC'             : 53 }
               </call>
             </iterate>
             
+            <script>
+              knownIssue(3270)
+            </script>
+
             <message>
-               'Security: Pwd Validator: History Based: user modifying password to original one'
+            '%s user modifying password to original one' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn ,
                     'dsInstancePswd'         : 'sprainfour' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprain' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : 'sprain'   }
             </call>
-            
+ 
+            <script>
+              knownIssue(3270)
+            </script>
+           
             <message>
-               'Security: Pwd Validator: History Based: user binding with original password'
+            '%s user binding with original password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=scarter,%s' % basedn,
                 'dsInstancePswd'   : 'sprain' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -304,13 +418,25 @@
             
           </sequence>
         </testcase>
+         
+         <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: Modify password history duration
+          #@TestIssue        none
+          #@TestPurpose      user modifying password history duration
+          #@TestPreamble     none
+          #@TestStep         set password-history-duration to 10 s
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
         
-        <testcase name="getTestCaseName('History Based: Modify password history duration')">
+        <testcase name="getTestCaseName
+        ('History Based: Modify password history duration')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: History Based: Admin modifying password history duration'
+            '%s Admin modifying password history duration' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -328,7 +454,25 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('History Based: user modifying password after duration')">
+        <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: user modifying password after 
+                             duration
+          #@TestIssue        none
+          #@TestPurpose      The "Password History Duration" property specifies 
+                             the maximum length of time that a formerly-used 
+                             password should remain in the user's password 
+                             history
+          #@TestPreamble     none
+          #@TestStep         Sleep of 15 seconds
+          #@TestStep         user modifying password after duration RC 0
+          #@TestStep         user binding with password after duration RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('History Based: user modifying password after duration')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
@@ -341,28 +485,26 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: History Based: user modifying password after duration'
+            '%s user modifying password after duration' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprain' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprainone' ,
-                    'changetype'             : 'replace'  }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn ,
+                    'dsNewPassword'          : 'sprainone' , }
             </call>
             
             <message>
-               'Security: Pwd Validator: History Based: user binding with password after duration'
+            '%s user binding with password after duration' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=scarter,%s' % basedn,
                 'dsInstancePswd'   : 'sprainone' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -374,11 +516,25 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+          #@TestMarker       History Based
+          #@TestName         History Based: Postamble
+          #@TestIssue        none
+          #@TestPurpose      Postamble Admin resetting password history duration
+                             and count
+          #@TestPreamble     none
+          #@TestStep         reset password-history-duration to 0 d
+          #@TestStep         reset password-history-count to 0
+          #@TestStep         user modifying password back to old passwords RC 0
+          #@TestStep         user Searching With Password sprain RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
         <testcase name="getTestCaseName('History Based: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: History Based: Postamble Step 1. Admin resetting password history duration'
+            '%s Postamble Step 1. Admin resets password history duration' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -392,7 +548,7 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: History Based: Postamble Step 2. Admin resetting password history count'
+            '%s Postamble Step 2. Admin resetting password history count' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -407,50 +563,44 @@
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: History Based: Postamble Step 3. user modifying password back to old passwords'
+            '%s Postamble Step 3. user modify pwd back to old passwords' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainone' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'spraintwo' ,
-                    'changetype'             : 'replace'   }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : 'spraintwo'  }
             </call>
             
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'spraintwo' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprainthree' ,
-                    'changetype'             : 'replace'   }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn ,
+                    'dsNewPassword'          : 'sprainthree'    }
             </call>
             
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=scarter,%s' % basedn,
                     'dsInstancePswd'         : 'sprainthree' ,
-                    'DNToModify'             : 'uid=scarter, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'sprain' ,
-                    'changetype'             : 'replace'   }
+                    'dsAuthzID'              : 'dn:uid=scarter, %s' % basedn,
+                    'dsNewPassword'          : 'sprain'    }
             </call>
             
             <message>
-               'Security: Pwd Validator: History Based: Postamble Step 4. User Searching With Password'
+            '%s Postamble Step 4. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=scarter,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=scarter,%s' % basedn,
                 'dsInstancePswd'   : 'sprain' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_mult_validators.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_mult_validators.xml
index 699fd45..2f6f6e4 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_mult_validators.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_mult_validators.xml
@@ -33,12 +33,44 @@
 
       <sequence>
 
+                <!--- Test Suite information
+         #@TestSuiteName       Multiple Validators
+         #@TestSuitePurpose    Check Multiple Validators
+         #@TestSuiteGroup      Multiple Validators
+         #@TestScript          security_mult_validators.xml
+        -->
+        
+        <!--- Define default value for basedn -->
+        <script>
+        basedn1 = 'ou=people,ou=password tests,'
+        basedn = '%s o=Pwd Validator Tests,dc=example,dc=com' % basedn1
+        msg = 'Security: Pwd Validator: Multiple Validators:'
+        msg1 = '--set enabled:true  --set test-reversed-password:true '
+        </script>
+     
+        <!--- Test Case information
+          #@TestMarker       Multiple Validators
+          #@TestName         Multiple Validators: Preamble
+          #@TestIssue        none
+          #@TestPurpose      Preamble Enabling Multiple Validators
+          #@TestPreamble     none
+          #@TestStep         Admin Enabling one validator set password-validator
+                             to Attribute Value
+          #@TestStep         Admin creating a custom validator 
+                             Custom Attribute Value
+          #@TestStep         Admin enabling custom validator
+          #@TestStep         Admin enabling third validator set 
+                             password-validator to Repeated Characters
+          #@TestPostamble    none
+          #@TestResult       Success if the 4 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Multiple Validators: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: Preamble Step 1. Admin enabling one validator'
+            '%s Preamble Step 1. Admin enabling one validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -52,7 +84,7 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: Preamble Step 2. Admin creating a custom validator'
+            '%s Preamble Step 2. Admin creating a custom validator' % msg
             </message>
 
             <call function="'dsconfig'">
@@ -60,15 +92,15 @@
               'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
               'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
               'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
-              'subcommand'           : 'create-password-validator' ,    
+              'subcommand'           : 'create-password-validator' ,
               'objectType'           : 'validator-name' ,
               'objectName'           : 'Custom Attribute Value',
-              'optionsString'        : '--type attribute-value --set enabled:true  --set test-reversed-password:true ',
-              'expectedRC'           : 0 } 
+              'optionsString'        : '--type attribute-value %s ' % msg1,
+              'expectedRC'           : 0 }
             </call>          
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: Preamble Step 3. Admin enabling custom validator'
+            '%s Preamble Step 3. Admin enabling custom validator' % msg
             </message>
 
             <call function="'dsconfigSet'">
@@ -85,7 +117,7 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: Preamble Step 4. Admin enabling third validator'
+            '%s Preamble Step 4. Admin enabling third validator' % msg
             </message>
 
             <call function="'dsconfigSet'">
@@ -106,11 +138,24 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Multiple Validators: add attribute sn to one validator')">
+       <!--- Test Case information
+          #@TestMarker       Multiple Validators
+          #@TestName         Multiple Validators: add attribute sn to one 
+                             validator
+          #@TestIssue        none
+          #@TestPurpose      add attribute sn to one validator
+          #@TestPreamble     none
+          #@TestStep         add attribute sn to one validator
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Multiple Validators: add attribute sn to one validator')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Multiple Validators: add attribute sn to one validator'
+            '%s add attribute sn to one validator' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -129,38 +174,49 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Multiple Validators: user modifying password to sn')">
+        <!--- Test Case information
+          #@TestMarker       Multiple Validators
+          #@TestName         Multiple Validators: user modifying password to sn
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to sn
+          #@TestPreamble     none
+          #@TestStep         user modifying password to sn RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Multiple Validators: user modifying password to sn')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: user modifying password to sn'
+            '%s user modifying password to sn' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=cschmith,%s' % basedn,
                     'dsInstancePswd'         : 'hypotenuse' ,
-                    'DNToModify'             : 'uid=cschmith, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'Schmith' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=cschmith, %s' % basedn ,
+                    'dsNewPassword'          : 'Schmith' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=cschmith,%s' % basedn,
                 'dsInstancePswd'   : 'Schmith' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -169,11 +225,25 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Multiple Validators: add attribute givenName to custom validator')">
+        <!--- Test Case information
+          #@TestMarker       Multiple Validators
+          #@TestName         Multiple Validators: add attribute givenName 
+                             to custom validator
+          #@TestIssue        none
+          #@TestPurpose      add attribute givenName to custom validator
+          #@TestPreamble     none
+          #@TestStep         for the custom validator Custom Attribute Value
+                             set match-attribute to givenName
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Multiple Validators: add attribute givenName to custom validator')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Multiple Validators: add attribute sn to one validator'
+            '%s add attribute sn to one validator' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -192,38 +262,52 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Multiple Validators: user modifying password to givenName')">
+        <!--- Test Case information
+          #@TestMarker       Multiple Validators
+          #@TestName         Multiple Validators: user modifying password to 
+                             givenName
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to givenName
+          #@TestPreamble     none
+          #@TestStep         user modifying password to givenName RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Multiple Validators: user modifying password to givenName')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: user modifying password to givenName'
+            '%s user modifying password to givenName' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=cschmith,%s' % basedn,
                     'dsInstancePswd'         : 'hypotenuse' ,
-                    'DNToModify'             : 'uid=cschmith, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=cschmith, %s' % basedn,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'Chris' ,
-                    'changetype'             : 'replace' , 
+                    'changetype'             : 'replace' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn,
                 'dsInstancePswd'   : 'Chris' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -232,38 +316,53 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Multiple Validators: user modifying password to aaaaaa')">
+        
+        <!--- Test Case information
+          #@TestMarker       Multiple Validators
+          #@TestName         Multiple Validators: user modifying password to 
+                             aaaaaa
+          #@TestIssue        none
+          #@TestPurpose      user modifying password to aaaaaa
+          #@TestPreamble     none
+          #@TestStep         user modifying password to aaaaaa RC 53
+          #@TestStep         user binding with invalid password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
+        <testcase name="getTestCaseName
+        ('Multiple Validators: user modifying password to aaaaaa')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: user modifying password to aaaaaa'
+            '%s user modifying password to aaaaaa' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=cschmith,%s' % basedn,
                     'dsInstancePswd'         : 'hypotenuse' ,
-                    'DNToModify'             : 'uid=cschmith, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=cschmith, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'aaaaaa' ,
-                    'changetype'             : 'replace' , 
+                    'changetype'             : 'replace' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: user binding with invalid password'
+            '%s user binding with invalid password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=dmiller,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=dmiller,%s' % basedn ,
                 'dsInstancePswd'   : 'aaaaaa' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
-                'extraParams'      : '-s base', 
+                'extraParams'      : '-s base',
                 'expectedRC'       : 49 }
             </call>
 
@@ -272,11 +371,28 @@
           </sequence>
         </testcase>
 
+        <!--- Test Case information
+          #@TestMarker       Multiple Validators
+          #@TestName         Multiple Validators: Postamble
+          #@TestIssue        none
+          #@TestPurpose      Postamble: Admin resetting pwd validator
+          #@TestPreamble     none
+          #@TestStep         Admin Resetting password-validator
+          #@TestStep         User Changing Password to sn RC 0
+          #@TestStep         User binding with valid password RC 0
+          #@TestStep         User Changing Password to givenName RC 0
+          #@TestStep         User binding with valid password RC 0
+          #@TestStep         User Changing Password to aaaaaa RC 0
+          #@TestStep         User binding with valid password RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Multiple Validators: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Multiple Validators: Postamble Step 1. Admin Resetting Maximum Pwd Length'
+            '%s Postamble Step 1. Admin Resetting password-validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -291,28 +407,28 @@
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Multiple Validators: Postamble Step 2. User Changing Password'
+            '%s Postamble Step 2. User Changing Password to sn' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=cschmith,%s' % basedn,
                     'dsInstancePswd'         : 'hypotenuse' ,
-                    'DNToModify'             : 'uid=cschmith, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=cschmith, %s' % basedn,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'Schmith' ,
                     'changetype'             : 'replace' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: Postamble Step 3. User Searching With Password'
+            '%s Postamble Step 3. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=cschmith,%s' % basedn,
                 'dsInstancePswd'   : 'Schmith' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -320,28 +436,28 @@
             </call>
 
             <message>
-               'Security: Pwd Validator: Multiple Validators: Postamble Step 4. User Changing Password'
+            '%s Postamble Step 4. User Changing Password to givenName' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=cschmith,%s' % basedn,
                     'dsInstancePswd'         : 'Schmith' ,
-                    'DNToModify'             : 'uid=cschmith, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=cschmith, %s' % basedn,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'Chris' ,
                     'changetype'             : 'replace' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: Postamble Step 5. User Searching With Password'
+            '%s Postamble Step 5. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=cschmith,%s' % basedn,
                 'dsInstancePswd'   : 'Chris' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -349,28 +465,28 @@
             </call>
 
             <message>
-               'Security: Pwd Validator: Multiple Validators: Postamble Step 6. User Changing Password'
+            '%s Postamble Step 6. User Changing Password to aaaaaa' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=cschmith,%s' % basedn,
                     'dsInstancePswd'         : 'Chris' ,
-                    'DNToModify'             : 'uid=cschmith, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=cschmith, %s' % basedn,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'aaaaaa' ,
                     'changetype'             : 'replace' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Multiple Validators: Postamble Step 7. User Searching With Password'
+            '%s Postamble Step 7. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=cschmith,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=cschmith,%s' % basedn,
                 'dsInstancePswd'   : 'aaaaaa' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml
index be155bb..80c6aee 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_validator.xml
@@ -36,13 +36,23 @@
       <block name="'pwd-validator'">
       
         <sequence>
-  
+          
+          
+          <!--- Test Group information
+            #@TestGroupName          Security
+            #@TestGroupPurpose       To test the security functionality.
+            #@TestSubgroupName       Password Validator
+          -->
           <script>
             if not CurrentTestPath.has_key('group'):
-              CurrentTestPath['group']='security'                                          
+              CurrentTestPath['group']='security'
             CurrentTestPath['suite']=STAXCurrentBlock
           </script>
-    
+          
+          <script>
+          securityPath = '%s/testcases/security/pwd_validator' % TESTS_DIR
+          </script>
+          
         <call function="'testSuite_Preamble'"/>
 
 
@@ -53,51 +63,51 @@
                                   
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_setup_pwd_validator.xml' % (TESTS_DIR)"/>
+            file="'%s/security_setup_pwd_validator.xml' % securityPath"/>
         <call function="'setup_pwd_validator'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_pwd_length.xml' % (TESTS_DIR)"/>
+            file="'%s/security_pwd_length.xml' % securityPath"/>
         <call function="'pwd_length'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_attribute_value.xml' % (TESTS_DIR)"/>
+            file="'%s/security_attribute_value.xml' % securityPath"/>
         <call function="'attribute_value'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_character_set.xml' % (TESTS_DIR)"/>
+            file="'%s/security_character_set.xml' % securityPath"/>
         <call function="'character_set'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_history_based.xml' % (TESTS_DIR)"/>
+            file="'%s/security_history_based.xml' % securityPath"/>
         <call function="'history_based'" />
         
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_similarity_based.xml' % (TESTS_DIR)"/>
+            file="'%s/security_similarity_based.xml' % securityPath"/>
         <call function="'similarity_based'" />
         
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_dictionary.xml' % (TESTS_DIR)"/>
+            file="'%s/security_dictionary.xml' % securityPath"/>
         <call function="'dictionary'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_unique_chars.xml' % (TESTS_DIR)"/>
+            file="'%s/security_unique_chars.xml' % securityPath"/>
         <call function="'unique_chars'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_repeat_chars.xml' % (TESTS_DIR)"/>
+            file="'%s/security_repeat_chars.xml' % securityPath"/>
         <call function="'repeat_chars'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_mult_validators.xml' % (TESTS_DIR)"/>
+            file="'%s/security_mult_validators.xml' % securityPath"/>
         <call function="'mult_validators'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_skip_val_for_admins.xml' % (TESTS_DIR)"/>
+            file="'%s/security_skip_val_for_admins.xml' % securityPath"/>
         <call function="'skip_val_for_admins'" />
 
         <import machine="STAF_LOCAL_HOSTNAME"
-          file="'%s/testcases/security/pwd_validator/security_teardown_pwd_validator.xml' % (TESTS_DIR)"/>
+            file="'%s/security_teardown_pwd_validator.xml' % securityPath"/>
         <call function="'teardown_pwd_validator'" />
 
 
diff --git a/opends/tests/functional-tests/testcases/security/pwd_validator/security_setup_pwd_validator.xml b/opends/tests/functional-tests/testcases/security/pwd_validator/security_setup_pwd_validator.xml
index bed2699..376ab6a 100755
--- a/opends/tests/functional-tests/testcases/security/pwd_validator/security_setup_pwd_validator.xml
+++ b/opends/tests/functional-tests/testcases/security/pwd_validator/security_setup_pwd_validator.xml
@@ -32,8 +32,29 @@
   <function name="setup_pwd_validator">
 
       <sequence>
+        
+        <!--- Test Suite information
+          #@TestSuiteName       setup Password Validator
+          #@TestSuitePurpose    Setup for the Password Validator test suite.
+          #@TestSuiteGroup      setup Password Validator
+          #@TestScript          security_setup_pwd_validator.xml
+        -->
+          
+        <script>
+        path = '%s/security/pwd_validator' % logsRemoteDataDir
+        </script>
+     
+        <!--- Test Case information
+          #@TestMarker          setup Password Validator
+          #@TestName            setup: Add Initials Entries
+          #@TestIssue           none
+          #@TestPurpose         Add Entries for Password Validator Tests
+          #@TestPreamble        none
+          #@TestStep            Add pwd_validator_startup.ldif
+          #@TestPostamble       none
+          #@TestResult          Success if addEntry returns 0.
+        -->
 
-        <!--- Test Case : Add Entries for Password Validator Tests -->
         <testcase name="getTestCaseName('Add Initial Entries')">
           <sequence>
             <call function="'testCase_Preamble'"/>
@@ -42,12 +63,12 @@
             </message>
 
             <call function="'addEntry'">
-              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
-                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
-                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
-                'entryToBeAdded'   : '%s/security/pwd_validator/pwd_validator_startup.ldif' % logsRemoteDataDir }
-            </call>
+                { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
+                  'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
+                  'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
+                  'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
+                  'entryToBeAdded'   : '%s/pwd_validator_startup.ldif' % path }
+  </call>
 
             <call function="'testCase_Postamble'"/>
             

--
Gitblit v1.10.0