def test_ApiJobQueue_enqueue_when_queues_are_not_running(mocker): mock_client = mocker.MagicMock() mock_session_maker = mocker.MagicMock() job_queue = ApiJobQueue(mock_client, mock_session_maker) job_priority = 2 dummy_job = factory.dummy_job_factory(mocker, 'mock')() job_queue.JOB_PRIORITIES = { FileDownloadJob: job_priority, type(dummy_job): job_priority } mock_download_file_queue = mocker.patch.object(job_queue, 'download_file_queue') mock_main_queue = mocker.patch.object(job_queue, 'main_queue') mock_download_file_add_job = mocker.patch.object(mock_download_file_queue, 'add_job') mock_main_queue_add_job = mocker.patch.object(mock_main_queue, 'add_job') job_queue.main_queue.api_client = 'has a value' job_queue.download_file_queue.api_client = 'has a value' job_queue.stop( ) # queues are already not running, but just in case the code changes one day dl_job = FileDownloadJob('mock', 'mock', 'mock') job_queue.enqueue(dl_job) mock_download_file_add_job.assert_not_called() mock_main_queue_add_job.assert_not_called()
def test_ApiJobQueue_enqueue_when_queues_are_running(mocker): mock_client = mocker.MagicMock() mock_session_maker = mocker.MagicMock() job_queue = ApiJobQueue(mock_client, mock_session_maker) job_priority = 2 dummy_job = factory.dummy_job_factory(mocker, 'mock')() job_queue.JOB_PRIORITIES = { FileDownloadJob: job_priority, type(dummy_job): job_priority } mock_download_file_queue = mocker.patch.object(job_queue, 'download_file_queue') mock_main_queue = mocker.patch.object(job_queue, 'main_queue') mock_download_file_add_job = mocker.patch.object(mock_download_file_queue, 'add_job') mock_main_queue_add_job = mocker.patch.object(mock_main_queue, 'add_job') job_queue.main_queue.api_client = 'has a value' job_queue.download_file_queue.api_client = 'has a value' job_queue.main_thread.isRunning = mocker.MagicMock(return_value=True) job_queue.download_file_thread.isRunning = mocker.MagicMock( return_value=True) dl_job = FileDownloadJob('mock', 'mock', 'mock') job_queue.enqueue(dl_job) mock_download_file_add_job.assert_called_once_with(dl_job) assert not mock_main_queue_add_job.called # reset for next test mock_download_file_queue.reset_mock() mock_download_file_add_job.reset_mock() mock_main_queue.reset_mock() mock_main_queue_add_job.reset_mock() job_queue.enqueue(FileDownloadJob('mock', 'mock', 'mock')) assert not mock_main_queue_add_job.called # reset for next test mock_download_file_queue.reset_mock() mock_download_file_add_job.reset_mock() mock_main_queue.reset_mock() mock_main_queue_add_job.reset_mock() job_queue.enqueue(dummy_job) mock_main_queue_add_job.assert_called_once_with(dummy_job) assert not mock_download_file_add_job.called
def test_ApiJobQueue_enqueue_no_auth(mocker): mock_client = mocker.MagicMock() mock_session_maker = mocker.MagicMock() job_queue = ApiJobQueue(mock_client, mock_session_maker) mock_download_file_queue = mocker.patch.object(job_queue, 'download_file_queue') mock_main_queue = mocker.patch.object(job_queue, 'main_queue') mock_download_file_add_job = mocker.patch.object(mock_download_file_queue, 'add_job') mock_main_queue_add_job = mocker.patch.object(mock_main_queue, 'add_job') job_queue.main_queue.api_client = None job_queue.download_file_queue.api_client = None dummy_job = factory.dummy_job_factory(mocker, 'mock')() job_queue.JOB_PRIORITIES = {type(dummy_job): 1} job_queue.enqueue(dummy_job) assert mock_download_file_add_job.call_count == 0 assert mock_main_queue_add_job.call_count == 0