summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Grönholm <alex.gronholm@nextday.fi>2014-06-16 18:34:37 +0300
committerAlex Grönholm <alex.gronholm@nextday.fi>2014-06-16 20:18:13 +0300
commit12680c645c8a1269b459961e705dcfab6ea29faa (patch)
treebfd5b8aad16b8fedf9d1f43503df3bafc5b891db
parenta07a13a2cd00744c65de75b4076d26c4bb37898d (diff)
downloadapscheduler-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.py6
-rw-r--r--tests/test_schedulers.py8
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')