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

al_xipe
21.55.2007 a907d36e1b32fe05f0e13cefe84de560053e0e22
opends/tests/functional-tests/testcases/logging/logging_writer.xml
@@ -35,18 +35,18 @@
<!-- #################################### -->
<!--
   #@TestMarker             access logger
   #@TestName               access logger properties check
   #@TestIssue
   #@TestPurpose           check the asynchronous mode with auto-flush works
   #@TestPreamble         none
   #@TestStep                 Set the Access Logger's properties to be an asynchronous mode
   #@TestStep                 Set the auto-flush to TRUE
  #@TestMarker             access logger
  #@TestName               access logger properties check
  #@TestIssue
  #@TestPurpose           check the asynchronous mode with auto-flush works
  #@TestPreamble         none
  #@TestStep                 Set the Access Logger's properties to be an asynchronous mode
  #@TestStep                 Set the auto-flush to TRUE
    #@TestStep                 Set the append property to false
    #@TestStep                 Configure the Size Limit rotation policy with a Max size to 1mb
    #@TestStep                 Execute ldapsearch request until the log are writen in the disk
   #@TestPostamble         none
   #@TestResult               The recors must be written to disk after each operation
  #@TestPostamble         none
  #@TestResult               The recors must be written to disk after each operation
      -->
<!-- #################################### -->
                               
@@ -55,23 +55,23 @@
  <sequence>
    <call function="'testCase_Preamble'"/>
   <message>
  <message>
        '----  Check the Synchronous mode for Access loggers -----'
    </message>
    </message>
   
   <message>
      '  asynchronous:false  -  auto-flush:true  -  append:false -  buffer-size:20kb '
   </message>
  <message>
    '  asynchronous:false  -  auto-flush:true  -  append:false -  buffer-size:20kb '
  </message>
   <message>'------  set properties --' </message>
  <message>'------  set properties --' </message>
    <call function="'dsconfig'">
      { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
        'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'           : 'set-log-publisher-prop' ,
        'subcommand'           : 'set-log-publisher-prop' ,
        'objectType'              : 'publisher-name' ,
        'objectName'             :  'File-Based Access Logger',
        'optionsString'           : '--set auto-flush:true --set append:false --set asynchronous:false --set buffer-size:20kb',
@@ -83,40 +83,40 @@
        'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'           : 'set-log-rotation-policy-prop' ,
        'subcommand'           : 'set-log-rotation-policy-prop' ,
        'objectType'              : 'policy-name' ,
        'objectName'             :  'Size Limit Rotation Policy',
        'optionsString'           : '--set file-size-limit:1mb',
        'expectedRC'             : 0 } 
    </call>
    <!--  Starting loop -->
    <script>
   <!--  Starting loop -->
   <script>
          listName=[]
          listSize=[]
    </script>
    <script>
       cpt=0
   </script>
   <script>
     cpt=0
     </script>  
    <!--  Execute ldapsearch until logs are written to disk -->
    <!-- as auto-flush is true, the logs must be written after each operation  -->
    <loop from="1" to="5" until="RC != 0">
       <sequence>
         <message>'###########################'</message>
       <message>'                  LOOP %s :' % cpt </message>
       <message>'###########################'</message>
        <message>'--- Execute a Search request ---'</message>
   <!--  Execute ldapsearch until logs are written to disk -->
   <!-- as auto-flush is true, the logs must be written after each operation  -->
   <loop from="1" to="5" until="RC != 0">
     <sequence>
         <message>'###########################'</message>
     <message>'                  LOOP %s :' % cpt </message>
     <message>'###########################'</message>
        <message>'--- Execute a Search request ---'</message>
          <call function="'ldapSearchWithScript'">
      { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
        'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
          'dsBaseDN'         : DIRECTORY_INSTANCE_SFX,
        'dsInstanceDn'   :  DIRECTORY_INSTANCE_DN,
          'dsInstancePswd'   :    DIRECTORY_INSTANCE_PSWD,
        'dsFilter'      : 'objectclass=*' ,
    { 'dsInstanceHost'   : DIRECTORY_INSTANCE_HOST ,
      'dsInstancePort'   : DIRECTORY_INSTANCE_PORT ,
          'dsBaseDN'         : DIRECTORY_INSTANCE_SFX,
      'dsInstanceDn'   :  DIRECTORY_INSTANCE_DN,
          'dsInstancePswd'   :     DIRECTORY_INSTANCE_PSWD,
      'dsFilter'    : 'objectclass=*'  ,
          'dsScope'                 : 'base',
          'expectedRC'           :  0 }
          'expectedRC'           :  0 }
          </call>    
