def test_get_periodic_jobs_with_bimonthly_queue(self): # create root user UserFactory.create() projectOwner = UserFactory.create(admin=False) ProjectFactory.create(owner=projectOwner) today = datetime.today() old_date = today + relativedelta(months=-1) date_str = old_date.strftime('%Y-%m-%dT%H:%M:%S.%f') # substract six months and take care of leap years one_year = today + relativedelta(months=-6, leapdays=1) one_year_str = one_year.strftime('%Y-%m-%dT%H:%M:%S.%f') user = UserFactory.create() user_recent = UserFactory.create() # 1 month old contribution tr = TaskRunFactory.create(finish_time=date_str) # 1 year old contribution tr_year = TaskRunFactory.create(finish_time=one_year_str) # 1 year old contribution for a project owner tr_year_project = TaskRunFactory.create(finish_time=one_year_str, user=projectOwner) # User with a contribution from a long time ago tr2 = TaskRunFactory.create(finish_time="2010-08-08T18:23:45.714110", user=user) # User with a recent contribution tr3 = TaskRunFactory.create(user=user) jobs = get_periodic_jobs('bimonthly') # Only returns jobs for the specified queue for job in jobs: assert job['queue'] == 'bimonthly' assert job['name'] == delete_account assert tr_year.user.id == job['args'][0], (tr_year.user.id, job['args'])
def test_get_periodic_jobs_with_high_queue(self, non_contr, inactive, autoimport, project, export): export.return_value = jobs() high_jobs = get_periodic_jobs("high") # Only returns jobs for the specified queue for job in high_jobs: assert job["queue"] == "high" # Does not call unnecessary functions for performance assert non_contr.called == False assert inactive.called == False assert project.called == False assert autoimport.called == False
def test_get_periodic_jobs_with_low_queue(self, non_contr, inactive, autoimport, project, export): export.return_value = jobs() autoimport.return_value = jobs() low_jobs = get_periodic_jobs('low') # Only returns jobs for the specified queue for job in low_jobs: assert job['queue'] == 'low' # Does not call unnecessary functions for performance assert non_contr.called == False assert inactive.called == False assert project.called == False
def test_get_periodic_jobs_with_quaterly_queue(self, non_contr, inactive, autoimport, project, export): inactive.return_value = jobs() non_contr.return_value = jobs() quaterly_jobs = get_periodic_jobs('quaterly') # Only returns jobs for the specified queue for job in quaterly_jobs: assert job['queue'] == 'quaterly' # Does not call unnecessary functions for performance assert autoimport.called == False assert export.called == False assert project.called == False