From 5df15050cb44fdb2b9948d760bf5f6cae088eb2a Mon Sep 17 00:00:00 2001
From: maudj <maudj@localhost>
Date: Thu, 28 Aug 2008 14:15:29 +0000
Subject: [PATCH] add docs tags and replace with ldappasswordmodify

---
 opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml       |   25 +
 opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_length.xml          |  259 +++++++++---
 opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_skip_val_for_admins.xml |  170 ++++++-
 opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_unique_chars.xml        |  246 +++++++++--
 opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_repeat_chars.xml        |  223 ++++++++--
 opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_similarity_based.xml    |  225 ++++++++--
 6 files changed, 898 insertions(+), 250 deletions(-)

diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
index 8215141..79a6108 100755
--- a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_history_based.xml
@@ -165,8 +165,9 @@
           #@TestStep         user modify password back to old passwords sprain 
                              and sprainone RC 53
           #@TestStep         user binding with password 2 spraintwo RC 0
+          #@TestStep         Check manage-account get-password-history
           #@TestPostamble    none
-          #@TestResult       Success if the 3 tests are PASS
+          #@TestResult       Success if the 4 tests are PASS
         -->
         
 <testcase name="getTestCaseName('History Based: user modifying password 2')">
@@ -231,6 +232,28 @@
             <script>
               knownIssue(3270)
             </script>
+            
+                        <message>
+            '%s Check manage-account get-password-history  ' % msg
+            </message>
+
+            <call function="'manageAccountWithScript'">
+              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
+                'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
+                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
+                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
+                'subcommand'       : 'get-password-history' ,
+                'targetDn'         : 'uid=scarter,%s' % basedn  }
+            </call>
+            
+            <script> 
+             returnString = STAXResult[0][1]
+            </script>
+            
+            <call function="'checktestString'">
+                { 'returnString'       : returnString ,
+                  'expectedString'     : 'Password History:  2' }
+            </call>
 
             <call function="'testCase_Postamble'"/>
             
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_length.xml b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_length.xml
index 76dbebb..ff58a15 100755
--- a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_length.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_pwd_length.xml
@@ -32,14 +32,46 @@
   <function name="pwd_length">
 
       <sequence>
+        
+        <!--- Test Suite information
+         #@TestSuiteName       Pwd Length
+         #@TestSuitePurpose    Checking Passwords Length
+         #@TestSuiteGroup      Pwd Length
+         #@TestScript          security_pwd_length.xml
+        -->
+        
+        <!--- Define default value for basedn -->
+        <script>
+        basedn1 = 'ou=People, ou=password tests,'
+        basedn = '%s o=Pwd Validator Tests,dc=example,dc=com' % basedn1
+        val1 = 'cn=Length-Based Password Validator'
+        val = '%s,cn=Password Validators,cn=config' % val1
+        msg = 'Security: Pwd Validator: Pwd Length Min:'
+        msg1 = 'ds-cfg-min-password-length'
+        msg2 = 'Password Validator'
+        msg3 = 'Security: Pwd Validator: Pwd Length Max:'
+        msg4 = 'ds-cfg-max-password-length'
+        </script>
+     
+     
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length Preamble
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Setup
+          #@TestPreamble     none
+          #@TestStep         Checking existence of ds-cfg-min-password-length
+          #@TestStep         Admin Enable Pwd Length Validator
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
 
-        <!--- Admin Check Existence of Min Pwd Length Attr -->
         <testcase name="getTestCaseName('Pwd Length Min: Preamble Setup')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Preamble Step 1. Checking existence of ds-cfg-min-password-length'
+               '%s Preamble Step 1. Checking existence of %s' % (msg,msg1)
             </message>
 
             <call function="'compareEntry'">
@@ -48,12 +80,12 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'attrToBeCompared'   : 'ds-cfg-min-password-length:6',
-                'entryToBeCompared'   : 'cn=Length-Based Password Validator,cn=Password Validators,cn=config' }
+                'entryToBeCompared'   : val }
             </call>
 
             <!--- Admin Enable Pwd Length Validator -->
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Preamble Step 2. Admin Enabling Pwd Length Validator'
+               '%s Preamble Step 2. Admin Enabling Pwd Length Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -63,7 +95,7 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
                     'attributeName'          : 'password-validator' ,
-                    'attributeValue'         : 'Length-Based Password Validator' }
+                    'attributeValue'         : 'Length-Based %s' % msg2 }
             </call>
             
             <call function="'testCase_Postamble'"/>
@@ -71,35 +103,44 @@
           </sequence>
         </testcase>
 
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length : Pwd Too Short
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Setup
+          #@TestPreamble     none
+          #@TestStep         Step 1. User Changing with short Password RC 53
+          #@TestStep         Step 2. User Search With short Password RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
         <!--- Test Case : User Change Password - Too Short-->
         <testcase name="getTestCaseName('Pwd Length Min: Pwd Too Short 1')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Pwd Too Short 1 Step 1. User Changing Password'
+               '%s Pwd Too Short 1 Step 1. User Changing Password' % msg
             </message>
             
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=bhall,%s' % basedn,
                     'dsInstancePswd'         : 'oranges' ,
-                    'DNToModify'             : 'uid=bhall, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'grape' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=bhall, %s' % basedn,
+                    'dsNewPassword'          : 'grape' ,
                     'expectedRC'             : 53  }
             </call>
             
             <!--- User Search With Password -->
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Pwd Too Short 1 Step 2. User Searching With Password'
+               '%s Pwd Too Short 1 Step 2. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=bhall,%s' % basedn ,
                 'dsInstancePswd'   : 'grape' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -112,12 +153,23 @@
           </sequence>
         </testcase>
 
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length Admin Change Minimum Pwd Length
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Admin Change Minimum Pwd Length
+          #@TestPreamble     none
+          #@TestStep         Admin Change Min Pwd Length to 4
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
         <!--- Test Case : Admin Change Minimum Pwd Length -->
-        <testcase name="getTestCaseName('Pwd Length Min: Admin Change Min Pwd Length')">
+        <testcase name="getTestCaseName
+              ('Pwd Length Min: Admin Change Min Pwd Length')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Admin Changing Minimum Pwd Length'
+               '%s Admin Changing Minimum Pwd Length' % msg
             </message>
 
             <call function="'dsconfigSet'">
@@ -127,7 +179,7 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'objectName'             : 'password-validator' ,
                     'propertyType'           : 'validator' ,
-                    'propertyName'           : 'Length-Based Password Validator' ,
+                    'propertyName'           : 'Length-Based %s' % msg2 ,
                     'attributeName'          : 'min-password-length' ,
                     'attributeValue'         : '4' }
             </call>
