async def test_job_job_not_found_run_check(arq_redis: ArqRedis, worker, caplog): caplog.set_level(logging.INFO) await arq_redis.enqueue_job('missing', _job_id='testing') worker: Worker = worker(functions=[foobar]) with pytest.raises(FailedJobs) as exc_info: await worker.run_check() assert exc_info.value.count == 1 assert len(exc_info.value.job_results) == 1 failure = exc_info.value.job_results[0].result assert failure == JobExecutionFailed("function 'missing' not found") assert failure != 123 # check the __eq__ method of JobExecutionFailed
async def test_job_expired_run_check(arq_redis: ArqRedis, worker, caplog): caplog.set_level(logging.INFO) await arq_redis.enqueue_job('foobar', _job_id='testing') await arq_redis.delete(job_key_prefix + 'testing') worker: Worker = worker(functions=[foobar]) with pytest.raises(FailedJobs) as exc_info: await worker.run_check() assert str(exc_info.value) in { "1 job failed JobExecutionFailed('job expired',)", # python 3.6 "1 job failed JobExecutionFailed('job expired')", # python 3.7 } assert exc_info.value.count == 1 assert len(exc_info.value.job_results) == 1 assert exc_info.value.job_results[0].result == JobExecutionFailed('job expired')