@@ -128,89 +128,89 @@
        'objectName'             : 'log-publisher' ,
        'propertyType'           : 'publisher' ,
        'propertyName'           : 'File-Based Access Logger',
        'attributeName'          : 'rotation-policy-dn'
       }
         </call>
         <message>'--- Check log files ---'</message>
        'attributeName'          : 'rotation-policy-dn'
      }
         </call>
        <message>'--- Check log files ---'</message>
          <call function="'listFolder'">
          { 'location' : '%s' % (DIRECTORY_INSTANCE_HOST),
           'foldername' : '%s/%s/logs' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME),
           'filename' : 'access'
           }
      </call>
       <if expr="len(cmdResult) > 0">
        <sequence>
    </call>
      <if expr="len(cmdResult) > 0">
        <sequence>
          <iterate var="result" in="cmdResult">
         <sequence>
            <script>
               logname=result["name"]
               logsize=result["size"]
               found=0
            </script>
            <message>'log file status for file  %s is %s ' % (logname,logsize)</message>
            <script>
               for currentLog in listName:
                   if currentLog == logname:
                      found=1
                      currentIndex=listName.index(currentLog)
                      currentSize=listSize[currentIndex]
                      if currentSize != logsize:
                          RC=1
                          listSize[currentIndex]=logsize
                          break
       <sequence>
         <script>
           logname=result["name"]
           logsize=result["size"]
           found=0
         </script>
         <message>'log file status for file  %s is %s ' % (logname,logsize)</message>
         <script>
           for currentLog in listName:
               if currentLog == logname:
                  found=1
                  currentIndex=listName.index(currentLog)
                  currentSize=listSize[currentIndex]
                  if currentSize != logsize:
                      RC=1
                      listSize[currentIndex]=logsize
                      break
              
              if found == 0:
                 listName.append(logname)
                 listSize.append(logsize)
            </script>
         </sequence>
      </iterate>
      </sequence>
       </if>
        <message>'The new log file status is : %s : %s' % (listName,listSize)</message>
       <script>
          cpt=cpt+1
       </script>
       </sequence>
          if found == 0:
             listName.append(logname)
             listSize.append(logsize)
         </script>
       </sequence>
    </iterate>
    </sequence>
      </if>
        <message>'The new log file status is : %s : %s' % (listName,listSize)</message>
     <script>
       cpt=cpt+1
     </script>
     </sequence>
     </loop>  
    <message>'The log file status of the file "%s" has changed ' % logname</message>
   <message>'The log file status of the file "%s" has changed ' % logname</message>
    <!-- Check log file -->
    <!-- records must be writen after each operation -->
    <!-- we should exit the loop after the first ldapsearch -->
    <if expr="cpt != 2">
       <sequence>
       <message>'ERROR.  The writer are not flushed after every log records'</message>
         <call function="'testFailed'"/>
       </sequence>
    <else>
        <sequence>
        <message>'SUCCESS. The writer are flushed after every log records' </message>
          <call function="'testPassed'"/>
          </sequence>
    </else>
    </if>
   <!-- Check log file -->
   <!-- records must be writen after each operation -->
   <!-- we should exit the loop after the first ldapsearch -->
   <if expr="cpt != 2">
     <sequence>
     <message>'ERROR.  The writer are not flushed after every log records'</message>
         <call function="'testFailed'"/>
     </sequence>
   <else>
      <sequence>
      <message>'SUCCESS. The writer are flushed after every log records' </message>
          <call function="'testPassed'"/>
          </sequence>
   </else>
   </if>
  </sequence>
 </testcase>
