diff --git a/neutron_lib/api/validators/__init__.py b/neutron_lib/api/validators/__init__.py index e1bcd57..fabc21d 100644 --- a/neutron_lib/api/validators/__init__.py +++ b/neutron_lib/api/validators/__init__.py @@ -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.") diff --git a/neutron_lib/tests/unit/api/validators/test_validators.py b/neutron_lib/tests/unit/api/validators/test_validators.py index ea73f03..a5e1d5d 100644 --- a/neutron_lib/tests/unit/api/validators/test_validators.py +++ b/neutron_lib/tests/unit/api/validators/test_validators.py @@ -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(":")