From e1b993ab937fede44cf42bb995636a0aadbea08c Mon Sep 17 00:00:00 2001
From: maudj <maudj@localhost>
Date: Wed, 18 Feb 2009 10:05:14 +0000
Subject: [PATCH] add  recurring task tests - maudj

---
 opends/tests/staf-tests/functional-tests/testcases/tasks/restore_db.xml |  140 +++++++++++++++++++
 opends/tests/staf-tests/functional-tests/testcases/tasks/backup_db.xml  |  260 +++++++++++++++++++++++++++++++++++++
 2 files changed, 396 insertions(+), 4 deletions(-)

diff --git a/opends/tests/staf-tests/functional-tests/testcases/tasks/backup_db.xml b/opends/tests/staf-tests/functional-tests/testcases/tasks/backup_db.xml
index f97843b..5847654 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/tasks/backup_db.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/tasks/backup_db.xml
@@ -46,6 +46,141 @@
           #@TestHTMLLink       http://opends.dev.java.net/
           -->
 
+          <!--- Test Case information
+          #@TestMarker      Backup tasks
+          #@TestName        Schedule a recurring Backup task
+          #@TestPurpose     Schedule a recurring Backup in task mode
+          #@TestPreamble
+          #@TestStep        Create a recurring Backup in task mode
+          #@TestStep        specify the recurringTask option with the value
+          #@TestStep        non null to schedule a recurring execution
+          #@TestPostamble
+          #@TestResult
+          -->
+
+        <testcase name="getTestCaseName('schedule recurring backup task for scheduled execution in asynchronous mode')">
+          <sequence>
+            <call function="'testCase_Preamble'"/>
+
+            <!--- ReStart DS to clear the output of manage-tasks-->
+            <call function="'StopDsWithScript'">
+              { 'location'  : STAF_REMOTE_HOSTNAME,
+              'dsHost'      : DIRECTORY_INSTANCE_HOST,
+              'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT,
+              'dsBindDN'    : DIRECTORY_INSTANCE_DN,
+              'dsBindPwd'   : DIRECTORY_INSTANCE_PSWD }
+            </call>
+
+            <call function="'StartDsWithScript'">
+              { 'location'  : STAF_REMOTE_HOSTNAME }
+            </call>
+
+            <call function="'backup'">
+              { 'location'          : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost'      : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT,
+              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD,
+              'schedulePattern'     : '"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * *"',
+              'backupDir'           : '%s/tasks/backup_recurring_schedule_asynchronous' % remote.data,
+              'backupID'            : 'recurring-backup-1',
+              'backEnd'             : DIRECTORY_INSTANCE_BE}
+            </call>
+
+            <!-- manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'recurring-backup-1',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Completed successfully',
+              'expectedResult'	   : '0' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Waiting on start time',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'Sleep'">
+              { 'location'  :	 STAF_REMOTE_HOSTNAME,
+              'sleepForMilliSeconds'  :  120000 }
+            </call>
+
+            <!-- manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'recurring-backup-1',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Completed successfully',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Waiting on start time',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <!-- cancel the recurring task recurring-backup-1 with manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsCancel'       : 'recurring-backup-1',
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Task recurring-backup-1 canceled',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'testCase_Postamble'"/>
+          </sequence>
+        </testcase>
+        
                          
         <!--- Test Case information
           #@TestMarker        Backup tasks
@@ -213,7 +348,130 @@
             <call function="'testCase_Postamble'"/>
           </sequence>
         </testcase>
-        
+
+          <!--- Test Case information
+          #@TestMarker      Backup tasks
+          #@TestName        Schedule a recurring Backup task with the same name as previously
+          #@TestPurpose     Schedule a recurring Backup in task mode with the same name see issue 3373
+          #@TestPreamble
+          #@TestStep        Create a recurring Backup in task mode with the same name as previously
+          #@TestStep        specify the recurringTask option with the value
+          #@TestStep        non null to schedule a recurring execution
+          #@TestPostamble
+          #@TestResult
+          -->
+
+
+<testcase name="getTestCaseName('schedule recurring backup task with the same name as previously')">
+          <sequence>
+            <call function="'testCase_Preamble'"/>
+
+            <!--- ReStart DS to clear the output of manage-tasks-->
+            <call function="'StopDsWithScript'">
+              { 'location'  : STAF_REMOTE_HOSTNAME,
+              'dsHost'      : DIRECTORY_INSTANCE_HOST,
+              'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT,
+              'dsBindDN'    : DIRECTORY_INSTANCE_DN,
+              'dsBindPwd'   : DIRECTORY_INSTANCE_PSWD }
+            </call>
+
+            <call function="'StartDsWithScript'">
+              { 'location'  : STAF_REMOTE_HOSTNAME }
+            </call>
+
+            <!-- manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'recurring-backup-1',
+              'expectedResult'	   : '0' }
+            </call>
+
+            <call function="'backup'">
+              { 'location'          : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost'      : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT,
+              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD,
+              'schedulePattern'     : '"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * *"',
+              'backupDir'           : '%s/tasks/backup_recurring_schedule_asynchronous' % remote.data,
+              'backupID'            : 'recurring-backup-1',
+              'backEnd'             : DIRECTORY_INSTANCE_BE}
+            </call>
+
+            <!-- manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'recurring-backup-1',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Completed successfully',
+              'expectedResult'	   : '0' }
+            </call>
+
+            <call function="'Sleep'">
+              { 'location'  :	 STAF_REMOTE_HOSTNAME,
+              'sleepForMilliSeconds'  :  120000 }
+            </call>
+
+            <!-- manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'recurring-backup-1',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Completed successfully',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'testCase_Postamble'"/>
+          </sequence>
+        </testcase>
+
         
         <call function="'testSuite_Postamble'" />
       </sequence>
