def remove_downloads(job_manager): requested_job = job_manager.request_job(User(100)) job = job_to_json(requested_job) while json.loads(job)['job_type'] == 'download': job_manager.report_failure(User(100)) requested_job = job_manager.request_job(User(100)) job = job_to_json(requested_job) return job
def test_one_stale_job_of_two_assigned_jobs(job_manager, job1, user1, job2): job_manager.add_job(job1) job_manager.add_job(job2) job_manager.request_job(user1) time_to_expire = time.time() job_manager.request_job(User(2)) assert job_manager.num_assigned() == 2 assert job_manager.num_unassigned() == 0 job_manager.reset_stale_job(time_to_expire) assert job_manager.num_assigned() == 1 assert job_manager.num_unassigned() == 1
def make_second_user(): return User(101)
def make_first_user(): return User(100)
def _report_failure(): client_data = request.json user_id = client_data['client_id'] user = User(user_id) job_manager.report_failure(user) return {}, 200
def test_unassign_invalid_job(in_progress): with pytest.raises(job_queue_errors.UnassignInvalidDataException): in_progress.unassign(User(100).user_id)
def test_unassign_job_with_invalid_user(in_progress): assert in_progress.get_num_assigned_jobs() == 0 in_progress.assign(Job(1), User(100).user_id) invalid_user = User(20) with pytest.raises(job_queue_errors.UnassignInvalidDataException): in_progress.unassign(invalid_user.user_id)
def test_when_job_unassigned_it_returned_from_assigned_jobs(in_progress): in_progress.assign(Job('job01'), User(100).user_id) assert in_progress.get_num_assigned_jobs() == 1 returned_job = in_progress.unassign(User(100).user_id) assert returned_job.job_id == 'job01' assert in_progress.get_num_assigned_jobs() == 0
def test_when_job_unassigned_it_is_removed_from_assigned_jobs(in_progress): in_progress.assign(Job(1), User(100).user_id) assert in_progress.get_num_assigned_jobs() == 1 in_progress.unassign(User(100).user_id) assert in_progress.get_num_assigned_jobs() == 0
def test_when_job_assigned_it_is_added_to_assigned_jobs(in_progress): in_progress.assign(Job(1), User(100).user_id) assert in_progress.get_num_assigned_jobs() == 1