Merge "Don't convert numeric protocol values to int"

This commit is contained in:
Jenkins 2014-06-24 10:29:46 +00:00 committed by Gerrit Code Review
commit 9f6e1b6b8a
2 changed files with 11 additions and 1 deletions

View File

@ -116,7 +116,7 @@ def convert_protocol(value):
try:
val = int(value)
if val >= 0 and val <= 255:
return val
return value
raise SecurityGroupRuleInvalidProtocol(
protocol=value, values=sg_supported_protocols)
except (ValueError, TypeError):

View File

@ -1427,5 +1427,15 @@ class TestConvertIPPrefixToCIDR(base.BaseTestCase):
self.assertEqual(ext_sg.convert_ip_prefix_to_cidr(addr), addr)
class TestConvertProtocol(base.BaseTestCase):
def test_convert_numeric_protocol(self):
assert(isinstance(ext_sg.convert_protocol('2'), str))
def test_convert_bad_protocol(self):
for val in ['bad', '256', '-1']:
self.assertRaises(ext_sg.SecurityGroupRuleInvalidProtocol,
ext_sg.convert_protocol, val)
class TestSecurityGroupsXML(TestSecurityGroups):
fmt = 'xml'