Make port_range validator accept an integer
It used to accept an integer but it has been changed for some reasons when migrating to neutron-lib. For compatibility, it's better to keep the original behaviour. After all, the original behaviour seems reasonable to me. Closes-Bug: #1696682 Related-Bug: #1696389 Change-Id: I60e1a99780202de14522f592288d3a9af7a75592
This commit is contained in:
parent
1401560a67
commit
29a31c152c
|
@ -925,10 +925,7 @@ def validate_port_range_or_none(data, valid_values=None):
|
|||
"""
|
||||
if data is None:
|
||||
return
|
||||
if validate_string_or_none(data):
|
||||
msg = _("Port range must be a string.")
|
||||
LOG.debug(msg)
|
||||
return msg
|
||||
data = str(data)
|
||||
ports = data.split(':')
|
||||
if len(ports) > 2:
|
||||
msg = _("Port range must be two integers separated by a colon.")
|
||||
|
|
|
@ -1102,6 +1102,10 @@ class TestPortRangeValidation(base.BaseTestCase):
|
|||
result = validators.validate_port_range_or_none("80")
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_valid_port_integer(self):
|
||||
result = validators.validate_port_range_or_none(80)
|
||||
self.assertIsNone(result)
|
||||
|
||||
def test_valid_range(self):
|
||||
result = validators.validate_port_range_or_none("80:8888")
|
||||
self.assertIsNone(result)
|
||||
|
@ -1133,7 +1137,7 @@ class TestPortRangeValidation(base.BaseTestCase):
|
|||
|
||||
def test_range_bad_input(self):
|
||||
result = validators.validate_port_range_or_none(['a', 'b', 'c'])
|
||||
self.assertEqual(u"Port range must be a string.", result)
|
||||
self.assertEqual(u"Invalid port: ['a', 'b', 'c'].", result)
|
||||
|
||||
def test_range_colon(self):
|
||||
result = validators.validate_port_range_or_none(":")
|
||||
|
|
Loading…
Reference in New Issue