@@ -136,21 +188,32 @@
             
           </sequence>
         </testcase>
-
+        
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length User Password - Too Short 2
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length User Password - Too Short 2
+          #@TestPreamble     none
+          #@TestStep         User Change Password - Too Short 2 RC 53
+          #@TestStep         User Searching With Password Too Short 2 RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
         <!--- Test Case : User Change Password - Too Short 2-->
         <testcase name="getTestCaseName('Pwd Length Min: Pwd Too Short 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Pwd Too Short 2 Step 1. User Changing Password'
+               '%s Pwd Too Short 2 Step 1. User Changing Password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=bhall,%s' % basedn,
                     'dsInstancePswd'         : 'oranges' ,
-                    'DNToModify'             : 'uid=bhall, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=bhall, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'goo' ,
                     'changetype'             : 'replace' , 
@@ -159,13 +222,13 @@
             
             <!--- User Search With Password -->
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Pwd Too Short 2 Step 2. User Searching With Password'
+               '%s Pwd Too Short 2 Step 2. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=bhall,%s' % basedn,
                 'dsInstancePswd'   : 'goo' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -178,34 +241,43 @@
           </sequence>
         </testcase>
 
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length User Password 4 characters
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length User Password 4 characters
+          #@TestPreamble     none
+          #@TestStep         User Change Password RC 0
+          #@TestStep         User Searching With Password RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
         <!--- Test Case : User Change Password-->
         <testcase name="getTestCaseName('Pwd Length Min: User Change Pwd')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Min: User Change Pwd Step 1. User Changing Password'
+               '%s User Change Pwd Step 1. User Changing Password' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=bhall,%s' % basedn,
                     'dsInstancePswd'         : 'oranges' ,
-                    'DNToModify'             : 'uid=bhall, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'grape' ,
-                    'changetype'             : 'replace' }
+                    'dsAuthzID'              : 'dn:uid=bhall, %s' % basedn,
+                    'dsNewPassword'          : 'grape'  }
             </call>
             
             <!--- User Search With Password -->
             <message>
-               'Security: Pwd Validator: Pwd Length Min: User Change Pwd Step 2. User Searching With Password'
+               '%s User Change Pwd Step 2. User Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=bhall,%s' % basedn,
                 'dsInstancePswd'   : 'grape' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -217,12 +289,22 @@
           </sequence>
         </testcase>
 
-        <!--- Test Case : Admin Reset Minimum Pwd Length -->
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length Admin Reset Minimum Pwd Length
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Admin Reset Minimum Pwd Length
+          #@TestPreamble     none
+          #@TestStep         Admin Reset Minimum Pwd Length
+          #@TestPostamble    none
+          #@TestResult       Success if the test is PASS
+        -->
+
         <testcase name="getTestCaseName('Pwd Length Min: Postamble Reset')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Min: Postamble - Admin Resetting Minimum Pwd Length'
+               '%s Postamble - Admin Resetting Minimum Pwd Length' % msg
             </message>
 
             <call function="'dsconfigSet'">
@@ -232,7 +314,7 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'objectName'             : 'password-validator' ,
                     'propertyType'           : 'validator' ,
-                    'propertyName'           : 'Length-Based Password Validator' ,
+                    'propertyName'           : 'Length-Based %s' % msg2 ,
                     'attributeName'          : 'min-password-length' ,
                     'attributeValue'         : '6' }
             </call>
@@ -242,11 +324,22 @@
           </sequence>
         </testcase>
 
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length Max Preamble
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Max setup
+          #@TestPreamble     none
+          #@TestStep         Checking existence of ds-cfg-max-password-length
+          #@TestStep         Admin Changing Maximum Pwd Length to 10
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
         <testcase name="getTestCaseName('Pwd Length Max: Preamble Setup')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Max: Preamble Step 1. Checking existence of ds-cfg-max-password-length'
+               '%s Preamble Step 1. Checking existence of %s' % (msg3,msg4)
             </message>
 
             <call function="'compareEntry'">
@@ -255,12 +348,12 @@
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                 'attrToBeCompared'   : 'ds-cfg-max-password-length:0',
-                'entryToBeCompared'   : 'cn=Length-Based Password Validator,cn=Password Validators,cn=config' }
+                'entryToBeCompared'   : '%s' % val }
             </call>
 
             <!--- Admin Change Maximum Pwd Length -->
             <message>
-               'Security: Pwd Validator: Pwd Length Max: Preamble Step 2. Admin Changing Maximum Pwd Length'
+               '%s Preamble Step 2. Admin Changing Maximum Pwd Length' % msg3
             </message>
 
             <call function="'dsconfigSet'">
@@ -270,7 +363,7 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'objectName'             : 'password-validator' ,
                     'propertyType'           : 'validator' ,
-                    'propertyName'           : 'Length-Based Password Validator' ,
+                    'propertyName'           : 'Length-Based %s' % msg2,
                     'attributeName'          : 'max-password-length' ,
                     'attributeValue'         : '10' }
             </call>
@@ -280,35 +373,44 @@
           </sequence>
         </testcase>
 
-        <!--- Test Case : User Change Password - Too Long-->
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length Max User Password - Too Long
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Max User Password - Too Long
+          #@TestPreamble     none
+          #@TestStep         User Changing Password over 10 RC 53
+          #@TestStep         User Searching Password over 10 RC 49
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Pwd Length Max: Pwd Too Long 1')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Max: Pwd Too Long 1 Step 1. User Changing Password'
+               '%s Pwd Too Long 1 Step 1. User Changing Password' % msg3
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=bhall,%s' % basedn,
                     'dsInstancePswd'         : 'grape' ,
-                    'DNToModify'             : 'uid=bhall, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'pomegranates' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=bhall, %s' % basedn,
+                    'dsNewPassword'          : 'pomegranates' ,
                     'expectedRC'             : 53  }
             </call>
             
             <!--- User Search With Password -->
             <message>
-               'Security: Pwd Validator: Pwd Length Max: Pwd Too Long 1 Step 2. User Searching With Password'
+               '%s Pwd Too Long 1 Step 2. User Searching With Password' % msg3
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=bhall,%s' % basedn,
                 'dsInstancePswd'   : 'pomegranates' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -321,34 +423,43 @@
           </sequence>
         </testcase>
 
-        <!--- Test Case : User Change Password-->
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length Max Pwd under 10
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Max Pwd under 10
+          #@TestPreamble     none
+          #@TestStep         User Changing Password under 10 RC 0
+          #@TestStep         User Searching Password under 10 RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 2 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Pwd Length Max: User Change Pwd')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Max: User Change Password Step 1. User Changing Password'
+               '%s User Change Password Step 1. User Changing Password' % msg3
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=bhall,%s' % basedn,
                     'dsInstancePswd'         : 'grape' ,
