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

Gary Williams
26.48.2011 b7b950c1e4dde0c8cb76a8509bc939cc4aee6280
Increase user load in LDAP PTA failover tests
3 files modified
286 ■■■■ changed files
opends/tests/staf-tests/functional-tests/testcases/pta/basic/pta_basic_tests.xml 208 ●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/pta/basic/pta_postamble.xml 63 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/pta/pta_setup.xml 15 ●●●●● patch | view | raw | blame | history
opends/tests/staf-tests/functional-tests/testcases/pta/basic/pta_basic_tests.xml
@@ -1145,15 +1145,17 @@
  #@TestPreamble        Setup PTA
  #@TestStep            Configure LDAP PTA Policy using mapped-search-bind credentials
  #@TestStep            Read back the "authentication policy" object
  #@TestStep            Add ds-pwp-password-policy-dn to users entry
  #@TestStep            Search users entry as Directory Manager for operational attributes
  #@TestStep            First search users entry as self
  #@TestStep            Add ds-pwp-password-policy-dn to users entries
  #@TestStep            Search users entries as Directory Manager for ds-pwp-password-policy-dn
  #@TestStep            First search users entries as self
  #@TestStep            Stop the primary remote ldap server
  #@TestStep            Second search users entry as self.
  #@TestStep            Modify the users entry
  #@TestStep            Second search users entries as self.
  #@TestStep            Modify the users entries
  #@TestStep            Restart the primary remote ldap server
  #@TestStep            ds-pwp-password-policy-dn from users entry
  #@TestStep            Remove LDAP PTA Authentication Policy
  #@TestStep            Wait for monitor heartbeat to primary remote ldap server
  #@TestStep            Third search users entries as self
  #@TestStep            Stop the secondary remote ldap server.
  #@TestStep            Fourth search users entries as self
  #@TestPostamble       Cleanup PTA
  #@TestResult          Test is successful if the result code is 0
  -->                           
@@ -1222,17 +1224,38 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Add ds-pwp-password-policy-dn to users entry.' }
              { 'stepMessage' : 'Add ds-pwp-password-policy-dn to users entries.' }
            </call>
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
                                           % (local_ldap_server.getDir(),OPENDSNAME),
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : local_ldap_server.getRootDn(),
                'dsInstancePswd'  : local_ldap_server.getRootPwd(),
                'dsBaseDN'        : 'cn=PTA Remote Users,ou=groups,o=example' ,
                'dsScope'         : 'base' ,
                'dsFilter'        : 'objectclass=*' ,
                'dsAttributes'    : 'uniquemember'
              }
            </call>
            <message>
              'Result= %s' % STAXResult
            </message>
            <script>
              remotePTAuserName='uid=jvedder, ou=People, o=example'
              remotePTAuserPSWD='befitting'
              ldapObject=[]
              ldapObject.append('ds-pwp-password-policy-dn: %s' \
                                  % ldapPtaPolicyDn)
           </script>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'modifyAnAttribute'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1247,8 +1270,10 @@
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Search users entry as Directory Manager for operational attributes.' }
              { 'stepMessage' : 'Search users entries as Directory Manager for ds-pwp-password-policy-dn.' }
            </call>
            <call function="'ldapSearchWithScript'">
@@ -1259,16 +1284,20 @@
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : local_ldap_server.getRootDn(),
                'dsInstancePswd'  : local_ldap_server.getRootPwd(),
                'dsBaseDN'        : remotePTAuserName ,
                'dsBaseDN'        : remotePTAuserSuffix ,
                'dsFilter'        : 'objectclass=*' ,
                'dsAttributes'    : '+'
                'dsAttributes'    : 'ds-pwp-password-policy-dn'
              }
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'First search users entry as self.' }
              { 'stepMessage' : 'First search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1276,12 +1305,14 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Stop the primary remote ldap server.' }
            </call>
@@ -1291,9 +1322,13 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Second search users entry as self.' }
              { 'stepMessage' : 'Second search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1301,14 +1336,16 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Modify the users entry.' }
              { 'stepMessage' : 'Modify the users entries.' }
            </call>
            <script>
@@ -1316,6 +1353,10 @@
              ldapObject.append('description: i am now a remote LDAP PTA user')
           </script>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'modifyAnAttribute'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1323,13 +1364,15 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName],
                'DNToModify'      : remotePTAuserName ,
                'listAttributes'  : ldapObject ,
                'changetype'      : 'replace'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Restart the primary remote ldap server.' }
            </call>
@@ -1346,9 +1389,13 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Third search users entry as self.' }
              { 'stepMessage' : 'Third search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1356,12 +1403,14 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Stop the secondary remote ldap server.' }
            </call>
@@ -1371,9 +1420,13 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Fourth search users entry as self.' }
              { 'stepMessage' : 'Fourth search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1381,12 +1434,14 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Start the secondary remote ldap server.' }
            </call>
@@ -1404,7 +1459,7 @@
          </catch>
          <finally>
            <sequence>
              <call function="'pta_postamble1'"/>
              <call function="'pta_postamble3'"/>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </finally>
