コード例 #1
0
    def test_36_month_end_2(self,):
        """Tests 28,29,30,31th of the month
        """
        # Set a valid model
        content_id = "task1"
        addMaintenanceTask(self.portal, content_id, title = 'Task 1')
        task=getattr(self.portal, content_id)
        task.setScheduled_month('*')
        task.setScheduled_day_of_month('*')
        task.setScheduled_hour('10')
        task.setScheduled_minute('5')

        current_date=DateTime('2004/10/30 10:16')
        next_scheduled = task.getNextScheduledExecutionTime(current_date)
        self.failUnless(DateTime('2004-10-31 10:05:00') == next_scheduled, DateTime('2004-10-31 10:05:00').ISO() + ' != ' + next_scheduled.ISO())

        current_date=DateTime('2004/10/31 10:16')
        next_scheduled = task.getNextScheduledExecutionTime(current_date)
        self.failUnless(DateTime('2004-11-01 10:05:00') == next_scheduled, DateTime('2004-11-01 10:05:00').ISO() + ' != ' + next_scheduled.ISO())

        current_date=DateTime('2004/11/30 10:16')
        next_scheduled = task.getNextScheduledExecutionTime(current_date)
        self.failUnless(DateTime('2004-12-01 10:05:00') == next_scheduled, DateTime('2004-12-01 10:05:00').ISO() + ' != ' + next_scheduled.ISO())

        # leap year
        current_date=DateTime('2004/02/28 10:16')
        next_scheduled = task.getNextScheduledExecutionTime(current_date)
        self.failUnless(DateTime('2004-02-29 10:05:00') == next_scheduled, DateTime('2004-02-29 10:05:00').ISO() + ' != ' + next_scheduled.ISO())

        # non-leap year
        current_date=DateTime('2005/02/28 10:16')
        next_scheduled = task.getNextScheduledExecutionTime(current_date)
        self.failUnless(DateTime('2005-03-01 10:05:00') == next_scheduled, DateTime('2005-03-01 10:05:00').ISO() + ' != ' + next_scheduled.ISO())
コード例 #2
0
 def test_03_execution(self,):
     """
     """
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     date = getNoSecDate(DateTime())
     self.failUnless(task.runTask(date)==0) # Didn't run as script is empty
コード例 #3
0
 def test_06_beforeIntervall(self,):
     """
     """
     # Set a valid model
     current_date=DateTime('2004/05/01 00:40')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     self.failUnless(DateTime('2004/05/01 00:40')==next_scheduled)
コード例 #4
0
 def test_04_beforeIntervall(self,):
     """
     """
     # Set a valid model
     current_date=DateTime('2004/05/16 15:40')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScheduled_hour('15')
     task.setScheduled_minute('20')
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     self.failUnless(DateTime('2004/05/17 15:20') == next_scheduled, str(DateTime('2004/05/17 15:20')) + ' != ' + str(next_scheduled))
コード例 #5
0
 def test_18_month_hour(self,):
     """
     """
     # Set a valid model
     current_date=DateTime('2004/04/25 09:45')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScheduled_month('7')
     task.setScheduled_hour('11')
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     correct_date = DateTime('2004/07/01 11:00')
     self.failUnless(correct_date == next_scheduled, str(correct_date) +' != ' + str(next_scheduled))
コード例 #6
0
 def test_35_test_nextExectutionTime_with_invalid_date(self,):
     """
     """
     # Set a valid model
     current_date=DateTime('2004/04/25 09:45')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScheduled_month('11')
     task.setScheduled_day_of_month('31')
     task.setScheduled_hour('*')
     task.setScheduled_minute('*')
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     self.failUnless(DateTime('2500/12/31 00:00') == next_scheduled)
コード例 #7
0
 def test_14_month(self,):
     """
     """
     # Set a valid model
     current_date=DateTime('2004/04/25 09:45')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScheduled_month('12')
     task.setScheduled_day_of_month('*')
     task.setScheduled_hour('*')
     task.setScheduled_minute('*')
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     self.failUnless(DateTime('2004/12/01 00:00') == next_scheduled, str(DateTime('2004/12/01 00:00'))+' != ' + str(next_scheduled))
コード例 #8
0
 def test_09_nextMonth(self,):
     """
     """
     # Set a valid model
     current_date=DateTime('2004/05/17 10:16')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScheduled_month('4')
     task.setScheduled_day_of_month('1')
     task.setScheduled_hour('*')
     task.setScheduled_minute('*')
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     self.failUnless(DateTime('2005/04/01 00:00') == next_scheduled)
コード例 #9
0
 def test_26_minute_day(self,):
     """
     """
     # Set a valid model
     current_date=DateTime('2004/04/25 23:49')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScheduled_month('*')
     task.setScheduled_day_of_month('7')
     task.setScheduled_hour('*')
     task.setScheduled_minute('47')
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     correct_date = DateTime('2004/05/07 00:47')
     self.failUnless(correct_date == next_scheduled, str(correct_date) +' != ' + str(next_scheduled))
コード例 #10
0
    def test_02_isPending(self,):
        """
        """
        # Set a valid model
        current_date=getNoSecDate(DateTime())
        content_id = "task1"
        addMaintenanceTask(self.portal, content_id, title = 'Task 1')
        task=getattr(self.portal, content_id)

        # Should be run this month
        task.setScheduled_month(str(current_date.month()))

        next_scheduled = task.getNextScheduledExecutionTime(current_date)

        self.failUnless( next_scheduled >= current_date, str(next_scheduled) + " not >= " + str(current_date))
コード例 #11
0
 def test_32_hour(self,):
     """
     """
     last_update=DateTime('2006/05/12 16:16')
     current_date=DateTime('2006/05/12 16:17')
     correct_next_scheduled = DateTime('2006/05/13')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.last_execution_date = last_update
     task.setScheduled_month('*')
     task.setScheduled_day_of_month('*')
     task.setScheduled_hour('0')
     task.setScheduled_minute('*')
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     self.failIf(task.isPending(current_date))
     self.failUnless(correct_next_scheduled == next_scheduled, str(correct_next_scheduled) +' != ' + str(next_scheduled))
コード例 #12
0
 def test_01_check_defaults(self,):
     """
     """
     # Set a valid model
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     self.failUnless(task.getProperty('scheduled_month')=='*')
     #self.failUnless(task.getProperty('scheduled_day_of_week')=='*')
     self.failUnless(task.getProperty('scheduled_day_of_month')=='*')
     self.failUnless(task.getProperty('scheduled_hour')=='*')
     self.failUnless(task.getProperty('scheduled_minute')=='*')
     self.failUnless(task.getProperty('script_name')=='')
     date = getNoSecDate(DateTime())
     self.failUnless(task.isPending(date)==1) # By default always run.
     current_date=getNoSecDate(DateTime())
     next_scheduled = task.getNextScheduledExecutionTime(current_date)
     self.failUnless(next_scheduled >= date, str(next_scheduled) + " not >= " + str(date))
コード例 #13
0
 def test_34_executiondate_when_script_working(self,):
     """
     """
     scriptsholder = self.portal.portal_maintenance.scripts
     # Plone Catalog update script
     manage_addExternalMethod(scriptsholder,'workingScript',
         'Working Script',
         PROJECTNAME+'.MaintenanceToolbox',
         'workingScript')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScript_name('workingScript')
     current_date=DateTime('2006/05/12 16:17')
     self.failUnless(task.isPending(current_date))
     last_execution_date = task.last_execution_date
     self.portal.portal_maintenance.runTasks()
     task.runTask()
     self.failUnless(task.last_execution_date!=last_execution_date)
コード例 #14
0
 def test_31_setting_minute_differently(self,):
     """
     """
     last_update=DateTime('2006/05/05 16:05')
     current_date=DateTime('2006/05/11 16:38')
     correct_next_scheduled = DateTime('2006/05/12')
     content_id = "task1"
     addMaintenanceTask(self.portal, content_id, title = 'Task 1')
     task=getattr(self.portal, content_id)
     task.setScheduled_minute('1')
     self.failUnless(task.scheduled_minute=='1')
     task.setScheduled_minute(1)
     self.failUnless(task.scheduled_minute=='1')
     try:
         task.setScheduled_minute(120)
     except:
         pass
     self.failUnless(task.scheduled_minute=='1')
     try:
         task.setScheduled_minute('120')
     except:
         pass
     self.failUnless(task.scheduled_minute=='1')