diff --git a/opends/tests/staf-tests/functional-tests/testcases/tasks/restore_db.xml b/opends/tests/staf-tests/functional-tests/testcases/tasks/restore_db.xml
index ca231ed..75ef15e 100644
--- a/opends/tests/staf-tests/functional-tests/testcases/tasks/restore_db.xml
+++ b/opends/tests/staf-tests/functional-tests/testcases/tasks/restore_db.xml
@@ -159,14 +159,148 @@
               'backupDir'           : '%s/tasks/backup_schedule_asynchronous' % remote.data
               }
             </call>
-            
+    
             
             
             <call function="'testCase_Postamble'"/>
           </sequence>
         </testcase>
-        
-        
+
+        <!--- Test Case information
+          #@TestMarker      Restore tasks
+          #@TestName        Schedule a recurring Restore task
+          #@TestPurpose     Schedule a recurring Restore in task mode
+          #@TestPreamble
+          #@TestStep        Create a recurring Restore in task mode
+          #@TestStep        specify the recurringTask option with the value
+          #@TestStep        non null to schedule a recurring execution
+          #@TestPostamble
+          #@TestResult
+          -->
+
+        <testcase name="getTestCaseName('schedule recurring restore task for scheduled execution in asynchronous mode')">
+          <sequence>
+            <call function="'testCase_Preamble'"/>
+
+            <!--- ReStart DS to clear the output of manage-tasks-->
+            <call function="'StopDsWithScript'">
+              { 'location'  : STAF_REMOTE_HOSTNAME,
+              'dsHost'      : DIRECTORY_INSTANCE_HOST,
+              'dsAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT,
+              'dsBindDN'    : DIRECTORY_INSTANCE_DN,
+              'dsBindPwd'   : DIRECTORY_INSTANCE_PSWD }
+            </call>
+
+            <call function="'StartDsWithScript'">
+              { 'location'  : STAF_REMOTE_HOSTNAME }
+            </call>
+
+            <call function="'restore'">
+              { 'location'          : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost'      : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceAdminPort' : DIRECTORY_INSTANCE_ADMIN_PORT,
+              'dsInstanceDn'        : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd'      : DIRECTORY_INSTANCE_PSWD,
+              'schedulePattern'     : '"0,2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40,42,44,46,48,50,52,54,56,58 * * * *"',
+              'backupDir'           : '%s/tasks/backup_recurring_schedule_asynchronous' % remote.data,
+              'backupID'            : 'recurring-restore-1'}
+            </call>
+
+            <!-- manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'recurring-restore-1',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Completed successfully',
+              'expectedResult'	   : '0' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Waiting on start time',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'Sleep'">
+              { 'location'  :	 STAF_REMOTE_HOSTNAME,
+              'sleepForMilliSeconds'  :  120000 }
+            </call>
+
+            <!-- manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'recurring-restore-1',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Completed successfully',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Waiting on start time',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <!-- cancel the recurring task recurring-restore-1 with manage-tasks -->
+            <call function="'manage-tasks'">
+              { 'location'     : STAF_REMOTE_HOSTNAME ,
+              'dsInstanceHost' : DIRECTORY_INSTANCE_HOST,
+              'dsInstanceDn'   : DIRECTORY_INSTANCE_DN,
+              'dsInstancePswd' : DIRECTORY_INSTANCE_PSWD,
+              'dsCancel'       : 'recurring-restore-1',
+              'dsQuiet'        : ' '
+              }
+            </call>
+
+            <script>
+              returnString = STAXResult[0][1]
+            </script>
+
+            <call function="'searchStringForSubstring'">
+              { 'returnString'	   : returnString,
+              'testString'	   : 'Task recurring-restore-1 canceled',
+              'expectedResult'	   : '1' }
+            </call>
+
+            <call function="'testCase_Postamble'"/>
+          </sequence>
+        </testcase>
+
+
         <call function="'testSuite_Postamble'" />
       </sequence>
     </block>      

--
Gitblit v1.10.0