-@validates("R-62983", "R-86182")
-def test_network_format(heat_template):
- """
- Make sure all network properties use the allowed naming
- conventions
- """
- with open(heat_template) as fh:
- yml = yaml.load(fh)
-
- # skip if resources are not defined
- if "resources" not in yml:
- pytest.skip("No resources specified in the heat template")
-
- invalid_ports = []
- for k, v in yml["resources"].items():
- if not isinstance(v, dict):
- continue
- if "properties" not in v:
- continue
- if property_uses_get_resource(v, "network"):
- continue
- if v.get("type") != "OS::Neutron::Port":
- continue
- if not get_network_role_from_port(v):
- invalid_ports.append(k)
-
- assert not set(invalid_ports), (
- "Missing 'network' property or improperly "
- "formatted network parameter name on the "
- "following OS::Neutron::Ports: "
- "{}".format(", ".join(invalid_ports))
- )
-
-
-@validates("R-16968", "R-35666")