-                    'DNToModify'             : 'uid=bhall, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'grapefruit' ,
-                    'changetype'             : 'replace' }
+                    'dsAuthzID'              : 'dn:uid=bhall, %s' % basedn,
+                    'dsNewPassword'          : 'grapefruit'  }
             </call>
             
             <!--- User Search With Password -->
             <message>
-               'Security: Pwd Validator: Pwd Length Max: User Change Password Step 2. User Searching With Password'
+               '%s User Change Password Step 2. User Searching With Pwd' % msg3
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=bhall,%s' % basedn,
                 'dsInstancePswd'   : 'grapefruit' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -359,13 +470,25 @@
             
           </sequence>
         </testcase>
-
-        <!--- Test Case : Admin Reset Maximum Pwd Length -->
+        
+        <!--- Test Case information
+          #@TestMarker       Pwd Length
+          #@TestName         Pwd Length Max Postamble
+          #@TestIssue        none
+          #@TestPurpose      Pwd Length Max Postamble
+          #@TestPreamble     none
+          #@TestStep         Admin Resetting Maximum Pwd Length
+          #@TestStep         User Changing Password over 10 RC 0
+          #@TestStep         User Searching Password over 10 RC 0
+          #@TestPostamble    none
+          #@TestResult       Success if the 3 tests are PASS
+        -->
+        
         <testcase name="getTestCaseName('Pwd Length Max: Postamble Reset')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Pwd Length Max: Postamble Step 1. Admin Resetting Maximum Pwd Length'
+               '%s Postamble Step 1. Admin Resetting Maximum Pwd Length' % msg3
             </message>
 
             <call function="'dsconfigSet'">
@@ -375,35 +498,35 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'objectName'             : 'password-validator' ,
                     'propertyType'           : 'validator' ,
-                    'propertyName'           : 'Length-Based Password Validator' ,
+                    'propertyName'           : 'Length-Based %s' % msg2 ,
                     'attributeName'          : 'max-password-length' ,
                     'attributeValue'         : '0' }
             </call>
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Pwd Length Max: Postamble Step 2. User Changing Password'
+               '%s Postamble Step 2. User Changing Password' % msg3
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=bhall,%s' % basedn ,
                     'dsInstancePswd'         : 'grapefruit' ,
-                    'DNToModify'             : 'uid=bhall, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=bhall,%s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'pomegranates' ,
                     'changetype'             : 'replace' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Pwd Length Max: User Change Password Step 2. User Searching With Password'
+               '%s User Change Password Step 2. User Searching With Pwd' % msg3
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=bhall,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=bhall,%s' % basedn ,
                 'dsInstancePswd'   : 'pomegranates' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_repeat_chars.xml b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_repeat_chars.xml
index 235a138..db6e170 100755
--- a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_repeat_chars.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_repeat_chars.xml
@@ -32,13 +32,38 @@
   <function name="repeat_chars">
 
       <sequence>
+        
+        <!--- Test Suite information
+            #@TestSuiteName       Repeat Characters
+            #@TestSuitePurpose    Test the Pwd Policy on Pwd with Repeat chars
+            #@TestSuiteGroup      Repeat Characters
+            #@TestScript          security_repeat_chars.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: Repeat Chars:'
+          </script>
+
+          <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Test Preamble
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: Admin Enabling Validator
+            #@TestPreamble        none
+            #@TestStep            set password-validator to Repeated Characters
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
 
         <testcase name="getTestCaseName('Repeat Chars: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: Admin Enabling Validator'
+               '%s Admin Enabling Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -56,20 +81,33 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Repeat Chars: password with 3 repeat chars')">
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Test pwd with 3 repeat chars
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: pwd with 3 repeat chars
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abbbcdef RC 53
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+              ('Repeat Chars: pwd with 3 repeat chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=trigden,%s' % basedn ,
                     'dsInstancePswd'         : 'sensitive' ,
-                    'DNToModify'             : 'uid=trigden, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=trigden, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abbbcdef' ,
                     'changetype'             : 'replace' , 
@@ -77,13 +115,13 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=trigden,%s' % basedn ,
                 'dsInstancePswd'   : 'abbbcdef' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -96,33 +134,46 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Repeat Chars: password with 2 repeat chars')">
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Test pwd with 2 repeat chars
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: pwd with 2 repeat chars
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abbcdef RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Repeat Chars: password with 2 repeat chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=trigden,%s' % basedn ,
                     'dsInstancePswd'         : 'sensitive' ,
-                    'DNToModify'             : 'uid=trigden, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=trigden, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abbcdef' ,
                     'changetype'             : 'replace'  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=trigden,%s' % basedn ,
                 'dsInstancePswd'   : 'abbcdef' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -134,6 +185,17 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Repeat Chars: change maximum length
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: change maximum length
+            #@TestPreamble        none
+            #@TestStep            set max-consecutive-length to 3
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
         <testcase name="getTestCaseName('Repeat Chars: change maximum length')">
           <sequence>
             <call function="'testCase_Preamble'"/>
@@ -157,33 +219,46 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Repeat Chars: password with 3 repeat chars 2')">
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Test pwd with 3 repeat chars 2
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: pwd with 3 repeat chars 2
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abbbcdef RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Repeat Chars: password with 3 repeat chars 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=trigden,%s' % basedn ,
                     'dsInstancePswd'         : 'abbcdef' ,
-                    'DNToModify'             : 'uid=trigden, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=trigden, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abbbcdef' ,
                     'changetype'             : 'replace'  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=trigden,%s' % basedn ,
                 'dsInstancePswd'   : 'abbbcdef' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -195,11 +270,22 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Repeat Chars: reset maximum length
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: reset maximum length
+            #@TestPreamble        none
+            #@TestStep            reset max-consecutive-length to 2
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
         <testcase name="getTestCaseName('Repeat Chars: reset maximum length')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Repeat Chars: change unique chars'
+               '%s change repeat chars' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -217,11 +303,23 @@
           </sequence>
         </testcase>
        
-        <testcase name="getTestCaseName('Repeat Chars: enable case sensitive chars')">
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Repeat Chars: enable case sensitive chars
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: enable case sensitive chars
+            #@TestPreamble        none
+            #@TestStep            set case-sensitive-validation to true
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Repeat Chars: enable case sensitive chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Repeat Chars: enable case sensitive chars'
+               '%s enable case sensitive chars' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -240,20 +338,33 @@
           </sequence>
         </testcase>
        
-        <testcase name="getTestCaseName('Repeat Chars: password with 3 repeat chars 3')">
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Test pwd with 3 repeat chars 3
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: pwd with 3 repeat chars 3
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abcccdef RC 53
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Repeat Chars: password with 3 repeat chars 3')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=trigden,%s' % basedn ,
                     'dsInstancePswd'         : 'abbbcdef' ,
-                    'DNToModify'             : 'uid=trigden, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=trigden, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abcccdef' ,
                     'changetype'             : 'replace' , 
@@ -261,13 +372,13 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=trigden,%s' % basedn ,
                 'dsInstancePswd'   : 'abcccdef' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -280,33 +391,46 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Repeat Chars: password with 3 case sensitive repeat chars')">
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Test pwd with 3 sensitive repeat chars
+            #@TestIssue           none
+            #@TestPurpose         pwd with 3 sensitive repeat chars
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abcCcdef RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Repeat Chars: password with 3 case sensitive repeat chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=trigden,%s' % basedn ,
                     'dsInstancePswd'         : 'abbbcdef' ,
-                    'DNToModify'             : 'uid=trigden, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=trigden, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abcCcdef' ,
                     'changetype'             : 'replace' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Repeat Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=trigden,%s' % basedn ,
                 'dsInstancePswd'   : 'abcCcdef' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -318,11 +442,24 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+            #@TestMarker          Repeat Characters
+            #@TestName            Repeat Chars: Postamble
+            #@TestIssue           none
+            #@TestPurpose         Repeat Chars: Postamble
+            #@TestPreamble        none
+            #@TestStep            Admin Resetting Maximum Pwd Length
+            #@TestStep            User Changing Password to abbbcde RC 0
+            #@TestStep            User Searching With Password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
         <testcase name="getTestCaseName('Repeat Chars: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Repeat Chars: Postamble Step 1. Admin Resetting Maximum Pwd Length'
+               '%s Postamble Step 1. Admin Resetting Maximum Pwd Length' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -338,28 +475,26 @@
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Repeat Chars: 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=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=trigden,%s' % basedn ,
                     'dsInstancePswd'         : 'abcCcdef' ,
-                    'DNToModify'             : 'uid=trigden, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'abbbcde' ,
-                    'changetype'             : 'replace' }
+                    'dsAuthzID'              : 'dn:uid=trigden, %s' % basedn ,
+                    'dsNewPassword'          : 'abbbcde'  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: 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=trigden,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=trigden,%s' % basedn ,
                 'dsInstancePswd'   : 'abbbcde' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_similarity_based.xml b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_similarity_based.xml
