示例#1
0
    def test_started_tasks_records_exception_if_update_fails(self, fake_log):
        expected_last_run_time = datetime.datetime(2013, 11, 11)
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            expected_last_run_time,
            retval=JobResult(JobExecutor.RETVAL_STARTED_TASKS, ['foo', 'bar']))
        test_scheduled_job = Mock(
            next_run_time=datetime.datetime(2013, 12, 12))
        self._sched.get_job.return_value = test_scheduled_job
        stored_job = Mock(id='test_id')
        self._dc.get.return_value = stored_job
        stored_job.annotate.side_effect = Exception

        self._target(event)

        stored_job.annotate.assert_called_with({
            'estimatedNextRun':
            test_scheduled_job.next_run_time,
            'lastRun':
            expected_last_run_time,
            'lastRunTasks': ['foo', 'bar']
        })
        fake_log.assert_called()
示例#2
0
    def test_successful_execute_logs_warning_if_unknown_retval(self, fake_log):
        expected_last_run_time = datetime.datetime(2013, 11, 11)
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            expected_last_run_time,
            retval=JobResult(9999))

        self._target(event)

        self._dc.get.assert_not_called()
        fake_log.assert_called()
示例#3
0
    def test_checked_tasks_logs_warning_if_scheduled_job_not_found(
            self, fake_log):
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            datetime.datetime.now(),
            retval=JobResult(JobExecutor.RETVAL_CHECKED_TASKS))
        self._sched.get_job.return_value = None

        self._target(event)

        self._dc.get.assert_not_called()
        fake_log.assert_called()
示例#4
0
    def test_started_tasks_logs_warning_if_scheduled_job_not_found(
            self, fake_log):
        expected_last_run_time = datetime.datetime(2013, 11, 11)
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            expected_last_run_time,
            retval=JobResult(JobExecutor.RETVAL_STARTED_TASKS))
        self._sched.get_job.return_value = None

        self._target(event)

        self._dc.get.assert_not_called()
        fake_log.assert_called()
示例#5
0
    def test_checked_tasks_does_not_call_store_if_no_next_run(self):
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            datetime.datetime.now(),
            retval=JobResult(JobExecutor.RETVAL_CHECKED_TASKS))
        test_scheduled_job = Mock(next_run_time=None)
        self._sched.get_job.return_value = test_scheduled_job
        stored_job = Mock(id='test_id')
        self._dc.get.return_value = stored_job

        self._target(event)

        stored_job.annotate.assert_not_called()
示例#6
0
    def test_checked_tasks_logs_warning_if_stored_job_not_found(
            self, fake_log):
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            datetime.datetime.now(),
            retval=JobResult(JobExecutor.RETVAL_CHECKED_TASKS))
        test_scheduled_job = Mock(
            next_run_time=datetime.datetime(2013, 12, 12))
        self._sched.get_job.return_value = test_scheduled_job
        self._dc.get.side_effect = JobNotFound('test_id')

        self._target(event)

        fake_log.assert_called()
示例#7
0
    def test_checked_tasks_updates_estimated_next_run(self):
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            datetime.datetime.now(),
            retval=JobResult(JobExecutor.RETVAL_CHECKED_TASKS))
        test_scheduled_job = Mock(
            next_run_time=datetime.datetime(2013, 12, 12))
        self._sched.get_job.return_value = test_scheduled_job
        stored_job = Mock(id='test_id')
        self._dc.get.return_value = stored_job

        self._target(event)

        stored_job.annotate.assert_called_with(
            {'estimatedNextRun': test_scheduled_job.next_run_time})
示例#8
0
    def test_started_tasks_omits_next_run_if_none(self):
        expected_last_run_time = datetime.datetime(2013, 11, 11)
        event = apscheduler.events.JobExecutionEvent(
            apscheduler.events.EVENT_JOB_EXECUTED,
            'test_id',
            'default',
            expected_last_run_time,
            retval=JobResult(JobExecutor.RETVAL_STARTED_TASKS, ['foo', 'bar']))
        test_scheduled_job = Mock(next_run_time=None)
        self._sched.get_job.return_value = test_scheduled_job
        stored_job = Mock(id='test_id')
        self._dc.get.return_value = stored_job

        self._target(event)

        stored_job.annotate.assert_called_with({
            'lastRun': expected_last_run_time,
            'lastRunTasks': ['foo', 'bar']
        })
示例#9
0
    def test_set_all_attributes(self):
        info = []
        result = JobResult(12, info)

        self.assertEqual(12, result.return_code)
        self.assertIs(info, result.task_info)
示例#10
0
    def test_set_default_attributes(self):
        result = JobResult(12)

        self.assertEqual(12, result.return_code)
        self.assertIsNone(result.task_info)