示例#1
0
 def test_job_constructor_L_dom(self):
     job = Job("* * L * *")
     assert not job.allowed_every_dom
     assert job.allowed_last_dom
     assert job.allowed_dom == set([-1])
     assert job._should_run_at(d(2019, 3, 31))
     assert not job._should_run_at(d(2019, 3, 28))
     assert job._should_run_at(d(2019, 2, 28))
示例#2
0
 def test_job_constructor_L_dow(self):
     job = Job("* * * * 5l")  # 5=friday, l=only the last one of the month
     assert job.allowed_every_dom
     assert not job.allowed_last_dom
     assert not job.allowed_every_dow
     assert not job.allowed_dow
     assert job.allowed_dowl == set([4])  # 5 in cron, 4 in python
     assert job._should_run_at(d(2019, 3, 29))  # was fri
     assert not job._should_run_at(d(2019, 3, 28))  # was thu
     assert not job._should_run_at(d(2019, 3, 8))  # was fri
示例#3
0
 def test_job_constructor_wrong(self):
     with self.assertRaises(ValueError):
         Job("some silly text")
     with self.assertRaises(ValueError):
         Job("* * goofy * *")
     with self.assertRaises(ValueError):
         Job("* * * * * L")
     with self.assertRaises(ValueError):
         Job("* 1-2-3 * *")
     with self.assertRaises(ValueError):
         Job("* 1;2;3 * *")
     with self.assertRaises(ValueError):
         Job("* @hourly")
     with self.assertRaises(ValueError):
         Job("* L * * *")
     with self.assertRaises(ValueError):
         Job("* * 1w2 * *")
示例#4
0
 def test_job_constructor_basic(self):
     job = Job("* 4 * * *")
     ###
     assert job.allowed_every_min
     ###
     assert not job.allowed_every_hour
     assert job.allowed_hours == set([4])
     ###
     assert job.allowed_every_dom
     assert not job.allowed_last_dom
     ###
     assert job.allowed_every_month
     ###
     assert job.allowed_every_dow
     ###
     assert job.allowed_every_year
示例#5
0
 def test_job_constructor_more_complicated(self):
     job = Job("30 */3 * mar-jun,dec MON")
     ###
     assert not job.allowed_every_min
     assert job.allowed_min == set([30])
     ###
     assert not job.allowed_every_hour
     assert job.allowed_hours == set([0, 3, 6, 9, 12, 15, 18, 21])
     ###
     assert job.allowed_every_dom
     assert not job.allowed_last_dom
     ###
     assert not job.allowed_every_month
     assert job.allowed_months == set([3, 4, 5, 6, 12])
     ###
     assert not job.allowed_every_dow
     assert job.allowed_dow == set([0])  # 1 in cron, 0 in python
     ###
     assert job.allowed_every_year
示例#6
0
 def test_job_constructor_dow_sharp(self):
     job = Job("* * * * 5#2")  # second friday in the month
     assert job.allowed_every_dom
     assert not job.allowed_last_dom
     assert not job.allowed_every_dow
     assert not job.allowed_dow
     assert not job.allowed_dowl
     assert 2 in job.allowed_dow_sharp.keys()
     assert job.allowed_dow_sharp[2] == set([4])  # 5 in cron, 4 in python
     assert not job._should_run_at(d(2019, 3, 1))  # was fri
     assert job._should_run_at(d(2019, 3, 8))  # was fri
     assert not job._should_run_at(d(2019, 3, 15))  # was fri
     assert not job._should_run_at(d(2019, 3, 22))  # was fri
     assert not job._should_run_at(d(2019, 3, 29))  # was fri
     assert not job._should_run_at(d(2019, 3, 28))  # was thu
示例#7
0
 def test_is_last_wom(self):
     job = Job()
     assert not job.is_last_wom(d(2019, 3, 1))
     assert not job.is_last_wom(d(2019, 3, 24))
     assert job.is_last_wom(d(2019, 3, 25))
     assert job.is_last_wom(d(2019, 3, 31))
示例#8
0
 def test_get_num_wom(self):
     job = Job()
     assert job.get_num_wom(d(2019, 3, 7)) == 1  # first thursday of month
     assert job.get_num_wom(d(2019, 3, 8)) == 2  # second friday of month
     assert job.get_num_wom(d(2019, 3, 31)) == 5  # fifth sunday of month
示例#9
0
 def test_job_constructor_reverse_order(self):
     job = Job("* 23-4 * * *")
     assert job.allowed_hours == set([23, 0, 1, 2, 3, 4])
示例#10
0
 def test_job_constructor_alias(self):
     job = Job("@hourly")
     assert not job.allowed_every_min
     assert job.allowed_every_hour
     assert job.allowed_every_month
     assert job.allowed_every_year
示例#11
0
 def test_job_constructor_W_dom(self):
     job = Job("* * 15w * *")
     assert not job.allowed_every_dom
     assert not job.allowed_last_dom
     assert job.allowed_dom == set()
     assert job.allowed_wdom == set([15])
     assert job._should_run_at(d(2019, 3, 15))  # was fri
     assert not job._should_run_at(d(2018, 12, 15))  # was sat
     assert job._should_run_at(d(2018, 12, 14))  # was fri   *
     assert not job._should_run_at(d(2018, 7, 15))  # was sun
     assert job._should_run_at(d(2018, 7, 16))  # was mon
     ###
     job = Job("* * 1w * *")
     assert not job.allowed_every_dom
     assert not job.allowed_last_dom
     assert job.allowed_dom == set()
     assert job.allowed_wdom == set([1])
     assert job._should_run_at(d(2019, 3, 1))  # was fri
     assert not job._should_run_at(d(2019, 6, 1))  # was sat
     assert job._should_run_at(d(2019, 6, 3))  # was mon