diff --git a/nova/tests/test_utils.py b/nova/tests/test_utils.py index 84d56cadfac5..5c5c226f9937 100644 --- a/nova/tests/test_utils.py +++ b/nova/tests/test_utils.py @@ -463,6 +463,19 @@ class GenericUtilsTestCase(test.TestCase): h2 = hashlib.sha1(data).hexdigest() self.assertEquals(h1, h2) + def test_is_valid_boolstr(self): + self.assertTrue(utils.is_valid_boolstr('true')) + self.assertTrue(utils.is_valid_boolstr('false')) + self.assertTrue(utils.is_valid_boolstr('yes')) + self.assertTrue(utils.is_valid_boolstr('no')) + self.assertTrue(utils.is_valid_boolstr('y')) + self.assertTrue(utils.is_valid_boolstr('n')) + self.assertTrue(utils.is_valid_boolstr('1')) + self.assertTrue(utils.is_valid_boolstr('0')) + + self.assertFalse(utils.is_valid_boolstr('maybe')) + self.assertFalse(utils.is_valid_boolstr('only on tuesdays')) + class MonkeyPatchTestCase(test.TestCase): """Unit test for utils.monkey_patch().""" diff --git a/nova/utils.py b/nova/utils.py index 83bf55583bca..be441bfccc0c 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -876,11 +876,8 @@ def is_int_like(val): def is_valid_boolstr(val): """Check if the provided string is a valid bool string or not.""" - val = str(val).lower() - return val == 'true' or val == 'false' or \ - val == 'yes' or val == 'no' or \ - val == 'y' or val == 'n' or \ - val == '1' or val == '0' + boolstrs = ('true', 'false', 'yes', 'no', 'y', 'n', '1', '0') + return str(val).lower() in boolstrs def is_valid_ipv4(address):