index 8b0d609..0510238 100755
--- a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_similarity_based.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_similarity_based.xml
@@ -32,13 +32,43 @@
   <function name="similarity_based">
 
       <sequence>
+        
+          <!--- Test Suite information
+            #@TestSuiteName       Similarity Based
+            #@TestSuitePurpose    Test the Password Policy On Pwd Similarity
+            #@TestSuiteGroup      Similarity Based
+            #@TestScript          security_similarity_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: Similarity Based:'
+            msg1 = 'Password Validator'
+            msg2 ='requires-current-password'
+            msg3 = 'password-change-requires-current-password'
+
+          </script>
+
+          <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            Similarity Based Test Preamble
+            #@TestIssue           none
+            #@TestPurpose         Preamble
+            #@TestPreamble        none
+            #@TestStep            Admin enabling validator
+            #@TestStep            Admin modifying password history count to 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
 
         <testcase name="getTestCaseName('Similarity Based: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: Preamble - Admin enabling validator'
+               '%s Preamble - Admin enabling validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -48,11 +78,11 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
                     'attributeName'          : 'password-validator' ,
-                    'attributeValue'         : 'Similarity-Based Password Validator' }
+                    'attributeValue'         : 'Similarity-Based %s' % msg1 }
             </call>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: Preamble - Admin modifying password history count'
+               '%s Preamble - Admin modifying password history count' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -70,33 +100,46 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Similarity Based: new password with 1 letter change, valid')">
+        <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            New password with 1 letter change, valid
+            #@TestIssue           none
+            #@TestPurpose         New password with 1 letter change, valid
+            #@TestPreamble        none
+            #@TestStep            user modifying pwd with 1 letter change RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+              ('Similarity Based: new password with 1 letter change, valid')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kvaughan,%s' % basedn ,
                     'dsInstancePswd'         : 'bribery' ,
-                    'DNToModify'             : 'uid=kvaughan, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kvaughan, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'brobery' ,
                     'changetype'             : 'replace'  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kvaughan,%s' % basedn ,
                 'dsInstancePswd'   : 'brobery' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -108,12 +151,25 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Similarity Based: Enable requires-current-password')">
+        <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            Enable requires-current-password
+            #@TestIssue           none
+            #@TestPurpose         Enable requires-current-password
+            #@TestPreamble        none
+            #@TestStep            Admin enabling 
+                                  password-change-requires-current-password
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+               ('Similarity Based: Enable requires-current-password')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: Admin enabling requires-current-password'
+               '%s Admin enabling %s' % (msg,msg3)
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -122,7 +178,7 @@
                     'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
-                    'attributeName'          : 'password-change-requires-current-password' ,
+                    'attributeName'          : msg3 ,
                     'attributeValue'         : 'true' }
             </call>
             
@@ -131,20 +187,33 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Similarity Based: new password with 1 letter change, invalid')">
+        <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            New password with 1 letter change, invalid
+            #@TestIssue           none
+            #@TestPurpose         New password with 1 letter change, invalid
+            #@TestPreamble        none
+            #@TestStep            user modifying pwd with 1 letter change RC 53
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+              ('Similarity Based: new password with 1 letter change, invalid')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kvaughan,%s' % basedn ,
                     'dsInstancePswd'         : 'brobery' ,
-                    'DNToModify'             : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kvaughan,%s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'probery' ,
                     'changetype'             : 'replace' , 
@@ -152,13 +221,13 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: 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=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kvaughan,%s' % basedn ,
                 'dsInstancePswd'   : 'probery' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -171,33 +240,46 @@
           </sequence>
         </testcase>
       
-        <testcase name="getTestCaseName('Similarity Based: new password with 1 letter change, invalid 2')">
+        <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            New password with 1 letter change, invalid 2
+            #@TestIssue           none
+            #@TestPurpose         New password with 1 letter change, invalid 2
+            #@TestPreamble        none
+            #@TestStep            user modifying pwd with 1 letter change RC 49
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Similarity Based: new password with 1 letter change, invalid 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kvaughan,%s' % basedn ,
                     'dsInstancePswd'         : 'brobery' ,
