diff --git a/quantum/api/v2/attributes.py b/quantum/api/v2/attributes.py index 9076657630..77e8e4692e 100644 --- a/quantum/api/v2/attributes.py +++ b/quantum/api/v2/attributes.py @@ -42,11 +42,8 @@ def _validate_boolean(data, valid_values=None): def _validate_values(data, valid_values=None): - if data in valid_values: - return - else: - msg_dict = dict(data=data, values=valid_values) - msg = _("%(data)s is not in %(values)s") % msg_dict + if data not in valid_values: + msg = _("'%(data)s' is not in %(valid_values)s") % locals() LOG.debug("validate_values: %s", msg) return msg diff --git a/quantum/tests/unit/test_attributes.py b/quantum/tests/unit/test_attributes.py index b53a420274..d73aeaa2e3 100644 --- a/quantum/tests/unit/test_attributes.py +++ b/quantum/tests/unit/test_attributes.py @@ -63,6 +63,19 @@ class TestAttributes(unittest2.TestCase): msg = attributes._validate_boolean(None) self.assertEquals(msg, "'None' is not boolean") + def test_values(self): + msg = attributes._validate_values(4, [4, 6]) + self.assertIsNone(msg) + + msg = attributes._validate_values(4, (4, 6)) + self.assertIsNone(msg) + + msg = attributes._validate_values(7, [4, 6]) + self.assertEquals(msg, "'7' is not in [4, 6]") + + msg = attributes._validate_values(7, (4, 6)) + self.assertEquals(msg, "'7' is not in (4, 6)") + def test_strings(self): msg = attributes._validate_string(None, None) self.assertEquals(msg, "'None' is not a valid string")