@@ -1421,15 +1476,17 @@
  #@TestPreamble        Setup PTA
  #@TestStep            Configure LDAP PTA Policy using mapped-search-bind credentials over ssl
  #@TestStep            Read back the "authentication policy" object
  #@TestStep            Add ds-pwp-password-policy-dn to users entry
  #@TestStep            Search users entry as Directory Manager for operational attributes
  #@TestStep            First search users entry as self
  #@TestStep            Add ds-pwp-password-policy-dn to users entries
  #@TestStep            Search users entries as Directory Manager for ds-pwp-password-policy-dn
  #@TestStep            First search users entries as self
  #@TestStep            Stop the primary remote ldap server
  #@TestStep            Second search users entry as self.
  #@TestStep            Modify the users entry
  #@TestStep            Second search users entries as self.
  #@TestStep            Modify the users entries
  #@TestStep            Restart the primary remote ldap server
  #@TestStep            ds-pwp-password-policy-dn from users entry
  #@TestStep            Remove LDAP PTA Authentication Policy
  #@TestStep            Wait for monitor heartbeat to primary remote ldap server
  #@TestStep            Third search users entries as self
  #@TestStep            Stop the secondary remote ldap server.
  #@TestStep            Fourth search users entries as self
  #@TestPostamble       Cleanup PTA
  #@TestResult          Test is successful if the result code is 0
  -->                           
@@ -1444,7 +1501,7 @@
            </message>
            <call function="'testStep'">
              { 'stepMessage' : 'Configure LDAP PTA Policy using mapped-search-bind credentials.' }
              { 'stepMessage' : 'Configure LDAP PTA Policy using mapped-search-bind credentials over ssl.' }
            </call>
            <script>
@@ -1500,17 +1557,38 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Add ds-pwp-password-policy-dn to users entry.' }
              { 'stepMessage' : 'Add ds-pwp-password-policy-dn to users entries.' }
            </call>
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
                                           % (local_ldap_server.getDir(),OPENDSNAME),
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : local_ldap_server.getRootDn(),
                'dsInstancePswd'  : local_ldap_server.getRootPwd(),
                'dsBaseDN'        : 'cn=PTA Remote Users,ou=groups,o=example' ,
                'dsScope'         : 'base' ,
                'dsFilter'        : 'objectclass=*' ,
                'dsAttributes'    : 'uniquemember'
              }
            </call>
            <message>
              'Result= %s' % STAXResult
            </message>
            <script>
              remotePTAuserName='uid=jvedder, ou=People, o=example'
              remotePTAuserPSWD='befitting'
              ldapObject=[]
              ldapObject.append('ds-pwp-password-policy-dn: %s' \
                                  % ldapPtaPolicyDn)
           </script>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'modifyAnAttribute'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1525,8 +1603,10 @@
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Search users entry as Directory Manager for operational attributes.' }
              { 'stepMessage' : 'Search users entries as Directory Manager for ds-pwp-password-policy-dn.' }
            </call>
            <call function="'ldapSearchWithScript'">
@@ -1537,16 +1617,20 @@
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : local_ldap_server.getRootDn(),
                'dsInstancePswd'  : local_ldap_server.getRootPwd(),
                'dsBaseDN'        : remotePTAuserName ,
                'dsBaseDN'        : remotePTAuserSuffix ,
                'dsFilter'        : 'objectclass=*' ,
                'dsAttributes'    : '+'
                'dsAttributes'    : 'ds-pwp-password-policy-dn'
              }
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'First search users entry as self.' }
              { 'stepMessage' : 'First search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1554,12 +1638,14 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Stop the primary remote ldap server.' }
            </call>
@@ -1569,9 +1655,13 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Second search users entry as self.' }
              { 'stepMessage' : 'Second search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1579,14 +1669,16 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Modify the users entry.' }
              { 'stepMessage' : 'Modify the users entries.' }
            </call>
            <script>
@@ -1594,6 +1686,10 @@
              ldapObject.append('description: i am now a remote LDAP PTA user')
           </script>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'modifyAnAttribute'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1601,13 +1697,15 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName],
                'DNToModify'      : remotePTAuserName ,
                'listAttributes'  : ldapObject ,
                'changetype'      : 'replace'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Restart the primary remote ldap server.' }
            </call>
@@ -1624,9 +1722,13 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Third search users entry as self.' }
              { 'stepMessage' : 'Third search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1634,12 +1736,14 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Stop the secondary remote ldap server.' }
            </call>