-                    'dsAuthzID'              : 'dn:uid=kvaughan, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'dsAuthzID'              : 'dn:uid=kvaughan, %s' % basedn ,
+                    'dsNewPassword'          : 'probery' ,
                     'dsCurrentPassword'      : 'brobery' ,
-                    'dsNewPassword'          : 'probery' , 
                     'expectedRC'             : 49 }
             </call>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: 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=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kvaughan,%s' % basedn ,
                 'dsInstancePswd'   : 'probery' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -210,33 +292,46 @@
           </sequence>
         </testcase>
       
-        <testcase name="getTestCaseName('Similarity Based: new password with 2 letter change, invalid')">
+        <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            New password with 2 letters change, invalid
+            #@TestIssue           none
+            #@TestPurpose         New password with 2 letters change, invalid
+            #@TestPreamble        none
+            #@TestStep            user modifying pwd with 2 letter change RC 49
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Similarity Based: new password with 2 letter change, invalid')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kvaughan,%s' % basedn ,
                     'dsInstancePswd'         : 'brobery' ,
-                    'dsAuthzID'              : 'dn:uid=kvaughan, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'dsAuthzID'              : 'dn:uid=kvaughan, %s' % basedn ,
+                    'dsNewPassword'          : 'phobery' ,
                     'dsCurrentPassword'      : 'brobery' ,
-                    'dsNewPassword'          : 'phobery' , 
                     'expectedRC'             : 49 }
             </call>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: 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=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kvaughan,%s' % basedn ,
                 'dsInstancePswd'   : 'phobery' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -249,32 +344,45 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Similarity Based: new password with 3 letter change, valid')">
+        <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            New password with 3 letters change, valid
+            #@TestIssue           none
+            #@TestPurpose         New password with 3 letters change, valid
+            #@TestPreamble        none
+            #@TestStep            user modifying pwd with 3 letter change RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+        ('Similarity Based: new password with 3 letter change, valid')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kvaughan,%s' % basedn ,
                     'dsInstancePswd'         : 'brobery' ,
-                    'dsAuthzID'              : 'dn:uid=kvaughan, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'dsCurrentPassword'      : 'brobery' ,
-                    'dsNewPassword'          : 'phibery'  }
+                    'dsAuthzID'              : 'dn:uid=kvaughan, %s' % basedn ,
+                    'dsNewPassword'          : 'phibery' ,
+                    'dsCurrentPassword'      : 'brobery' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kvaughan,%s' % basedn ,
                 'dsInstancePswd'   : 'phibery' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -286,11 +394,26 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+            #@TestMarker          Similarity Based
+            #@TestName            Postamble
+            #@TestIssue           none
+            #@TestPurpose         Postamble
+            #@TestPreamble        none
+            #@TestStep            Admin disabling password validator
+            #@TestStep            User Changing Pwd with 1 letter change RC 0
+            #@TestStep            User Searching With Password RC 0
+            #@TestStep            Admin disabling 
+                                  password-change-requires-current-password
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
         <testcase name="getTestCaseName('Similarity Based: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Similarity Based: Postamble Step 1. Admin disabling password validator'
+               '%s Postamble Step 1. Admin disabling password validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -300,33 +423,33 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
                     'attributeName'          : 'password-validator' ,
-                    'attributeValue'         : 'Similarity-Based Password Validator' ,
+                    'attributeValue'         : 'Similarity-Based %s' % msg1 ,
                     'modifyType'             : 'remove' }
             </call>
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Similarity Based: Postamble Step 2. User Changing Password'
+               '%s Postamble Step 2. User Changing Password' % msg
             </message>
 
             <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kvaughan,%s' % basedn ,
                     'dsInstancePswd'         : 'phibery' ,
-                    'dsAuthzID'              : 'dn:uid=kvaughan, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'dsCurrentPassword'      : 'phibery' ,
-                    'dsNewPassword'          : 'phibary'  }
+                    'dsAuthzID'              : 'dn:uid=kvaughan, %s' % basedn ,
+                    'dsNewPassword'          : 'phibary' ,
+                    'dsCurrentPassword'      : 'phibery' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Similarity Based: 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=kvaughan,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kvaughan,%s' % basedn ,
                 'dsInstancePswd'   : 'phibary' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -334,7 +457,7 @@
             </call>
 
             <message>
-               'Security: Pwd Validator: Similarity Based: Postamble Step 4. Admin enabling requires-current-password'
+               '%s Postamble Step 4. Admin disabling %s' % (msg,msg2)
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -343,7 +466,7 @@
                     'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
-                    'attributeName'          : 'password-change-requires-current-password' ,
+                    'attributeName'          : msg3 ,
                     'attributeValue'         : 'false' }
             </call>
             
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_skip_val_for_admins.xml b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_skip_val_for_admins.xml
index bd6b798..1223e02 100755
--- a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_skip_val_for_admins.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_skip_val_for_admins.xml
@@ -33,15 +33,49 @@
 
       <sequence>
 
-        <!--- Test Case : Setup -->
-        <testcase name="getTestCaseName('Root User Bypass Valid: Preamble Setup')">
+        <!--- Test Suite information
+            #@TestSuiteName       Skip Validation for Administrators
+            #@TestSuitePurpose    Test the Skip Validation for Administrators
+            #@TestSuiteGroup      Skip Validation for Administrators
+            #@TestScript          security_skip_val_for_admins_chars.xml
+          -->
+
+        <!--- Define default value for basedn -->
+          <script>
+            msg = 'Security: Pwd Validator: Root User Bypass Valid'
+            msg1 = 'Pwd Length Validator On Root Users'
+            msg2 = 'Bypass Enabled'
+            msg3 = 'Step 1. Admin Enabling'
+            msg4 = 'Step 1. Admin Changing'
+            msg5 = 'Root Changing Password'
+            msg6 = 'Bypass For Pwd Validator'
+            msg7 = 'skip-validation-for-administrators'
+            pwddn = 'cn=Sales Admin,cn=Root DNs,cn=config'
+            msg8 = 'Password Validator'
+            ldiffile = 'admin_disable_pwd_length_validator.ldif'
+            ldifpath = 'security/pwd_validator/%s' % ldiffile
+          </script>
+
+          <!--- Test Case information
+            #@TestMarker          Skip Validation for Administrators
+            #@TestName            Root User Bypass Valid: Preamble Setup
+            #@TestIssue           none
+            #@TestPurpose         Preamble Setup
+            #@TestPreamble        none
+            #@TestStep            Admin Enabling Length Validator On Root Users
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+          <testcase name="getTestCaseName
+            ('Root User Bypass Valid: Preamble Setup')">
           <sequence>
           
             <call function="'testCase_Preamble'"/>
 
             <!--- Admin Enable Pwd Length Validator -->
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Preamble - Step 1. Admin Enabling Pwd Length Validator On Root Users'
+               '%s: Preamble - Step 1. Admin Enabling %s' % (msg,msg1)
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -51,7 +85,7 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
                     'attributeName'          : 'password-validator' ,
