From f22f3eabb20e6c46f78ba5c40d75bb52b7872060 Mon Sep 17 00:00:00 2001 From: Jason Gerard DeRose Date: Tue, 20 Jan 2009 09:38:39 -0700 Subject: Fixed Param.validate() so that self.query is checked after self.required --- ipalib/parameters.py | 5 ++--- tests/test_ipalib/test_parameters.py | 3 ++- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/ipalib/parameters.py b/ipalib/parameters.py index 7cc93e90..76d88347 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 e6868d0d..261e1481 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) -- cgit