[VVP] udpating scripts for casablanca 2
[vvp/validation-scripts.git] / ice_validator / tests / test_port_resource_ids.py
index f7bf1e8..076c479 100644 (file)
@@ -2,11 +2,11 @@
 # ============LICENSE_START=======================================================
 # org.onap.vvp/validation-scripts
 # ===================================================================
-# Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+# Copyright © 2018 AT&T Intellectual Property. All rights reserved.
 # ===================================================================
 #
 # Unless otherwise specified, all software contained herein is licensed
-# under the Apache License, Version 2.0 (the “License”);
+# under the Apache License, Version 2.0 (the "License");
 # you may not use this software except in compliance with the License.
 # You may obtain a copy of the License at
 #
@@ -21,7 +21,7 @@
 #
 #
 # Unless otherwise specified, all documentation contained herein is licensed
-# under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+# under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 # you may not use this documentation except in compliance with the License.
 # You may obtain a copy of the License at
 #
 #
 
 import re
+
 import pytest
-import yaml
+from tests import cached_yaml as yaml
+
+from .helpers import validates
+from .utils.network_roles import get_network_role_from_port, \
+    get_network_type_from_port, \
+    property_uses_get_resource
 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-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
@@ -61,10 +74,8 @@ def test_port_resource_ids(heat_template):
     if "resources" not in yml:
         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'),
-                    }
+    port_patterns = {'internal': re.compile(r'(.+?)_\d+_int_(.+?)_port_\d+'),
+                     'external': re.compile(r'(.+?)_\d+_(.+?)_port_\d+')}
     resources = yml['resources']
 
     invalid_ports = []
@@ -109,7 +120,8 @@ def test_port_resource_ids(heat_template):
                 else:
                     continue
 
-                has_vm_type = vm_type+"_" in port_id
+                has_vm_type = vm_type + "_" in port_id
+                has_network_role = False
 
                 if port_resource:
                     if property_uses_get_resource(v, "network"):
@@ -123,10 +135,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