add cronjob + test
This commit is contained in:
parent
0fc0c4c8b9
commit
95f06e8e26
2 changed files with 72 additions and 28 deletions
|
@ -219,35 +219,54 @@ class PlannerTestCase(object):
|
|||
count=1, query_date=date(2022, 5, 1)), [
|
||||
date(2022, 5, 1)])
|
||||
|
||||
with Transaction().set_context({
|
||||
'nextrun_querydate': date(2022, 5, 25)}):
|
||||
Planner.update_next_occurence([job])
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
Planner.update_next_occurence([job], query_date=date(2022, 5, 25))
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
|
||||
with Transaction().set_context({
|
||||
'nextrun_querydate': date(2022, 5, 30)}):
|
||||
Planner.update_next_occurence([job])
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
Planner.update_next_occurence([job], query_date=date(2022, 5, 30))
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
|
||||
with Transaction().set_context({
|
||||
'nextrun_querydate': date(2022, 6, 1)}):
|
||||
Planner.update_next_occurence([job])
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
Planner.update_next_occurence([job], query_date=date(2022, 6, 1))
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
|
||||
# cron will use 'today+1' as query_date
|
||||
Planner.update_next_occurence([job], query_date=date(2022, 6, 2))
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 7, 1))
|
||||
|
||||
with Transaction().set_context({
|
||||
'nextrun_querydate': date(2022, 6, 2)}):
|
||||
Planner.update_next_occurence([job])
|
||||
self.assertEqual(len(job.nextrun), 1)
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 7, 1))
|
||||
|
||||
with Transaction().set_context({
|
||||
'nextrun_querydate': date(2022, 6, 2)}):
|
||||
# set end-date to check delete of futore runs
|
||||
# set end-date to check delete of future runs
|
||||
Planner.write(*[[job], {'end_date': date(2022, 6, 20)}])
|
||||
# write to planner-record updates nextrun-records too
|
||||
self.assertEqual(len(job.nextrun), 0)
|
||||
|
||||
@with_transaction()
|
||||
def test_planner_run_cronjobs(self):
|
||||
""" create job, check cron
|
||||
"""
|
||||
Planner = Pool().get('cashbook.planner')
|
||||
|
||||
job = self.prep_create_job()
|
||||
self.assertEqual(
|
||||
job._compute_dates_by_rrule(
|
||||
count=1, query_date=date(2022, 5, 1)), [
|
||||
date(2022, 5, 1)])
|
||||
|
||||
with Transaction().set_context({
|
||||
'nextrun_crondate': date(2022, 5, 24)}):
|
||||
job, = Planner.search([])
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 5, 1))
|
||||
Planner.cronjob()
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
|
||||
with Transaction().set_context({
|
||||
'nextrun_crondate': date(2022, 6, 1)}):
|
||||
job, = Planner.search([])
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 6, 1))
|
||||
Planner.cronjob()
|
||||
self.assertEqual(job.nextrun[0].date, date(2022, 7, 1))
|
||||
|
||||
# end PlannerTestCase
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue