diff options
author | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-28 07:57:07 +0000 |
---|---|---|
committer | Jason Gerard DeRose <jderose@redhat.com> | 2008-08-28 07:57:07 +0000 |
commit | 283c6f8fcec6a4687fd2cc99326a7f2b33e4e8bf (patch) | |
tree | 36b8d3a59eb8d10d852d079c8dd71f5e7ee8f879 /ipalib/ipa_types.py | |
parent | c83c478ae17991391ad5431062dd987ea5640469 (diff) | |
download | freeipa-283c6f8fcec6a4687fd2cc99326a7f2b33e4e8bf.tar.gz freeipa-283c6f8fcec6a4687fd2cc99326a7f2b33e4e8bf.tar.xz freeipa-283c6f8fcec6a4687fd2cc99326a7f2b33e4e8bf.zip |
216: Added ipa_types.Enum.validate() method; added corresponding unit tests
Diffstat (limited to 'ipalib/ipa_types.py')
-rw-r--r-- | ipalib/ipa_types.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ipalib/ipa_types.py b/ipalib/ipa_types.py index 19950ead5..c120b5abf 100644 --- a/ipalib/ipa_types.py +++ b/ipalib/ipa_types.py @@ -170,4 +170,11 @@ class Enum(Type): if type(val) is not type_: raise TypeError('%r: %r is not %r' % (val, type(val), type_)) self.values = values + self.frozenset = frozenset(values) super(Enum, self).__init__(type_) + + def validate(self, value): + if type(value) is not self.type: + return 'Incorrect type' + if value not in self.frozenset: + return 'Invalid value' |