From 09f70dc8d240f81324352c4887e44e67427b049b Mon Sep 17 00:00:00 2001 From: Zhongyue Luo Date: Fri, 9 Nov 2012 12:48:19 +0800 Subject: [PATCH] Adds test scripts for _validate_range Shortened _validate_range logic Wrote unittests for _validate_range Change-Id: I9fc69dd6c37f9c08c3112c1a14cdcdb26194f17a --- quantum/api/v2/attributes.py | 9 +++------ quantum/tests/unit/test_attributes.py | 25 +++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/quantum/api/v2/attributes.py b/quantum/api/v2/attributes.py index 77e8e4692..7decaad6e 100644 --- a/quantum/api/v2/attributes.py +++ b/quantum/api/v2/attributes.py @@ -64,12 +64,9 @@ def _validate_string(data, max_len=None): def _validate_range(data, valid_values=None): min_value = valid_values[0] max_value = valid_values[1] - if data >= min_value and data <= max_value: - return - else: - msg_dict = dict(data=data, min_value=min_value, max_value=max_value) - msg = _("%(data)s is not in range %(min_value)s through " - "%(max_value)s") % msg_dict + if not min_value <= data <= max_value: + msg = _("'%(data)s' is not in range %(min_value)s through " + "%(max_value)s") % locals() LOG.debug("validate_range: %s", msg) return msg diff --git a/quantum/tests/unit/test_attributes.py b/quantum/tests/unit/test_attributes.py index d73aeaa2e..ef8ec97a8 100644 --- a/quantum/tests/unit/test_attributes.py +++ b/quantum/tests/unit/test_attributes.py @@ -89,6 +89,31 @@ class TestAttributes(unittest2.TestCase): msg = attributes._validate_string("1234567890", 9) self.assertIsNotNone(msg) + def test_range(self): + msg = attributes._validate_range(1, [1, 9]) + self.assertIsNone(msg) + + msg = attributes._validate_range(5, [1, 9]) + self.assertIsNone(msg) + + msg = attributes._validate_range(9, [1, 9]) + self.assertIsNone(msg) + + msg = attributes._validate_range(1, (1, 9)) + self.assertIsNone(msg) + + msg = attributes._validate_range(5, (1, 9)) + self.assertIsNone(msg) + + msg = attributes._validate_range(9, (1, 9)) + self.assertIsNone(msg) + + msg = attributes._validate_range(0, [1, 9]) + self.assertEquals(msg, "'0' is not in range 1 through 9") + + msg = attributes._validate_range(10, (1, 9)) + self.assertEquals(msg, "'10' is not in range 1 through 9") + def test_ip_pools(self): pools = [[{'end': '10.0.0.254'}], [{'start': '10.0.0.254'}], -- 2.45.2