def test_missing_jobs_requests_are_aborted(self, mock_abort): ui = SchedulerUI(self.scheduler) ui._pause_job('non_existing_job') ui._resume_job('non_existing_job') ui._run_job('non_existing_job') self.assertEqual(3, mock_abort.call_count) mock_abort.reset_mock() response = ui._run_job(job_id=None) self.assertEqual(response.status_code, 404, 'Requests with missing job_id should fail')
def test_scheduler_commands_are_serialized(self, mock_pause, mock_abort): ui = SchedulerUI(self.scheduler, operation_timeout=0.01) with ui._scheduler_lock: # If we acquire the lock, every command we send to the web server should be aborted on lock acquire timeout. ui._pause_scheduler() mock_abort.assert_called() mock_pause.assert_not_called() ui._resume_scheduler() ui._stop_scheduler() ui._start_scheduler() ui._pause_job('a_job') ui._resume_job('a_job') ui._run_job('a_job') ui._remove_job('a_job') self.assertEqual(8, mock_abort.call_count)