Merge "Make port_range validator accept an integer"

This commit is contained in:
Jenkins 2017-06-19 11:53:50 +00:00 committed by Gerrit Code Review
commit e68ec1fbf2
2 changed files with 6 additions and 5 deletions

View File

@ -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.")

View File

@ -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(":")