diff options
author | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-06-16 18:34:37 +0300 |
---|---|---|
committer | Alex Grönholm <alex.gronholm@nextday.fi> | 2014-06-16 20:18:13 +0300 |
commit | 12680c645c8a1269b459961e705dcfab6ea29faa (patch) | |
tree | bfd5b8aad16b8fedf9d1f43503df3bafc5b891db | |
parent | a07a13a2cd00744c65de75b4076d26c4bb37898d (diff) | |
download | apscheduler-12680c645c8a1269b459961e705dcfab6ea29faa.tar.gz |
Raise ValueError instead of KeyError when attempting to add an executor or job store and one already exists with the same alias
-rw-r--r-- | apscheduler/schedulers/base.py | 6 | ||||
-rw-r--r-- | tests/test_schedulers.py | 8 |
2 files changed, 8 insertions, 6 deletions
diff --git a/apscheduler/schedulers/base.py b/apscheduler/schedulers/base.py index 96e5fc3..f4d8a14 100644 --- a/apscheduler/schedulers/base.py +++ b/apscheduler/schedulers/base.py @@ -170,11 +170,12 @@ class BaseScheduler(six.with_metaclass(ABCMeta)): :param str|unicode|apscheduler.executors.base.BaseExecutor executor: either an executor instance or the name of an executor plugin :param str|unicode alias: alias for the scheduler + :raises ValueError: if there is already an executor by the given alias """ with self._executors_lock: if alias in self._executors: - raise KeyError('This scheduler already has an executor by the alias of "%s"' % alias) + raise ValueError('This scheduler already has an executor by the alias of "%s"' % alias) if isinstance(executor, BaseExecutor): self._executors[alias] = executor @@ -214,11 +215,12 @@ class BaseScheduler(six.with_metaclass(ABCMeta)): :param str|unicode|apscheduler.jobstores.base.BaseJobStore jobstore: job store to be added :param str|unicode alias: alias for the job store + :raises ValueError: if there is already a job store by the given alias """ with self._jobstores_lock: if alias in self._jobstores: - raise KeyError('This scheduler already has a job store by the alias of "%s"' % alias) + raise ValueError('This scheduler already has a job store by the alias of "%s"' % alias) if isinstance(jobstore, BaseJobStore): self._jobstores[alias] = jobstore diff --git a/tests/test_schedulers.py b/tests/test_schedulers.py index c0eae1a..87c97c2 100644 --- a/tests/test_schedulers.py +++ b/tests/test_schedulers.py @@ -267,8 +267,8 @@ class TestBaseScheduler(object): def test_add_executor_already_exists(self, scheduler): executor = DebugExecutor() scheduler.add_executor(executor) - exc = pytest.raises(KeyError, scheduler.add_executor, executor) - assert exc.value.message == 'This scheduler already has an executor by the alias of "default"' + exc = pytest.raises(ValueError, scheduler.add_executor, executor) + assert str(exc.value) == 'This scheduler already has an executor by the alias of "default"' def test_remove_executor(self, scheduler): scheduler.add_executor(DebugExecutor(), 'foo') @@ -308,8 +308,8 @@ class TestBaseScheduler(object): def test_add_jobstore_already_exists(self, scheduler): jobstore = MemoryJobStore() scheduler.add_jobstore(jobstore) - exc = pytest.raises(KeyError, scheduler.add_jobstore, jobstore) - assert exc.value.message == 'This scheduler already has a job store by the alias of "default"' + exc = pytest.raises(ValueError, scheduler.add_jobstore, jobstore) + assert str(exc.value) == 'This scheduler already has a job store by the alias of "default"' def test_remove_jobstore(self, scheduler): scheduler.add_jobstore(MemoryJobStore(), 'foo') |