summaryrefslogtreecommitdiffstats
path: root/ipalib/public.py
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2008-09-04 02:02:06 +0000
committerJason Gerard DeRose <jderose@redhat.com>2008-09-04 02:02:06 +0000
commit5cdb182ae8e87f4d3e84bbf7875357c101ca605e (patch)
treeb5c9b23c8738faec92dba4759bf24ffa05514a73 /ipalib/public.py
parent7e3664a964e6c0ef0c773ae8eb3ab3ac21385649 (diff)
downloadfreeipa.git-5cdb182ae8e87f4d3e84bbf7875357c101ca605e.tar.gz
freeipa.git-5cdb182ae8e87f4d3e84bbf7875357c101ca605e.tar.xz
freeipa.git-5cdb182ae8e87f4d3e84bbf7875357c101ca605e.zip
251: Fixed Command.validate() so it raises RequirementError; updated and re-enabled unit tests for Command.validate()
Diffstat (limited to 'ipalib/public.py')
-rw-r--r--ipalib/public.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/ipalib/public.py b/ipalib/public.py
index 91f357ca..c64e29d5 100644
--- a/ipalib/public.py
+++ b/ipalib/public.py
@@ -222,9 +222,12 @@ class Command(plugable.Plugin):
def validate(self, **kw):
self.print_call('validate', kw, 1)
- for (key, value) in kw.iteritems():
- if key in self.Option:
- self.Option[key].validate(value)
+ for option in self.Option():
+ value = kw.get(option.name, None)
+ if value is not None:
+ option.validate(value)
+ elif option.required:
+ raise errors.RequirementError(option.name)
def execute(self, **kw):
self.print_call('execute', kw, 1)