]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Adds test scripts for _validate_string
authorZhongyue Luo <zhongyue.nah@intel.com>
Thu, 8 Nov 2012 09:40:59 +0000 (17:40 +0800)
committerZhongyue Luo <zhongyue.nah@intel.com>
Sun, 11 Nov 2012 14:14:28 +0000 (22:14 +0800)
Cleanup _validate_string method
Added tests covering all cases

Change-Id: I48ed989ad69df19f32e7266fc77724f492441d17

quantum/api/v2/attributes.py
quantum/tests/unit/test_attributes.py

index 77e8e4692ea2871ab665cba2ac44066c2bcc5773..78df0c7f971932d45b2e15c2ea5994af452c7c61 100644 (file)
@@ -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):
index d73aeaa2e39d748148dd57b8095916bcbba5688e..a2b137a480c9c32e9015b287dd5ead9a0cb9df9f 100644 (file)
@@ -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'}],