Merge "Fixing port number regex"

This commit is contained in:
Jenkins 2016-10-04 08:42:24 +00:00 committed by Gerrit Code Review
commit cf3292fe54
2 changed files with 27 additions and 3 deletions

View File

@ -3,6 +3,7 @@ import mock
from fuel_ccp.tests import base
from fuel_ccp.validation import base as base_validation
from fuel_ccp.validation import deploy as deploy_validation
from fuel_ccp.validation import service as service_validation
COMPONENTS_MAP = {
@ -80,3 +81,26 @@ class TestDeployValidation(base.TestCase):
'deployment: service2',
deploy_validation.validate_requested_components,
{'service1'}, COMPONENTS_MAP)
class TestValidationRegex(base.TestCase):
def test_ports_re(self):
regex = r"^{}(:{})?$".format(
service_validation.ALL_PORT_RE, service_validation.HOST_PORT_RE)
self.assertRegexpMatches('0', regex)
self.assertRegexpMatches('12', regex)
self.assertRegexpMatches('123', regex)
self.assertRegexpMatches('1234', regex)
self.assertRegexpMatches('12345', regex)
self.assertRegexpMatches('65535', regex)
self.assertNotRegexpMatches('65536', regex)
self.assertNotRegexpMatches('123456', regex)
self.assertRegexpMatches('1234:30000', regex)
self.assertRegexpMatches('1234:32767', regex)
self.assertNotRegexpMatches('1234:1000', regex)
self.assertNotRegexpMatches('1234:29999', regex)
self.assertNotRegexpMatches('1234:32768', regex)
self.assertNotRegexpMatches('1234:40000', regex)

View File

@ -8,10 +8,10 @@ import jsonschema
LOG = logging.getLogger(__name__)
# RegExp for range 1-65535
# RegExp for range 0-65535
ALL_PORT_RE = (
r'([1-5][0-9]{4}|6[0-4][0-9]{3}|65([0-4][0-9]{2}|655([0-2][0-9]{1}|'
r'6553([0-5])'
r'0*(?:6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]'
r'{4}|[1-9][0-9]{1,3}|[0-9])'
)
# RegExp for range 30000-32767
HOST_PORT_RE = (