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

smaguin
01.17.2008 7c19b329d757adbe7ee80d8bd555482e662ea109
new monitoring testsuite
5 files added
995 ■■■■■ changed files
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring.xml 58 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_cleanup.xml 74 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_componant.xml 268 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_provider.xml 506 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_setup.xml 89 ●●●●● patch | view | raw | blame | history
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring.xml
New file
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, exclude this CDDL HEADER in each
 ! file and exclude the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Portions Copyright 2008 Sun Microsystems, Inc.
! -->
<!--
            Place group-specific test information here.
            #@TestGroupName     Monitoring
            #@TestGroupPurpose      Test the ability of the server to monitor informations
-->
<stax>
  <defaultcall function="main_monitoring"/>
  <function name="main_monitoring">
    <sequence>
      <block name="'monitoring'">
        <sequence>
          <script>
            CurrentTestPath['group']='monitoring'
          </script>
          <call function="'testGroup_Preamble'" />
          <iterate var="_test" in="['setup','provider','componant','cleanup']" >
            <sequence>
              <import machine="STAF_LOCAL_HOSTNAME"
                      file="'%s/testcases/monitoring/monitoring_%s.xml' % (TESTS_DIR,_test)"/>
              <call function="'monitoring_%s' % _test" />
            </sequence>
          </iterate>
          <call function="'testGroup_Postamble'" />
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_cleanup.xml
New file
@@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Portions Copyright 2008 Sun Microsystems, Inc.
! -->
<stax>
  <defaultcall function="monitoring_cleanup"/>
  <function name="monitoring_cleanup">
    <sequence>
      <block name="'cleanup'">
        <sequence>
          <block name="'Block DS Process Stop'">
            <!--- Stop DS -->
            <sequence>
              <message>
                'Stop DS running on port %s' % (DIRECTORY_INSTANCE_PORT)
              </message>
              <call function="'StopDsWithScript'">
                { 'location'  : STAF_REMOTE_HOSTNAME,
                'dsHost'    : DIRECTORY_INSTANCE_HOST,
                'dsPort'    : DIRECTORY_INSTANCE_PORT,
                'dsBindDN'  : DIRECTORY_INSTANCE_DN,
                'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
              </call>
              <call function="'checkRC'">
                { 'returncode' : RC ,
                'result'     : STAXResult }
              </call>
            </sequence>
            <!--- End Block DS Process Stop -->
          </block>
          <block name="'Block Remove DS Topology'">
            <!-- Remove  the topology created for the test suite -->
            <sequence>
              <message>
                'Remove DS topology created for the Test Suite'
              </message>
              <call function="'removeTopology'"/>
              <call function="'checkRC'">
                { 'returncode' : RC ,
                'result'     : STAXResult }
              </call>
            </sequence>
            <!-- End Block Remove DS Topology-->
          </block>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_componant.xml
New file
@@ -0,0 +1,268 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Portions Copyright 2008 Sun Microsystems, Inc.
! -->
<stax>
  <defaultcall function="monitoring_componant"/>
  <function name="monitoring_componant" scope="local">
    <block name="STAXCurrentFunction">
      <sequence>
        <script>
          CurrentTestPath['suite']=STAXCurrentFunction
        </script>
        <call function="'testSuite_Preamble'" />
        <!--- Test Suite information
#@TestSuiteName       Monitoring componants
#@TestSuitePurpose    Verify the monitoring of  componants
#@TestSuiteID         Monitoring
#@TestSuiteGroup      Monitoring
#@TestGroup           Monitoring
#@TestScript          monitoring_componants.xml
#@TestHTMLLink        http://opends.dev.java.net/
-->
        <!---
#@TestMarker            monitoring componants
#@TestName              monitoring componants
#@TestIssue             Check the monitoring of the componant LDIF connection handler
#@TestPreamble          none
#@TestStep               Check the entry on cn=LDIF Connection Handler,cn=monitor is available
#@TestStep              Disable the LDIF connection handler componant
#@TestStep              Check the entry on cn=LDIF Connection Handler,cn=monitor is not more available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('LDIF connection handler monitoring')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=LDIF Connection Handler,cn=monitor is available -->
            <message>'######  Monitor the LDIF connection handler ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=LDIF Connection Handler,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Disable the LDIF Connection Handler --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-connection-handler-prop' ,
              'objectType'           : 'handler-name',
              'objectName'           : 'LDIF Connection Handler',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=LDIF Connection Handler,cn=monitor is not available -->
            <message>'######  Monitor the LDIF Connection Handler  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=LDIF Connection Handler,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <message>'-- Enabled the LDIF Connection Handler --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-connection-handler-prop' ,
              'objectType'           : 'handler-name',
              'objectName'           : 'LDIF Connection Handler',
              'optionsString'        : '--set enabled:true',
              'expectedRC'           : 0 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            monitoring componants
#@TestName              monitoring componants
#@TestIssue             Check the monitoring of a NEW componant LDIF connection handler
#@TestPreamble          none
#@TestStep              Create a new LDIF connection handler
#@TestStep              Check the entry on cn=myLDIF,cn=monitor is available
#@TestStep              Delete the new LDIF connection handler componant
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('Monitoring a new LDIF connection handler')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <message>'-- Create a new  LDIF Connection Handler --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'create-connection-handler' ,
              'objectType'           : 'handler-name',
              'objectName'           : 'myLDIF',
              'optionsString'        : '--type ldif --set enabled:true',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=myLDIF,cn=monitor is available -->
            <message>'######  Monitor the new LDIF connection handler ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=myLDIF,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Delete the new  LDIF Connection Handler --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'delete-connection-handler' ,
              'objectType'           : 'handler-name',
              'objectName'           : 'myLDIF',
              'expectedRC'           : 0 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            monitoring componants
#@TestName              monitoring componants
#@TestIssue             Check the monitoring of the componant Backup Backend
#@TestPreamble          none
#@TestStep              Check the entry on cn=backup Backend,cn=monitor,cn=monitor is available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('Backup Backend monitoring')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=backup Backend,cn=monitor is available -->
            <message>'######  Monitor the Backup Backend ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=backup Backend,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            monitoring componants
#@TestName              monitoring componants
#@TestIssue             Check the monitoring of the componant userRoot Backend
#@TestPreamble          none
#@TestStep               Check the entry on cn=userRoot Backend,cn=monitor,cn=monitor is available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('userRoot Backend monitoring')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=userRoot Backend,cn=monitor is available -->
            <message>'######  Monitor the userRoot Backend ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=userRoot Backend,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            monitoring componants
#@TestName              monitoring componants
#@TestIssue             Check the monitoring of the componant tasks Backend
#@TestPreamble          none
#@TestStep               Check the entry on cn=tasks Backend,cn=monitor,cn=monitor is available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('tasks Backend monitoring')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=tasks Backend,cn=monitor is available -->
            <message>'######  Monitor the tasks Backend ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=tasks Backend,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <call function="'testSuite_Postamble'" />
      </sequence>
    </block>
  </function>
</stax>
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_provider.xml
New file
@@ -0,0 +1,506 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Portions Copyright 2008 Sun Microsystems, Inc.
! -->
<stax>
  <defaultcall function="monitoring_provider"/>
  <function name="monitoring_provider" scope="local">
    <block name="STAXCurrentFunction">
      <sequence>
        <script>
          CurrentTestPath['suite']=STAXCurrentFunction
        </script>
        <call function="'testSuite_Preamble'" />
<!--- Test Suite information
#@TestSuiteName       Monitoring Provider Tests
#@TestSuitePurpose    Verify the monitoring Provider
#@TestSuiteID         Monitoring Provider
#@TestSuiteGroup      Monitoring
#@TestGroup           Monitoring
#@TestScript          monitoring_provider.xml
#@TestHTMLLink        http://opends.dev.java.net/
-->
        <!---
#@TestMarker            Monitoring Provider Tests
#@TestName              Client Connections monitoring Provider
#@TestPurpose           Test the  Client Connections monitoring Provider
#@TestPreamble          none
#@TestStep               Check the entry on cn=Client Connections,cn=monitor is available
#@TestStep              Disable the Client Connections monitoring Provider
#@TestStep              Check the entry on cn=Client Connections,cn=monitor is not more available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('Client Connections monitoring Provider')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=Client Connections,cn=monitor is available -->
            <message>'######  Monitor the Client Connections  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=Client Connections,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Disable the Client Connections monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'Client Connections',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=Client Connections,cn=monitor is not available -->
            <message>'######  Monitor the Client Connections  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=Client Connections,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            Monitoring Provider Tests
#@TestName              Entry Caches monitoring Provider
#@TestPurpose           Test the Entry Caches monitoring Provider
#@TestPreamble          none
#@TestStep               Check the entry on cn=Entry Caches,cn=monitor is available
#@TestStep              Disable the Entry Caches monitoring Provider
#@TestStep              Check the entry on cn=Entry Caches,cn=monitor is not more available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('Entry Caches monitoring Provider')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=Entry Caches,cn=monitor is available -->
            <message>'######  Monitor the Entry Caches  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=Entry Caches,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Disable the Entry Caches monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'Entry Caches',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=Entry Caches,cn=monitor is not available -->
            <message>'######  Monitor the Entry Caches  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=Entry Caches,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            Monitoring Provider Tests
#@TestName              JVM Memory Usage monitoring Provider
#@TestPurpose           Test the JVM Memory Usage monitoring Provider
#@TestPreamble          none
#@TestStep              Check the entry on cn=JVM Memory Usage,cn=monitor is available
#@TestStep              Disable the JVM Memory Usage monitoring Provider
#@TestStep              Check the entry on cn=JVM Memory Usage,cn=monitor is not more available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('JVM Memory Usage monitoring Provider')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=JVM Memory Usage,cn=monitor is available -->
            <message>'######  Monitor the JVM Memory Usage  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=JVM Memory Usage,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Disable the JVM Memory Usage monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'JVM Memory Usage',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=JVM Memory Usage,cn=monitor is not available -->
            <message>'######  Monitor the JVM Memory Usage  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=JVM Memory Usage,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            Monitoring Provider Tests
#@TestName              JVM Stack Trace monitoring Provider
#@TestPurpose           Test the JVM Stack Trace monitoring Provider
#@TestPreamble          none
#@TestStep               Check the entry on cn=JVM Stack Trace,cn=monitor is available
#@TestStep              Disable the JVM Stack Trace monitoring Provider
#@TestStep              Check the entry on cn=JVM Stack Trace,cn=monitor is not more available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('JVM Stack Trace monitoring Provider')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=JVM Stack Trace,cn=monitor is available -->
            <message>'######  Monitor the JVM Stack Trace  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=JVM Stack Trace,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Disable the JVM Stack Trace monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'JVM Stack Trace',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=JVM Stack Trace,cn=monitor is not available -->
            <message>'######  Monitor the JVM Stack Trace  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=JVM Stack Trace,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            Monitoring Provider Tests
#@TestName              System Info monitoring Provider
#@TestPurpose           Test the System Info monitoring Provider
#@TestPreamble          none
#@TestStep              Check the entry on cn=System Info,cn=monitor is available
#@TestStep              Disable the System Info monitoring Provider
#@TestStep              Check the entry on cn=System Info,cn=monitor is not more available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('System Info monitoring Provider')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=System Info,cn=monitor is available -->
            <message>'######  Monitor the System Info  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=System Info,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Disable the System Info monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'System Info',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=System Info,cn=monitor is not available -->
            <message>'######  Monitor the System Info  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=System Info,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            Monitoring Provider Tests
#@TestName              Version monitoring Provider
#@TestPurpose           Test the Version monitoring Provider
#@TestPreamble          none
#@TestStep              Check the entry on cn=Version,cn=monitor is available
#@TestStep              Disable the Version monitoring Provider
#@TestStep              Check the entry on cn=Version,cn=monitor is not more available
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('Version monitoring Provider')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <!-- Check the entry on cn=Version,cn=monitor is available -->
            <message>'######  Monitor the Version  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=Version,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Disable the Version monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'Version',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=Version,cn=monitor is not available -->
            <message>'######  Monitor the Version  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=Version,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <!---
#@TestMarker            Monitoring Provider Tests
#@TestName              new monitoring provider
#@TestPurpose           Test the creation of monitoring provider using dsconfig
#@TestPreamble          none
#@TestStep              create a new monitoring provider to manage version using dsconfig
#@TestStep              Enable this monitoring Provider
#@TestStep              Disable the initial monitoring Provider which manages the Version
#@TestStep              Check the entry on cn=Version,cn=monitor is available
#@TestStep              Delete the new monitor Provider
#@TestPostamble         none
-->
        <testcase name="getTestCaseName('Use a new monitoring Provider')">
          <sequence>
            <call function="'testCase_Preamble'"/>
            <message>'-- Create a new  monitor provider for Version --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'create-monitor-provider' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'myVersion',
              'optionsString'        : '--type version --set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <message>'-- Disable the Version monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'Version',
              'optionsString'        : '--set enabled:false',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=Version,cn=monitor is not available -->
            <message>'######  Monitor the Version  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'    : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'      : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'            : 'cn=Version,cn=monitor',
              'dsFilter'            : 'objectclass=*',
              'expectedRC'      :  32 }
            </call>
            <message>'-- Enable the new Version monitor provider --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'set-monitor-provider-prop' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'myVersion',
              'optionsString'        : '--set enabled:true',
              'expectedRC'           : 0 }
            </call>
            <!-- Check the entry on cn=Version,cn=monitor is available -->
            <message>'######  Monitor the Version  ###### '</message>
            <call function="'SearchObject'">
              { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
              'dsInstancePort'     : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'       : DIRECTORY_INSTANCE_DN,
              'dsInstancePswd'     : DIRECTORY_INSTANCE_PSWD ,
              'dsBaseDN'           : 'cn=Version,cn=monitor',
              'dsFilter'           : 'objectclass=*',
              'expectedRC'     :  0 }
            </call>
            <message>'-- Delete the new  monitor provider for Version --'</message>
            <call function="'dsconfig'">
              { 'dsInstanceHost'     : DIRECTORY_INSTANCE_HOST,
              'dsInstancePort'       : DIRECTORY_INSTANCE_PORT ,
              'dsInstanceDn'         : DIRECTORY_INSTANCE_DN ,
              'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
              'subcommand'           : 'delete-monitor-provider' ,
              'objectType'           : 'provider-name',
              'objectName'           : 'myVersion',
              'expectedRC'           : 0 }
            </call>
            <call function="'testCase_Postamble'"/>
          </sequence>
        </testcase>
        <call function="'testSuite_Postamble'" />
      </sequence>
    </block>
  </function>
