[VVP] decorators for 5.2.7 and 5.2.8
[vvp/validation-scripts.git] / ice_validator / tests / test_port_resource_ids.py
index f7bf1e8..a6f7093 100644 (file)
 import re
 import pytest
 import yaml
+from .helpers import validates
 from .utils.vm_types import get_vm_type_for_nova_server
 from .utils.network_roles import get_network_role_from_port,\
                                  get_network_type_from_port,\
                                  property_uses_get_resource
 
 
+@validates('R-29865',
+           'R-69014',
+           'R-05201',
+           'R-68936',
+           'R-32025',
+           'R-11168',
+           'R-84322',
+           'R-96983',
+           'R-26506',
+           'R-20453',
+           'R-26351')
 def test_port_resource_ids(heat_template):
     '''
     Check that all resource ids for ports follow the right
@@ -62,8 +74,8 @@ def test_port_resource_ids(heat_template):
         pytest.skip("No resources specified in the heat template")
 
     port_patterns = {
-                    'internal': re.compile(r'(.+?)_\d+_int_(.+?)_\d+_port'),
-                    'external': re.compile(r'(.+?)_\d+_(.+?)_\d+_port'),
+                    'internal': re.compile(r'(.+?)_\d+_int_(.+?)_port_\d+'),
+                    'external': re.compile(r'(.+?)_\d+_(.+?)_port_\d+'),
                     }
     resources = yml['resources']
 
@@ -110,6 +122,7 @@ def test_port_resource_ids(heat_template):
                     continue
 
                 has_vm_type = vm_type+"_" in port_id
+                has_network_role = False
 
                 if port_resource:
                     if property_uses_get_resource(v, "network"):
@@ -123,10 +136,8 @@ def test_port_resource_ids(heat_template):
                     if not network_type:
                         continue
 
-                    prepend = ""
-                    if network_type == 'internal':
-                        prepend = "int_"
-                    has_network_role = prepend+network_role+"_" in port_id
+                    if port_patterns[network_type].match(port_id):
+                        has_network_role = True
                 else:
                     # match the assumed naming convention for ports
                     # if the specified port is provided via get_param