-                    'attributeValue'         : 'Length-Based Password Validator' }
+                    'attributeValue'         : 'Length-Based %s' % msg8 }
             </call>
             
             <call function="'testCase_Postamble'"/>
@@ -59,12 +93,24 @@
           </sequence>
         </testcase>
 
+        <!--- Test Case information
+            #@TestMarker          Skip Validation for Administrators
+            #@TestName            Root Change Password - Too Short
+            #@TestIssue           none
+            #@TestPurpose         Root Change Password - Too Short
+            #@TestPreamble        none
+            #@TestStep            Root Changing Pwd to grape- Too Short RC 53
+            #@TestStep            Root Searching With Password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
         <!--- Root Change Password - Too Short-->
         <testcase name="getTestCaseName('Root User Bypass Valid: No Bypass')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: No Bypass - Step 1. Root Changing Password - Too Short'
+               '%s: No Bypass - Step 1. Root Changing Pwd - Too Short' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
@@ -72,7 +118,7 @@
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
                     'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
-                    'DNToModify'             : 'cn=Sales Admin,cn=Root DNs,cn=config' ,
+                    'DNToModify'             : pwddn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'grape' ,
                     'changetype'             : 'replace' ,
@@ -81,7 +127,7 @@
             
             <!--- Root Search With Password -->
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: No Bypass - Step 2. Root Searching With Password'
+               '%s No Bypass - Step 2. Root Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
@@ -100,12 +146,26 @@
           </sequence>
         </testcase>
 
-       <!--- Enable Bypass Validator-->
-        <testcase name="getTestCaseName('Root User Bypass Valid: Bypass Enabled 1')">
+        <!--- Test Case information
+            #@TestMarker          Skip Validation for Administrators
+            #@TestName            Root User Bypass Valid: Bypass Enabled 1
+            #@TestIssue           none
+            #@TestPurpose         Root User Bypass Valid: Bypass Enabled 1
+            #@TestPreamble        none
+            #@TestStep            Admin Enabling Bypass For Pwd Validator set
+                                  skip-validation-for-administrators to true
+            #@TestStep            Root Changing Password - Too Short RC 0
+            #@TestStep            Root Searching With Pwd RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Root User Bypass Valid: Bypass Enabled 1')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Bypass Enabled 1 - Step 1. Admin Enabling Bypass For Pwd Validator'
+               '%s %s 1 - %s Bypass For Pwd Validator' % (msg,msg2,msg3)
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -114,12 +174,12 @@
                     'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
-                    'attributeName'          : 'skip-validation-for-administrators' ,
+                    'attributeName'          : msg7 ,
                     'attributeValue'         : 'true' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Bypass Enabled 1 - Step 2. Root Changing Password - Too Short'
+               '%s %s 1 - Step 2. %s - Too Short' % (msg,msg2,msg5)
             </message>
 
             <call function="'modifyAnAttribute'">
@@ -127,7 +187,7 @@
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
                     'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
-                    'DNToModify'             : 'cn=Sales Admin,cn=Root DNs,cn=config' ,
+                    'DNToModify'             : pwddn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'grape' ,
                     'changetype'             : 'replace' }
@@ -135,7 +195,7 @@
             
             <!--- Root Search With Password -->
            <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Bypass Enabled 1 - Step 3. Root Searching With Password'
+               '%s Bypass Enabled 1 - Step 3. Root Searching With Pwd' % msg
             </message>
 
             <call function="'SearchObject'">
@@ -143,7 +203,7 @@
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                 'dsInstanceDn'     : 'cn=Sales Admin' ,
                 'dsInstancePswd'   : 'grape' ,
-                'dsBaseDN'   : 'dc=example,dc=com' ,
+                'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
                 'extraParams'      : '-s base' }
             </call>
@@ -153,12 +213,25 @@
           </sequence>
         </testcase>
 
-        <!--- Admin Change Minimum Pwd Length -->
-        <testcase name="getTestCaseName('Root User Bypass Valid: Bypass Enabled 2')">
+        <!--- Test Case information
+            #@TestMarker          Skip Validation for Administrators
+            #@TestName            Root User Bypass Valid: Bypass Enabled 2
+            #@TestIssue           none
+            #@TestPurpose         Root User Bypass Valid: Bypass Enabled 2
+            #@TestPreamble        none
+            #@TestStep            Admin Changing Minimum Pwd Length to 4
+            #@TestStep            Root Changing Password - Too Short RC 0
+            #@TestStep            Root Searching With Pwd RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Root User Bypass Valid: Bypass Enabled 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Bypass Enabled 2 - Step 1. Admin Changing Minimum Pwd Length'
+               '%s %s 2 - %s Minimum Pwd Length' % (msg,msg2,msg4)
             </message>
 
             <call function="'dsconfigSet'">
@@ -168,14 +241,14 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'objectName'             : 'password-validator' ,
                     'propertyType'           : 'validator' ,
-                    'propertyName'           : 'Length-Based Password Validator' ,
+                    'propertyName'           : 'Length-Based %s' % msg8,
                     'attributeName'          : 'min-password-length' ,
                     'attributeValue'         : '4' }
             </call>
             
             <!--- User Change Password - Too Short-->
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Bypass Enabled 2 - Step 2. Root Changing Password - Too Short'
+               '%s %s 2 - Step 2. %s - Too Short' % (msg,msg2,msg5)
             </message>
 
             <call function="'modifyAnAttribute'">
@@ -183,7 +256,7 @@
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
                     'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
-                    'DNToModify'             : 'cn=Sales Admin,cn=Root DNs,cn=config' ,
+                    'DNToModify'             : pwddn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'goo' ,
                     'changetype'             : 'replace' }
@@ -191,7 +264,7 @@
             
             <!--- Root Search With Password -->
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Bypass Enabled 2 - Step 3. Root Searching With Password'
+               '%s %s 2 - Step 3. Root Searching With Pwd' % (msg,msg2)
             </message>
 
             <call function="'SearchObject'">
@@ -209,15 +282,27 @@
           </sequence>
         </testcase>
 
