summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Gerard DeRose <jderose@redhat.com>2009-01-20 09:38:39 -0700
committerJason Gerard DeRose <jderose@redhat.com>2009-01-20 09:38:39 -0700
commitf22f3eabb20e6c46f78ba5c40d75bb52b7872060 (patch)
treecffba110af8d5b3b13de2ede525ce6feea473231
parent55fba5420d8ea57931937728102094492ca73d86 (diff)
downloadfreeipa-f22f3eabb20e6c46f78ba5c40d75bb52b7872060.tar.gz
freeipa-f22f3eabb20e6c46f78ba5c40d75bb52b7872060.tar.xz
freeipa-f22f3eabb20e6c46f78ba5c40d75bb52b7872060.zip
Fixed Param.validate() so that self.query is checked after self.required
-rw-r--r--ipalib/parameters.py5
-rw-r--r--tests/test_ipalib/test_parameters.py3
2 files changed, 4 insertions, 4 deletions
diff --git a/ipalib/parameters.py b/ipalib/parameters.py
index 7cc93e905..76d88347c 100644
--- a/ipalib/parameters.py
+++ b/ipalib/parameters.py
@@ -490,13 +490,12 @@ class Param(ReadOnly):
:param value: A proposed value for this parameter.
"""
- # FIXME: this should be after 'if value is None:'
- if self.query:
- return
if value is None:
if self.required:
raise RequirementError(name=self.name)
return
+ if self.query:
+ return
if self.multivalue:
if type(value) is not tuple:
raise TypeError(
diff --git a/tests/test_ipalib/test_parameters.py b/tests/test_ipalib/test_parameters.py
index e6868d0db..261e14811 100644
--- a/tests/test_ipalib/test_parameters.py
+++ b/tests/test_ipalib/test_parameters.py
@@ -380,7 +380,8 @@ class test_Param(ClassChecker):
# Test with query=True:
o = self.cls('my_param', query=True)
assert o.query is True
- assert o.validate(None) is None
+ e = raises(errors2.RequirementError, o.validate, None)
+ assert_equal(e.name, 'my_param')
# Test with multivalue=True:
o = self.cls('my_param', multivalue=True)