</stax>
opendj-sdk/opends/tests/functional-tests/testcases/monitoring/monitoring_setup.xml
New file
@@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE stax SYSTEM "../../../shared/stax.dtd">
<!--
 ! CDDL HEADER START
 !
 ! The contents of this file are subject to the terms of the
 ! Common Development and Distribution License, Version 1.0 only
 ! (the "License").  You may not use this file except in compliance
 ! with the License.
 !
 ! You can obtain a copy of the license at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE
 ! or https://OpenDS.dev.java.net/OpenDS.LICENSE.
 ! See the License for the specific language governing permissions
 ! and limitations under the License.
 !
 ! When distributing Covered Code, include this CDDL HEADER in each
 ! file and include the License file at
 ! trunk/opends/resource/legal-notices/OpenDS.LICENSE.  If applicable,
 ! add the following below this CDDL HEADER, with the fields enclosed
 ! by brackets "[]" replaced with your own identifying information:
 !      Portions Copyright [yyyy] [name of copyright owner]
 !
 ! CDDL HEADER END
 !
 !      Portions Copyright 2008 Sun Microsystems, Inc.
! -->
<stax>
  <defaultcall function="monitoring_setup"/>
  <function name="monitoring_setup">
    <sequence>
      <block name="'setup'">
        <sequence>
          <block name="'Block Create DS Topology'">
            <!-- Create the topology necessary to the test group/suite -->
            <sequence>
              <message>
                'Create DS topology as described in config.py'
              </message>
              <call function="'createTopology'">
                { 'initialiseInstance' : True }
              </call>
              <call function="'checkRC'">
                { 'returncode' : RC ,
                'result'     : STAXResult }
              </call>
            </sequence>
            <!--- End Block Create DS Topology -->
          </block>
          <block name="'Block DS Process Active'">
            <!--- Start DS -->
            <sequence>
              <message>
                'Start DS to run on port %s' % (DIRECTORY_INSTANCE_PORT)
              </message>
              <!--- Start DS -->
              <call function="'StartDsWithScript'">
                { 'location'  : STAF_REMOTE_HOSTNAME }
              </call>
              <call function="'checkRC'">
                { 'returncode' : RC ,
                'result'     : STAXResult }
              </call>
              <!--- Check that DS started -->
              <call function="'isAlive'">
                { 'noOfLoops'        : 5 ,
                'noOfMilliSeconds' : 2000 }
              </call>
              <call function="'ldapSearchWithScript'">
                { 'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
                'dsInstanceDn'     : DIRECTORY_INSTANCE_DN ,
                'dsInstancePswd'   : DIRECTORY_INSTANCE_PSWD ,
                'dsBaseDN'     : 'dc=com' ,
                'dsFilter'     : 'objectclass=*' }
              </call>
            </sequence>
            <!--- End Block DS Process Active -->
          </block>
        </sequence>
      </block>
    </sequence>
  </function>
</stax>