diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-03-16 16:01:32 +0200 |
---|---|---|
committer | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-03-16 16:01:32 +0200 |
commit | d564658d2df03628999e8e26871e6fbf4a588b0b (patch) | |
tree | ff123e174a1767ffc1f33468ecc87f4aa78ab672 /tests | |
parent | b4fc212f1255a59b7354e1bc9756fd722f7d0131 (diff) | |
download | apscheduler-d564658d2df03628999e8e26871e6fbf4a588b0b.tar.gz |
Wake up the scheduler if the job's next run time is changed by modify_job()
Diffstat (limited to 'tests')
-rw-r--r-- | tests/test_jobstores.py | 1 | ||||
-rw-r--r-- | tests/test_schedulers.py | 17 |
2 files changed, 15 insertions, 3 deletions
diff --git a/tests/test_jobstores.py b/tests/test_jobstores.py index 60a0476..2401b06 100644 --- a/tests/test_jobstores.py +++ b/tests/test_jobstores.py @@ -6,7 +6,6 @@ import pytest from apscheduler.jobstores.memory import MemoryJobStore from apscheduler.jobstores.base import JobLookupError, ConflictingIdError, TransientJobError -from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.triggers.date import DateTrigger from apscheduler.job import Job diff --git a/tests/test_schedulers.py b/tests/test_schedulers.py index 2a09804..3e3edc1 100644 --- a/tests/test_schedulers.py +++ b/tests/test_schedulers.py @@ -20,6 +20,11 @@ from apscheduler.schedulers.blocking import BlockingScheduler from apscheduler.threadpool import ThreadPool from tests.conftest import minpython +try: + from unittest.mock import MagicMock +except ImportError: + from mock import MagicMock + dummy_tz = tzoffset('DUMMYTZ', 3600) dummy_datetime = datetime(2011, 4, 3, 18, 40, tzinfo=dummy_tz) @@ -88,7 +93,7 @@ class TestOfflineScheduler(object): job = scheduler.add_job('copy:copy', 'date', [datetime(2200, 7, 24)], args=[()]) assert job.func == 'copy:copy' - def test_modify_job_offline(self, scheduler): + def test_modify_job(self, scheduler): scheduler.add_job(lambda: None, 'interval', {'seconds': 1}, id='foo') scheduler.modify_job('foo', max_runs=3456) job = scheduler.get_jobs()[0] @@ -241,7 +246,7 @@ class TestRunningScheduler(object): assert len(jobs) == 1 assert jobs[0].name == 'dummyjob' - def test_modify_job_online(self, scheduler): + def test_modify_job(self, scheduler): events = [] scheduler.add_listener(events.append, EVENT_JOBSTORE_JOB_MODIFIED) scheduler.add_job(lambda: None, 'interval', {'seconds': 1}, id='foo') @@ -251,6 +256,14 @@ class TestRunningScheduler(object): job = scheduler.get_jobs()[0] assert job.max_runs == 3456 + def test_modify_job_next_run_time(self, scheduler): + """Tests that modifying a job's next_run_time will cause the scheduler to be woken up.""" + + scheduler.add_job(lambda: None, 'interval', {'seconds': 1}, id='foo') + scheduler._wakeup = MagicMock() + scheduler.modify_job('foo', next_run_time=3456) + scheduler._wakeup.assert_called_once_with() + def test_remove_job(self, scheduler): vals = [0] events = [] |