Ejemplo n.º 1
0
    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'])
Ejemplo n.º 2
0
 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
Ejemplo n.º 3
0
 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
Ejemplo n.º 4
0
 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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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