aboutsummaryrefslogtreecommitdiffstats
path: root/ice_validator/tests/utils
diff options
context:
space:
mode:
authorstark, steven <ss820f@att.com>2018-04-23 08:49:34 -0700
committerstark, steven <ss820f@att.com>2018-04-23 08:49:34 -0700
commit655f39713cca2595a812ccd60cc738301aef8b2f (patch)
treeb643a746b17ed00575b980c2bb233ce7cbf2109b /ice_validator/tests/utils
parent671ada85afbb8112a7ae854950cea24756be4dd3 (diff)
[VVP] add bug fixes and reserve port updates
Adding test script updates and reserve port Change-Id: I2af5263a48a53117021f166d08395685e89fd122 Issue-ID: VVP-56 Signed-off-by: stark, steven <ss820f@att.com>
Diffstat (limited to 'ice_validator/tests/utils')
-rw-r--r--ice_validator/tests/utils/nested_iterables.py6
-rw-r--r--ice_validator/tests/utils/network_roles.py17
-rw-r--r--ice_validator/tests/utils/ports.py18
3 files changed, 39 insertions, 2 deletions
diff --git a/ice_validator/tests/utils/nested_iterables.py b/ice_validator/tests/utils/nested_iterables.py
index 19290c0..eea6e19 100644
--- a/ice_validator/tests/utils/nested_iterables.py
+++ b/ice_validator/tests/utils/nested_iterables.py
@@ -73,11 +73,13 @@ def find_all_get_param_in_yml(yml):
params = []
for k, v in yml.items():
if k == 'get_param' and v not in os_pseudo_parameters:
+ if isinstance(v, list) and not isinstance(v[0], dict):
+ params.append(v[0])
+ elif not isinstance(v, dict) and isinstance(v, str):
+ params.append(v)
for item in (v if isinstance(v, list) else [v]):
if isinstance(item, dict):
params.extend(find_all_get_param_in_yml(item))
- elif isinstance(item, str):
- params.append(item)
continue
elif k == 'list_join':
for item in (v if isinstance(v, list) else [v]):
diff --git a/ice_validator/tests/utils/network_roles.py b/ice_validator/tests/utils/network_roles.py
index 5a551ab..fbe6dce 100644
--- a/ice_validator/tests/utils/network_roles.py
+++ b/ice_validator/tests/utils/network_roles.py
@@ -161,3 +161,20 @@ def is_valid_ipv6_address(ip_address):
except (OSError, socket.error):
return False
return True
+
+
+def property_uses_get_resource(resource, property_name):
+ '''
+ returns true if a port's network property
+ uses the get_resource function
+ '''
+ if not isinstance(resource, dict):
+ return False
+ if 'properties' not in resource:
+ return False
+ for k1, v1 in resource["properties"].items():
+ if k1 != property_name:
+ continue
+ if "get_resource" in v1:
+ return True
+ return False
diff --git a/ice_validator/tests/utils/ports.py b/ice_validator/tests/utils/ports.py
index 51e920a..4d0b4ca 100644
--- a/ice_validator/tests/utils/ports.py
+++ b/ice_validator/tests/utils/ports.py
@@ -177,3 +177,21 @@ def get_invalid_ip_addresses(resources, port_property):
invalid_ip_addresses.append(ip_address)
return invalid_ip_addresses
+
+
+def is_reserved_port(port_id):
+ '''
+ Checks to see if the resource id for a port follows
+ the reserve port concept
+ '''
+ formats = [
+ ["port_id",
+ re.compile(r'reserve_port_(.+?)_floating_ip_\d+')],
+ ["port_id",
+ re.compile(r'reserve_port_(.+?)_floating_v6_ip_\d+')],
+ ]
+ for f in formats:
+ m = f[1].match(port_id.lower())
+ if m and m.group(1):
+ return True
+ return False