From: Zhongyue Luo Date: Thu, 8 Nov 2012 09:40:59 +0000 (+0800) Subject: Adds test scripts for _validate_string X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=372314c7660b93bb27859c4b300ca24a6bf4e51a;p=openstack-build%2Fneutron-build.git Adds test scripts for _validate_string Cleanup _validate_string method Added tests covering all cases Change-Id: I48ed989ad69df19f32e7266fc77724f492441d17 --- diff --git a/quantum/api/v2/attributes.py b/quantum/api/v2/attributes.py index 77e8e4692..78df0c7f9 100644 --- a/quantum/api/v2/attributes.py +++ b/quantum/api/v2/attributes.py @@ -53,12 +53,11 @@ def _validate_string(data, max_len=None): msg = _("'%s' is not a valid string") % data LOG.debug("validate_string: %s", msg) return msg - if max_len is not None: - if len(data) > max_len: - msg = _("'%(data)s' exceeds maximum length of " - "%(max_len)s.") % locals() - LOG.debug("validate_string: %s", msg) - return msg + + if max_len is not None and len(data) > max_len: + msg = _("'%(data)s' exceeds maximum length of %(max_len)s") % locals() + LOG.debug("validate_string: %s", msg) + return msg def _validate_range(data, valid_values=None): diff --git a/quantum/tests/unit/test_attributes.py b/quantum/tests/unit/test_attributes.py index d73aeaa2e..a2b137a48 100644 --- a/quantum/tests/unit/test_attributes.py +++ b/quantum/tests/unit/test_attributes.py @@ -80,14 +80,28 @@ class TestAttributes(unittest2.TestCase): msg = attributes._validate_string(None, None) self.assertEquals(msg, "'None' is not a valid string") - msg = attributes._validate_string("OK", None) - self.assertEquals(msg, None) + # 0 == len(data) == max_len + msg = attributes._validate_string("", 0) + self.assertIsNone(msg) + # 0 == len(data) < max_len + msg = attributes._validate_string("", 9) + self.assertIsNone(msg) + + # 0 < len(data) < max_len + msg = attributes._validate_string("123456789", 10) + self.assertIsNone(msg) + + # 0 < len(data) == max_len msg = attributes._validate_string("123456789", 9) self.assertIsNone(msg) + # 0 < max_len < len(data) msg = attributes._validate_string("1234567890", 9) - self.assertIsNotNone(msg) + self.assertEquals(msg, "'1234567890' exceeds maximum length of 9") + + msg = attributes._validate_string("123456789", None) + self.assertIsNone(msg) def test_ip_pools(self): pools = [[{'end': '10.0.0.254'}],