'%s Preamble - Checking existence of ds-cfg-idle-lockout-interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'attrToBeCompared' : 'ds-cfg-idle-lockout-interval:0 seconds', 'entryToBeCompared' : basepwp } 'Security: Last Login: Admin Enable Last Login Attribute Only' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-attribute' , 'attributeValue' : 'ds-pwp-last-login-time' } 'Security: Last Login: User Binding With Password' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Checking for Absence of Last Login Time' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : 'uid=jreuter,%s' % basedn , 'dsFilter' : 'objectclass=*' , 'attributes' : 'ds-pwp-last-login-time' } { 'returnString' : returnString , 'testString' : 'ds-pwp-last-login-time' } 'Security: Last Login: Admin Disable Last Login Attribute Only' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-attribute' , 'modifyType' : 'reset' } 'Security: Last Login: Admin Enable Last Login Format Only' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-format' , 'attributeValue' : 'EEE, MMM dd, yyyy HH:mm:ss' } 'Security: Last Login: User Binding With Password' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Checking for Absence of Last Login Time' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : 'uid=jreuter,%s' % basedn , 'dsFilter' : 'objectclass=*' , 'attributes' : 'ds-pwp-last-login-time' } { 'returnString' : returnString , 'testString' : 'ds-pwp-last-login-time' } 'Security: Last Login: Admin Enable Last Login Attribute And Format' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-attribute' , 'attributeValue' : 'ds-pwp-last-login-time' } 'Security: Last Login: User Binding With Password' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Checking for Absence of Last Login Time' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsBaseDN' : 'uid=jreuter,%s' % basedn , 'dsFilter' : 'objectclass=*' , 'attributes' : 'ds-pwp-last-login-time' } { 'returnString' : returnString , 'expectedString' : 'ds-pwp-last-login-time' } 'Security: Last Login: Long Idle Lockout Step 1. Check User Bind' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s Long Idle Lockout Step 2. Admin Changing Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s Long Idle Lockout Step 3. User Binding Before Idle Lockout' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Long Idle Lockout Step 4. Sleep' { 'sleepForMilliSeconds' : 60000 } '%s Long Idle Lockout Step 5. User Binding After Idle Lockout' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base', 'expectedRC' : 49 } '%s Reset Idle Lockout Step 1. Admin Resetting Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } 'Security: Last Login: Reset Idle Lockout Step 2. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Reset Idle Lockout Step 3. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Reset Idle Lockout Step 4. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Password Change Override Step 1. Check User Bind' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Password Change Override Step 2. %s' % (msg1,msg2,msg3) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s, %s - %s Step 3. User Binding Before Idle Lockout' % (msg1,msg2,msg4) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'destroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Long Idle Lockout Step 4. Sleep' { 'sleepForMilliSeconds' : 30000 } '%s, %s - Password Change Override Step 5. User Changing Password' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsAuthzID' : 'dn:uid=jreuter,%s' % basedn , 'dsNewPassword' : 'newdestroy' } 'Security: Last Login: Long Idle Lockout Step 6. Sleep' { 'sleepForMilliSeconds' : 30000 } '%s Long Idle Lockout Step 7. User Binding After Idle Lockout' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s Reset Idle Lockout 2 Step 1. Admin Resetting Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } 'Security: Last Login: Reset Idle Lockout 2 Step 2. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Reset Idle Lockout 2 Step 3. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Reset Idle Lockout 2 Step 4. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s Long Idle Lockout - User Bind Reset Step 1. Check User Bind' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - User Bind Reset Step 2. %s' % (msg1,msg2,msg3) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s, %s - %s 3. User Binding Before Idle Lockout' % (msg1,msg2,msg5) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Long Idle Lockout - User Bind Reset Step 4. Sleep' { 'sleepForMilliSeconds' : 30000 } '%s, %s - %s 5. User Bind To Reset Last Login Time' % (msg1,msg2,msg5) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Long Idle Lockout - User Bind Reset Step 6. Sleep' { 'sleepForMilliSeconds' : 30000 } '%s, %s - User Bind Reset Step 7. User Binding After Idle Lockout' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s Reset Idle Lockout Step 1. Admin Resetting Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } 'Security: Last Login: Reset Idle Lockout Step 2. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Reset Idle Lockout Step 3. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Reset Idle Lockout Step 4. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Disabled Last Login Step 1. Disable Last Login' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-attribute' , 'modifyType' : 'reset' } '%s, %s - Disabled Last Login Step 2. Check User Bind' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Disabled Last Login Step 3. %s' % (msg1,msg2,msg3) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s, %s - Disabled Last Login Step 4. User Binding' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' , 'expectedRC' : 49 } 'Security: Last Login: Reset Idle Lockout Step 1. Enable Last Login - Attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-attribute' , 'attributeValue' : 'ds-pwp-last-login-time' } '%s Reset Idle Lockout Step 2. Admin Resetting Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } 'Security: Last Login: Reset Idle Lockout Step 3. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Reset Idle Lockout Step 4. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Reset Idle Lockout Step 5. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Disabled Last Login 2 Step 1. Disable Last Login' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-format' , 'modifyType' : 'reset' } '%s, %s - Disabled Last Login 2 Step 2. Check User Bind' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Disabled Last Login 2 Step 3. %s' % (msg1,msg2,msg3) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s, %s - Disabled Last Login 2 Step 4. User Binding' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' , 'expectedRC' : 49 } 'Security: Last Login: Reset Idle Lockout Step 1. Enable Last Login - Attribute' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-format' , 'attributeValue' : 'EEE, MMM dd, yyyy HH:mm:ss' } '%s Reset Idle Lockout Step 2. Admin Resetting Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } 'Security: Last Login: Reset Idle Lockout Step 3. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Reset Idle Lockout Step 4. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Reset Idle Lockout Step 5. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Long Idle Lockout Step 1. Check User Bind' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s Step 2. Admin Changing Idle Lockout Interval' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s, %s Step 3. User Binding Before Idle Lockout' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Long Idle Lockout Step 4. Sleep' { 'sleepForMilliSeconds' : 60000 } '%s, %s Step 5. User Binding After Idle Lockout' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' , 'expectedRC' : 49 } '%s Reset Idle Lockout Step 1. Admin Resetting Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } 'Security: Last Login: Reset Idle Lockout Step 2. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Reset Idle Lockout Step 3. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Reset Idle Lockout Step 4. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Pwd Change Override 2 Step 1. Check User Bind' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Pwd Change Override 2 Step 2. %s' % (msg1,msg2,msg3) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s, %s - Pwd Change Override 2 Step 3. %s' % (msg1,msg2,msg6) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'newdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Long Idle Lockout - Pwd Change Override 2 Step 4. Sleep' { 'sleepForMilliSeconds' : 60000 } '%s, %s - Pwd Change Override 2 Step 5. User Changing Password' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsAuthzID' : 'dn:uid=jreuter,%s' % basedn , 'dsNewPassword' : 'anotherdestroy' } '%s, %s - Pwd Change Override 2 Step 6. %s' % (msg1,msg2,msg7) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'anotherdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s Reset Idle Lockout Step 1. Admin Resetting Idle Lockout Interval' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } 'Security: Last Login: Reset Idle Lockout Step 2. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'anotherdestroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Reset Idle Lockout Step 3. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Reset Idle Lockout Step 4. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'anotherdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s Long Idle Lockout - Pwd Change Override 3 Step 1. Disable Last Login' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-format' , 'modifyType' : 'reset' } '%s, %s - Pwd Change Override 3 Step 2. Check User Bind' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'anotherdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } '%s, %s - Pwd Change Override 3 Step 3. %s' % (msg1,msg2,msg3) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '50 s' } '%s, %s - Pwd Change Override 3 Step 4. %s' % (msg1,msg2,msg6) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'anotherdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' , 'expectedRC' : 49 } '%s, %s - Pwd Change Override 3 Step 5. Admin Changing Password' % (msg1,msg2) { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'dsAuthzID' : 'dn:uid=jreuter,%s' % basedn , 'dsNewPassword' : 'lastdestroy' } '%s Pwd Override 3 Step 6. User Binding After Admin Pwd Change' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'lastdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Postamble Step 1. Admin Resetting Idle Lockout Interval' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'idle-lockout-interval' , 'attributeValue' : '0 s' } '%s Postamble Step 2. Admin Disabling Last Login Time Attribute' % msg1 { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : DIRECTORY_INSTANCE_DN , 'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD , 'propertyName' : 'Default Password Policy' , 'attributeName' : 'last-login-time-attribute' , 'modifyType' : 'reset' } 'Security: Last Login: Postamble Step 3. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'lastdestroy', 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' } 'Security: Last Login: Postamble Step 4. Sleep' { 'sleepForMilliSeconds' : 60000 } 'Security: Last Login: Postamble Step 5. User Binding' { 'dsInstanceHost' : DIRECTORY_INSTANCE_HOST , 'dsInstancePort' : DIRECTORY_INSTANCE_PORT , 'dsInstanceDn' : 'uid=jreuter,%s' % basedn , 'dsInstancePswd' : 'lastdestroy' , 'dsBaseDN' : 'dc=example,dc=com' , 'dsFilter' : 'objectclass=*' , 'extraParams' : '-s base' }