-        <!--- Check Self-Change Pwd -->
-        <testcase name="getTestCaseName('Root User Bypass Valid: Self-Change Pwd')">
+        <!--- Test Case information
+            #@TestMarker          Skip Validation for Administrators
+            #@TestName            Root User Bypass Valid: Self-Change Pwd
+            #@TestIssue           none
+            #@TestPurpose         Root User Bypass Valid: Self-Change Pwd
+            #@TestPreamble        none
+            #@TestStep            User Self-Change Pwd Too Short RC 53
+            #@TestStep            User Searching With Password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Root User Bypass Valid: Self-Change Pwd')">
           <sequence>
           
             <call function="'testCase_Preamble'"/>
   
           <!--- Sales Admin Self-Change Pwd-->
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Self-Change Pwd - Step 1. Root Changing Password - Too Short'
+               '%s Self-Change Pwd - Step 1. %s - Too Short' % (msg,msg5)
             </message>
 
             <call function="'modifyAnAttribute'">
@@ -225,7 +310,7 @@
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
                     'dsInstanceDn'           : 'cn=Sales Admin' ,
                     'dsInstancePswd'         : 'goo' ,
-                    'DNToModify'             : 'cn=Sales Admin,cn=Root DNs,cn=config' ,
+                    'DNToModify'             : pwddn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'gaa' ,
                     'changetype'             : 'replace' ,
@@ -234,7 +319,7 @@
             
             <!--- Root Search With Password -->
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Self-Change Pwd - Step 2. Root Searching With Password'
+               '%s Self-Change Pwd - Step 2. Root Searching With Password' % msg
             </message>
 
             <call function="'SearchObject'">
@@ -253,15 +338,30 @@
           </sequence>
         </testcase>
 
-        <!--- Test Case : Admin Reset Minimum Pwd Length -->
-        <testcase name="getTestCaseName('Root User Bypass Valid: Postamble Teardown')">
+        <!--- Test Case information
+            #@TestMarker          Skip Validation for Administrators
+            #@TestName            Postamble Admin Reset Minimum Pwd Length
+            #@TestIssue           none
+            #@TestPurpose         Postamble Admin Reset Minimum Pwd Length
+            #@TestPreamble        none
+            #@TestStep            Admin Disabling Bypass For Pwd Validator set
+                                  skip-validation-for-administrators to false
+            #@TestStep            Admin Resetting Minimum Pwd Length to 6
+            #@TestStep            Root Changing Password - Too Short RC 0
+            #@TestStep            Root Searching With Pwd RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Root User Bypass Valid: Postamble Teardown')">
           <sequence>
           
             <call function="'testCase_Preamble'"/>
 
             <!--- Root Search With Original Password -->
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Postamble - Step 1. Admin Disabling Bypass For Pwd Validator'
+               '%s Postamble - Step 1. Admin Disabling %s' % (msg,msg6)
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -270,12 +370,12 @@
                     'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'propertyName'           : 'Default Password Policy' ,
-                    'attributeName'          : 'skip-validation-for-administrators' ,
+                    'attributeName'          : msg7 ,
                     'attributeValue'         : 'false' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Postamble - Step 2. Admin Resetting Minimum Pwd Length'
+               '%s Postamble - Step 2. Admin Resetting Minimum Pwd Length' % msg
             </message>
 
             <call function="'dsconfigSet'">
@@ -285,13 +385,13 @@
                     'dsInstancePswd'         : DIRECTORY_INSTANCE_PSWD ,
                     'objectName'             : 'password-validator' ,
                     'propertyType'           : 'validator' ,
-                    'propertyName'           : 'Length-Based Password Validator' ,
+                    'propertyName'           : 'Length-Based %s' % msg8,
                     'attributeName'          : 'min-password-length' ,
                     'attributeValue'         : '6' }
             </call>
             <!--
             <message>
-               'Security: Pwd Validator: Root User Bypass Valid: Postamble - Step 3. Admin Disabling Pwd Length Validator On Root Users'
+               '%s Postamble - Step 3. Admin Disabling %s' % (msg,msg1)
             </message>
 
             <call function="'modifyEntry'">
@@ -299,7 +399,7 @@
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                 'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                 'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
-                'entryToBeModified'   : '%s/security/pwd_validator/admin_disable_pwd_length_validator.ldif' % logsRemoteDataDir }
+                'entryToBeModified'   : '%s/%s' % (logsRemoteDataDir,ldifpath) }
             </call>
             -->
             <call function="'testCase_Postamble'"/>
diff --git a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_unique_chars.xml b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_unique_chars.xml
index 82e13f9..28c8a25 100755
--- a/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_unique_chars.xml
+++ b/opendj-sdk/opends/tests/functional-tests/testcases/security/pwd_validator/security_unique_chars.xml
@@ -32,13 +32,38 @@
   <function name="unique_chars">
 
       <sequence>
+        
+          <!--- Test Suite information
+            #@TestSuiteName       Unique Characters
+            #@TestSuitePurpose    Test the Pwd Policy on Pwd with unique chars
+            #@TestSuiteGroup      Unique Characters
+            #@TestScript          security_unique_chars.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: Unique Chars:'
+          </script>
+
+          <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Test Preamble
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: Admin Enabling ValidatorUnique Characters
+            #@TestPreamble        none
+            #@TestStep            Admin Enabling Validator for Unique Characters
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS.
+          -->
 
         <testcase name="getTestCaseName('Unique Chars: Preamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: Admin Enabling Validator'
+               '%s Admin Enabling Validator' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -56,34 +81,44 @@
           </sequence>
         </testcase>
 
