summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-08-29 04:29:29 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-08-29 04:29:29 +0000
commit03daa91d1c9c355f5f964095371c81d73fb9e08a (patch)
tree27af14d486bd67d828c8877c0e48a5c1ec2103c9
parent8dc0e263dac8bf4074e48fcca593a00cadec03e0 (diff)
downloadfreeipa-03daa91d1c9c355f5f964095371c81d73fb9e08a.tar.gz
freeipa-03daa91d1c9c355f5f964095371c81d73fb9e08a.tar.xz
freeipa-03daa91d1c9c355f5f964095371c81d73fb9e08a.zip
222: Fixed broken assertion in IPATypeError; did more work on docstrings in same
-rw-r--r--ipalib/errors.py8
-rw-r--r--ipalib/tests/test_errors.py19
2 files changed, 18 insertions, 9 deletions
diff --git a/ipalib/errors.py b/ipalib/errors.py
index 70128f7c..52225373 100644
--- a/ipalib/errors.py
+++ b/ipalib/errors.py
@@ -24,18 +24,22 @@ All custom errors raised by `ipalib` package.
class IPATypeError(TypeError):
"""
- TypeError subclass with standard message for easier debugging.
+ A TypeError subclass with with a standard message.
Also has two custom attributes:
``type`` - The type being tested against.
``value`` - The offending value that caused the exception.
+
+ There is no edict that all TypeError should be raised with IPATypeError,
+ but when it fits, use it... it makes the unit tests faster to write and
+ the debugging easier to read.
"""
format = 'need a %r; got %r'
def __init__(self, type_, value):
- assert type(value) is not type, 'no error: %r, %r' % (type_, value)
+ assert type(value) is not type_, '%r is a %r' % (value, type_)
self.type = type_
self.value = value
TypeError.__init__(self, self.format % (self.type, self.value))
diff --git a/ipalib/tests/test_errors.py b/ipalib/tests/test_errors.py
index bca8d3a8..48b1b8fe 100644
--- a/ipalib/tests/test_errors.py
+++ b/ipalib/tests/test_errors.py
@@ -21,7 +21,7 @@
Unit tests for `ipalib.errors` module.
"""
-from tstutil import raises, getitem, no_set, no_del, read_only, ClassChecker
+from tstutil import raises, ClassChecker
from ipalib import errors
@@ -38,9 +38,14 @@ class test_IPATypeError(ClassChecker):
"""
Tests the `errors.IPATypeError.__init__` method.
"""
- t = unicode
- v = 'hello'
- e = self.cls(t, v)
- assert e.type is t
- assert e.value is v
- assert str(e) == 'need a %r; got %r' % (t, v)
+ type_ = unicode
+ okay = 'hello'
+ e = self.cls(type_, okay)
+ assert e.type is type_
+ assert e.value is okay
+ assert str(e) == 'need a %r; got %r' % (type_, okay)
+
+ # Check that AssertionError is raised when type(value) is type_:
+ fail = u'hello'
+ e = raises(AssertionError, self.cls, type_, fail)
+ assert str(e) == '%r is a %r' % (fail, type_)