Skip to content
Snippets Groups Projects
Commit a580f9b7 authored by Erik Reid's avatar Erik Reid
Browse files

added test of test_interface_addresses_list

parent 5e06b8bd
No related branches found
No related tags found
No related merge requests found
......@@ -102,3 +102,53 @@ def test_bgp_list(netconf_doc):
def test_snmp_community_string(mocked_netifaces, netconf_doc):
assert juniper.snmp_community_string(netconf_doc) == '0pBiFbD'
def test_interface_addresses_list(netconf_doc):
schema = {
"$schema": "http://json-schema.org/draft-07/schema#",
"definitions": {
"v4a": {
"type": "string",
"pattern": r'^(\d+\.){3}\d+$'
},
"v6a": {
"type": "string",
"pattern": r'^([a-f\d]{4}:){7}[a-f\d]{4}$'
},
"v4i": {
"type": "string",
"pattern": r'^(\d+\.){3}\d+/\d+$'
},
"v6i": {
"type": "string",
"pattern": r'^[a-f\d:]+/\d+$'
}
},
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"oneOf": [
{"$ref": "#/definitions/v4a"},
{"$ref": "#/definitions/v6a"}
]
},
"interface address": {
"oneOf": [
{"$ref": "#/definitions/v4i"},
{"$ref": "#/definitions/v6i"}
]
},
"interface name": {"type": "string"},
},
"required": ["name", "interface address", "interface name"],
"additionalProperties": False
}
}
addresses = list(juniper.interface_addresses(netconf_doc))
jsonschema.validate(addresses, schema)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment