def test_update_next_run_at_interval_never_ran(self): """Test that next_run_at = current time + interval.""" self.install_fixture('pipeline_schedule_interval') # Update next_run_at PipelineScheduleService.update_next_run_at_for_pipeline( self.pipeline.id, ) # Assert next_run_at is updated to last_run_at + interval schedule = PipelineScheduleService.fetch_schedule_for_pipeline( self.pipeline.id, ) self._assert_pipeline_attribute_equals( self.pipeline.id, 'next_run_at', datetime.utcnow() + timedelta(seconds=int(schedule.schedule)), )
def test_update_next_run_at_cron(self): """Test that next_run_at = croniter parse.""" self.install_fixture('pipeline_schedule_cron') # Set last_run_at to expected PipelineScheduleService.update_last_run_at_for_pipeline( self.pipeline.id, ) # Update next_run_at PipelineScheduleService.update_next_run_at_for_pipeline( self.pipeline.id, ) # Assert that next_run_at is expected self._assert_pipeline_attribute_equals( self.pipeline.id, 'next_run_at', datetime(2014, 2, 1, 0, 5), )
def test_update_next_run_at_manual(self): """Test that next_run_at = none.""" self.install_fixture('pipeline_schedule_manual') # Update last_run_at PipelineScheduleService.update_last_run_at_for_pipeline( self.pipeline.id, ) # Update next_run_at PipelineScheduleService.update_next_run_at_for_pipeline( self.pipeline.id, ) # Assert next_run_at is updated to None self._assert_pipeline_attribute_equals( self.pipeline.id, 'next_run_at', None, )