-        <testcase name="getTestCaseName('Unique Chars: password with 3 unique chars')">
+          <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Test pwd with 3 unique chars
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: pwd with 3 unique chars
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abebab RC 53
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName('Unique Chars: pwd with 3 unique chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
-            <call function="'modifyAnAttribute'">
+            <call function="'ldapPasswordModifyWithScript'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'forsook' ,
-                    'DNToModify'             : 'uid=kwinters, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
-                    'attributeName'          : 'userpassword' ,
-                    'newAttributeValue'      : 'abebab' ,
-                    'changetype'             : 'replace' , 
+                    'dsAuthzID'              : 'dn:uid=kwinters, %s' % basedn ,
+                    'dsNewPassword'          : 'abebab' ,
                     'expectedRC'             : 53  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kwinters,%s' % basedn ,
                 'dsInstancePswd'   : 'abebab' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -96,20 +131,32 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Unique Chars: password with 4 unique chars')">
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Test pwd with 4 unique chars
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: pwd with 4 unique chars
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abebib RC 53
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+        <testcase name="getTestCaseName
+            ('Unique Chars: pwd with 4 unique chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'forsook' ,
-                    'DNToModify'             : 'uid=kwinters, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kwinters, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abebib' ,
                     'changetype'             : 'replace' , 
@@ -117,13 +164,13 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kwinters,%s' % basedn ,
                 'dsInstancePswd'   : 'abebib' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -136,33 +183,45 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Test pwd with 5 unique chars
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: pwd with 5 unique chars
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abebig RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
         <testcase name="getTestCaseName('Unique Chars: password with 5 unique chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'forsook' ,
-                    'DNToModify'             : 'uid=kwinters, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kwinters, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abebig' ,
                     'changetype'             : 'replace'  }
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kwinters,%s' % basedn ,
                 'dsInstancePswd'   : 'abebig' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -174,11 +233,22 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Unique Chars: cahnge unique chars')">
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Change Unique Chars
+            #@TestIssue           none
+            #@TestPurpose         Change Unique Chars
+            #@TestPreamble        none
+            #@TestStep            set min-unique-characters to 3
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName('Unique Chars: change unique chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Unique Chars: change unique chars'
+               '%s change unique chars' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -197,33 +267,46 @@
           </sequence>
         </testcase>
        
-        <testcase name="getTestCaseName('Unique Chars: password with 3 unique chars 2')">
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Test pwd with 3 unique chars 2
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: pwd with 3 unique chars 2
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abebab RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Unique Chars: pwd with 3 unique chars 2')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'abebig' ,
-                    'DNToModify'             : 'uid=kwinters, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kwinters, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abebab' ,
                     'changetype'             : 'replace'   }
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kwinters,%s' % basedn ,
                 'dsInstancePswd'   : 'abebab' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -235,11 +318,22 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Unique Chars: reset unique chars
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: reset unique chars
+            #@TestPreamble        none
+            #@TestStep            Reset min-unique-characters to 5
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
         <testcase name="getTestCaseName('Unique Chars: reset unique chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Unique Chars: change unique chars'
+               '%s change unique chars' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -258,11 +352,23 @@
           </sequence>
         </testcase>
        
-        <testcase name="getTestCaseName('Unique Chars: enable case sensitive chars')">
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Unique Chars: enable case sensitive chars
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: enable case sensitive chars
+            #@TestPreamble        none
+            #@TestStep            set case-sensitive-validation to true
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+        
+        <testcase name="getTestCaseName
+            ('Unique Chars: enable case sensitive chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Unique Chars: enable case sensitive chars'
+               '%s enable case sensitive chars' % msg
             </message>
             
             <call function="'modifyPwdValidator'">
@@ -281,20 +387,33 @@
           </sequence>
         </testcase>
        
-        <testcase name="getTestCaseName('Unique Chars: password with 3 unique chars 3')">
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Test pwd with 3 unique chars 3
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: pwd with 3 unique chars 3
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abbabac RC 53
+            #@TestStep            user binding with new password RC 49
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
+        <testcase name="getTestCaseName
+            ('Unique Chars: pwd with 3 unique chars 3')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'abebab' ,
-                    'DNToModify'             : 'uid=kwinters, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kwinters, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abbabac' ,
                     'changetype'             : 'replace' , 
@@ -302,13 +421,13 @@
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kwinters,%s' % basedn ,
                 'dsInstancePswd'   : 'abbabac' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -321,33 +440,45 @@
           </sequence>
         </testcase>
         
-        <testcase name="getTestCaseName('Unique Chars: password with 3 unique case sensitive chars')">
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Test pwd with 3 unique sensitive chars
+            #@TestIssue           none
+            #@TestPurpose         pwd with 3 unique sensitive chars
+            #@TestPreamble        none
+            #@TestStep            user modifying password to abBABac RC 0
+            #@TestStep            user binding with new password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+        <testcase name="getTestCaseName
+            ('Unique Chars: password with 3 unique case sensitive chars')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user modifying password'
+               '%s user modifying password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'abebab' ,
-                    'DNToModify'             : 'uid=kwinters, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kwinters, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abBABac' ,
                     'changetype'             : 'replace'   }
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: user binding with new password'
+               '%s user binding with new password' % msg
             </message>
 
             <call function="'SearchObject'">
               { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
                 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
-                'dsInstanceDn'     : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kwinters,%s' % basedn ,
                 'dsInstancePswd'   : 'abBABac' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,
@@ -359,11 +490,24 @@
           </sequence>
         </testcase>
         
+        <!--- Test Case information
+            #@TestMarker          Unique Characters
+            #@TestName            Unique Chars: Postamble
+            #@TestIssue           none
+            #@TestPurpose         Unique Chars: Postamble
+            #@TestPreamble        none
+            #@TestStep            Admin Resetting Maximum Pwd Length
+            #@TestStep            User Changing Password to abebab RC 0
+            #@TestStep            User Searching With Password RC 0
+            #@TestPostamble       none
+            #@TestResult          Success if all tests are PASS
+          -->
+          
         <testcase name="getTestCaseName('Unique Chars: Postamble')">
           <sequence>
             <call function="'testCase_Preamble'"/>
             <message>
-               'Security: Pwd Validator: Unique Chars: Postamble Step 1. Admin Resetting Maximum Pwd Length'
+               '%s Postamble Step 1. Admin Resetting Maximum Pwd Length' % msg
             </message>
 
             <call function="'modifyPwdPolicy'">
@@ -379,28 +523,28 @@
             
             <!--- User Change Password -->
             <message>
-               'Security: Pwd Validator: Unique Chars: Postamble Step 2. User Changing Password'
+               '%s Postamble Step 2. User Changing Password' % msg
             </message>
 
             <call function="'modifyAnAttribute'">
                   { 'dsInstanceHost'         : DIRECTORY_INSTANCE_HOST ,
                     'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
-                    'dsInstanceDn'           : 'uid=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                    'dsInstanceDn'           : 'uid=kwinters,%s' % basedn ,
                     'dsInstancePswd'         : 'abBABac' ,
-                    'DNToModify'             : 'uid=kwinters, ou=People, ou=password tests,  o=Pwd Validator Tests, dc=example,dc=com' ,
+                    'DNToModify'             : 'uid=kwinters, %s' % basedn ,
                     'attributeName'          : 'userpassword' ,
                     'newAttributeValue'      : 'abebab' ,
                     'changetype'             : 'replace' }
             </call>
             
             <message>
-               'Security: Pwd Validator: Unique Chars: 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=kwinters,ou=people,ou=password tests,o=Pwd Validator Tests,dc=example,dc=com' ,
+                'dsInstanceDn'     : 'uid=kwinters,%s' % basedn ,
                 'dsInstancePswd'   : 'abebab' ,
                 'dsBaseDN'         : 'dc=example,dc=com' ,
                 'dsFilter'         : 'objectclass=*'  ,

--
Gitblit v1.10.0