@@ -1649,9 +1753,13 @@
            </call>
            <call function="'testStep'">
              { 'stepMessage' : 'Fourth search users entry as self.' }
              { 'stepMessage' : 'Fourth search users entries as self.' }
            </call>
            <iterate var="remotePTAuserName"
                     in="remotePTAuserDict.keys()"
                     indexvar="usernum">
            <call function="'ldapSearchWithScript'">
              { 'location'        : local_ldap_server.getHostname(),
                'dsPath'                 : '%s/%s' \
@@ -1659,12 +1767,14 @@
                'dsInstanceHost'  : local_ldap_server.getHostname() ,
                'dsInstancePort'  : local_ldap_server.getPort(),
                'dsInstanceDn'    : remotePTAuserName,
                'dsInstancePswd'  : remotePTAuserPSWD ,
                  'dsInstancePswd'  : remotePTAuserDict[remotePTAuserName] ,
                'dsBaseDN'        : remotePTAuserName ,
                'dsFilter'        : 'objectclass=*'
              }
            </call>
            </iterate>
            <call function="'testStep'">
              { 'stepMessage' : 'Start the secondary remote ldap server.' }
            </call>
@@ -1682,7 +1792,7 @@
          </catch>
          <finally>
            <sequence>
              <call function="'pta_postamble1'"/>
              <call function="'pta_postamble3'"/>
              <call function="'testCase_Postamble'"/>
            </sequence>
          </finally>
opends/tests/staf-tests/functional-tests/testcases/pta/basic/pta_postamble.xml
@@ -116,4 +116,67 @@
    </sequence>
  </function> 
  <function name="pta_postamble3">
    <function-prolog>
      Performs postamble for multi-user PTA tests
    </function-prolog>
    <function-no-args />
    <sequence>
      <call function="'testStep'">
        { 'stepMessage' : 'Delete ds-pwp-password-policy-dn from users entry.' }
      </call>
      <script>
        ldapObject=[]
        ldapObject.append('ds-pwp-password-policy-dn: %s' \
                            % ldapPtaPolicyDn)
      </script>
      <iterate var="remotePTAuserName"
               in="remotePTAuserDict.keys()"
               indexvar="usernum">
        <call function="'modifyAnAttribute'">
          { 'location'        : local_ldap_server.getHostname(),
            'dsPath'                 : '%s/%s' \
                                       % (local_ldap_server.getDir(),OPENDSNAME),
            'dsInstanceHost'  : local_ldap_server.getHostname() ,
            'dsInstancePort'  : local_ldap_server.getPort(),
            'dsInstanceDn'    : local_ldap_server.getRootDn(),
            'dsInstancePswd'  : local_ldap_server.getRootPwd(),
            'DNToModify'      : remotePTAuserName ,
            'listAttributes'  : ldapObject ,
            'changetype'      : 'delete'
          }
        </call>
      </iterate>
      <call function="'testStep'">
        { 'stepMessage' : 'Remove LDAP PTA Authentication Policy.' }
      </call>
      <script>
        options=[]
        options.append('--policy-name "%s"' % ldapPtaPolicyName)
        dsconfigOptions=' '.join(options)
      </script>
      <call function="'dsconfig'">
        { 'location'            : local_ldap_server.getHostname(),
          'dsPath'              : '%s/%s' \
                                   % (local_ldap_server.getDir(),OPENDSNAME),
          'dsInstanceHost'      : local_ldap_server.getHostname(),
          'dsInstanceAdminPort' : local_ldap_server.getAdminPort(),
          'dsInstanceDn'        : local_ldap_server.getRootDn(),
          'dsInstancePswd'      : local_ldap_server.getRootPwd(),
          'subcommand'          : 'delete-password-policy',
          'optionsString'       : dsconfigOptions
        }
      </call>
    </sequence>
  </function>
</stax>
opends/tests/staf-tests/functional-tests/testcases/pta/pta_setup.xml
@@ -86,6 +86,21 @@
                secondaryHost     = secondary_remote_ldap_server.getHostname()
                secondaryPort     = secondary_remote_ldap_server.getPort()
                secondarySslPort  = secondary_remote_ldap_server.getSslPort()
                remotePTAuserDict = {}
                remotePTAuserSuffix = 'ou=People, o=example'
                # List of Remote LDAP PTA Users and Passwords
                remotePTAuserDict['uid=jvedder,  %s' % remotePTAuserSuffix] = 'befitting'
                remotePTAuserDict['uid=tmorris,  %s' % remotePTAuserSuffix] = 'irrefutable'
                remotePTAuserDict['uid=ealexand, %s' % remotePTAuserSuffix] = 'galactose'
                remotePTAuserDict['uid=tjames,   %s' % remotePTAuserSuffix] = 'turtle'
                remotePTAuserDict['uid=alangdon, %s' % remotePTAuserSuffix] = 'muzzle'
                remotePTAuserDict['uid=pchassin, %s' % remotePTAuserSuffix] = 'barbital'
                remotePTAuserDict['uid=aknutson, %s' % remotePTAuserSuffix] = 'maltose'
                remotePTAuserDict['uid=pworrell, %s' % remotePTAuserSuffix] = 'solicitous'
                remotePTAuserDict['uid=mtalbot,  %s' % remotePTAuserSuffix] = 'currant'
                remotePTAuserDict['uid=bwalker,  %s' % remotePTAuserSuffix] = 'interruptible'
              </script>
              <!-- Get the local server store password from keystore.pin -->