<!-- #################################### -->
<!--
   #@TestMarker            Debug logger
   #@TestName              Debug logger properties check
   #@TestIssue
   #@TestPurpose          Basic tests on the Debug logger
   #@TestPreamble        none
   #@TestStep                Enabled the Debug  Logger
   #@TestStep                Define a spefic log file for debug message
  #@TestMarker            Debug logger
  #@TestName              Debug logger properties check
  #@TestIssue
  #@TestPurpose          Basic tests on the Debug logger
  #@TestPreamble        none
  #@TestStep                Enabled the Debug  Logger
  #@TestStep                Define a spefic log file for debug message
    #@TestStep                set the debug-log-level to All
    #@TestStep                Restart the server
    #@TestStep                Execute a ldapsearch request
   #@TestPostamble         none
   #@TestResult              Check the debug log file has been created and contains datas
  #@TestPostamble         none
  #@TestResult              Check the debug log file has been created and contains datas
      -->
<!-- #################################### -->
            
@@ -219,25 +219,25 @@
  <sequence>
    <call function="'testCase_Preamble'"/>
   <message>
  <message>
        '----  Basic tests on Debug loggers -----'
    </message>
    </message>
     
   <message>'------  Enabled Debug logger --' </message>
  <message>'------  Enabled Debug logger --' </message>
    <call function="'dsconfig'">
      { 'dsInstanceHost'       : DIRECTORY_INSTANCE_HOST,
        'dsInstancePort'         : DIRECTORY_INSTANCE_PORT ,
        'dsInstanceDn'           : DIRECTORY_INSTANCE_DN ,
        'dsInstancePswd'       : DIRECTORY_INSTANCE_PSWD ,
        'subcommand'           : 'set-log-publisher-prop' ,
        'subcommand'           : 'set-log-publisher-prop' ,
        'objectType'              : 'publisher-name' ,
        'objectName'             :  'File-Based Debug Logger',
        'optionsString'           : '--set enabled:true --set default-debug-level:all --set log-file:logs/mydebug',
        'expectedRC'             : 0 } 
    </call>
    </call>
    <call function="'RestartDs'">
      {   'dsHost'    : DIRECTORY_INSTANCE_HOST,
    {   'dsHost'    : DIRECTORY_INSTANCE_HOST,
             'dsPort'    : DIRECTORY_INSTANCE_PORT,
             'dsBindDN'  : DIRECTORY_INSTANCE_DN,
             'dsBindPwd' : DIRECTORY_INSTANCE_PSWD }
@@ -249,53 +249,53 @@
           'foldername' : '%s/%s/logs' % (DIRECTORY_INSTANCE_DIR,OPENDSNAME),
           'filename' : 'mydebug'
           }
    </call>
   </call>
    <script>
       error=0
   <script>
     error=0
     </script> 
    <if expr="len(cmdResult) == 0">
       <sequence>
       <message>'ERROR.  The Debug logger should be created'</message>
        <script>
           error=1
         </script>
       </sequence>
    <else>
        <sequence>
   <if expr="len(cmdResult) == 0">
     <sequence>
     <message>'ERROR.  The Debug logger should be created'</message>
      <script>
        error=1
        </script>
     </sequence>
   <else>
      <sequence>
             <iterate var="result" in="cmdResult">
              <sequence>
              <script>
               logsize=result["size"]
                </script>
              <if expr="logsize == 0">
            <sequence>
           <script>
           logsize=result["size"]
                 </script>
           <if expr="logsize == 0">
                   <sequence>
                      <message>'ERROR.  The Debug logger should contain data'</message>
                      <message>'ERROR.  The Debug logger should contain data'</message>
                      <script>
                    error=1
                  </script>
                   </sequence>
              </if>
               </sequence>
          </iterate>
          </sequence>
    </else>
    </if>
              error=1
              </script>
                   </sequence>
           </if>
             </sequence>
       </iterate>
         </sequence>
   </else>
   </if>
    <if expr="error == 0">
       <sequence>
          <call function="'testPassed'"/>
   <if expr="error == 0">
     <sequence>
         <call function="'testPassed'"/>
         </sequence>
     <else>
         <sequence>
         <call function="'testFailed'"/>
         </sequence>
     </else>
    </if>
         <sequence>
         <call function="'testFailed'"/>
         </sequence>
     </else>
   </if>
  </sequence>
 </testcase>
 </testcase>
</sequence>
</function>