diff --git a/designate/common/constants.py b/designate/common/constants.py index 3fe2024fc..fcf4b08fa 100644 --- a/designate/common/constants.py +++ b/designate/common/constants.py @@ -76,7 +76,7 @@ RE_CERT_TYPE = re.compile(r'(^[A-Z]+$)|(^[0-9]+$)') RE_CERT_ALGO = re.compile(r'(^[A-Z]+[A-Z0-9\-]+[A-Z0-9]$)|(^[0-9]+$)') # Floating IP regexes -RE_FIP = re.compile(r'^(?P[A-Za-z0-9\\.\\-_]{1,100}):(?P[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$') # noqa +RE_FIP = re.compile(r'^(?P[A-Za-z0-9\.\-_]{1,100}):(?P[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$') # noqa # Error Validation regexes RE_REQUIRED = re.compile(r'\'([\w]*)\' is a required property') diff --git a/designate/tests/unit/api/v2/test_floatingips.py b/designate/tests/unit/api/v2/test_floatingips.py index 99ebe6647..1f5d956b0 100644 --- a/designate/tests/unit/api/v2/test_floatingips.py +++ b/designate/tests/unit/api/v2/test_floatingips.py @@ -35,6 +35,37 @@ class FloatingIPTest(oslotest.base.BaseTestCase): ) ) + self.assertEqual( + ('region-one', '2fc6745d-1631-4f34-b13d-90f9014236c0'), + floatingips.fip_key_to_data( + 'region-one:2fc6745d-1631-4f34-b13d-90f9014236c0' + ) + ) + self.assertEqual( + ('region-1', '2fc6745d-1631-4f34-b13d-90f9014236c0'), + floatingips.fip_key_to_data( + 'region-1:2fc6745d-1631-4f34-b13d-90f9014236c0' + ) + ) + self.assertEqual( + ('region-1-test', '2fc6745d-1631-4f34-b13d-90f9014236c0'), + floatingips.fip_key_to_data( + 'region-1-test:2fc6745d-1631-4f34-b13d-90f9014236c0' + ) + ) + self.assertEqual( + ('region.1.test', '2fc6745d-1631-4f34-b13d-90f9014236c0'), + floatingips.fip_key_to_data( + 'region.1.test:2fc6745d-1631-4f34-b13d-90f9014236c0' + ) + ) + self.assertEqual( + ('region.test', '2fc6745d-1631-4f34-b13d-90f9014236c0'), + floatingips.fip_key_to_data( + 'region.test:2fc6745d-1631-4f34-b13d-90f9014236c0' + ) + ) + def test_fip_key_to_data_bad_request(self): self.assertRaisesRegex( exceptions.BadRequest,