Simplify the logic of validate_network_port
osl.utils provides method is_valid_port to check port, we can leverage it to make code more clear. Note that the code here was incorrect in accepting 1-65535, and this change fixes it to also include 0. Change-Id: I60cb36a042fd808edca66b07d7248213debd4dff
This commit is contained in:
parent
32846e9987
commit
d3da9dec0e
@ -472,18 +472,13 @@ def validate_network_port(port, port_name="Port"):
|
||||
:returns: An integer port number.
|
||||
:raises: InvalidParameterValue, if the port is invalid.
|
||||
"""
|
||||
try:
|
||||
port = int(port)
|
||||
except ValueError:
|
||||
raise exception.InvalidParameterValue(_(
|
||||
'%(port_name)s "%(port)s" is not a valid integer.') %
|
||||
{'port_name': port_name, 'port': port})
|
||||
if port < 1 or port > 65535:
|
||||
raise exception.InvalidParameterValue(_(
|
||||
'%(port_name)s "%(port)s" is out of range. Valid port '
|
||||
'numbers must be between 1 and 65535.') %
|
||||
{'port_name': port_name, 'port': port})
|
||||
return port
|
||||
|
||||
if netutils.is_valid_port(port):
|
||||
return int(port)
|
||||
|
||||
raise exception.InvalidParameterValue(_(
|
||||
'%(port_name)s "%(port)s" is not a valid port.') %
|
||||
{'port_name': port_name, 'port': port})
|
||||
|
||||
|
||||
def render_template(template, params, is_file=True):
|
||||
|
@ -545,23 +545,23 @@ class GetUpdatedCapabilitiesTestCase(base.TestCase):
|
||||
self.assertIsInstance(cap_returned, str)
|
||||
|
||||
def test_validate_network_port(self):
|
||||
port = utils.validate_network_port('1', 'message')
|
||||
self.assertEqual(1, port)
|
||||
port = utils.validate_network_port('0', 'message')
|
||||
self.assertEqual(0, port)
|
||||
port = utils.validate_network_port('65535')
|
||||
self.assertEqual(65535, port)
|
||||
|
||||
def test_validate_network_port_fail(self):
|
||||
self.assertRaisesRegex(exception.InvalidParameterValue,
|
||||
'Port "65536" is out of range.',
|
||||
'Port "65536" is not a valid port.',
|
||||
utils.validate_network_port,
|
||||
'65536')
|
||||
self.assertRaisesRegex(exception.InvalidParameterValue,
|
||||
'fake_port "-1" is out of range.',
|
||||
'fake_port "-1" is not a valid port.',
|
||||
utils.validate_network_port,
|
||||
'-1',
|
||||
'fake_port')
|
||||
self.assertRaisesRegex(exception.InvalidParameterValue,
|
||||
'Port "invalid" is not a valid integer.',
|
||||
'Port "invalid" is not a valid port.',
|
||||
utils.validate_network_port,
|
||||
'invalid')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user