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

added addresses to interface output

parent 30f61475
No related branches found
No related tags found
No related merge requests found
......@@ -148,11 +148,19 @@ def list_interfaces(netconf_config):
def _ifc_info(e):
name = e.find('name')
assert name is not None, "expected interface 'name' child element"
description = e.find('description')
return {
ifc = {
'name': name.text,
'description': description.text if description is not None else ''
'description': ''
}
description = e.find('description')
if description is not None:
ifc['description'] = description.text
ifc['ipv4'] = e.xpath('./family/inet/address/name/text()')
ifc['ipv6'] = e.xpath('./family/inet6/address/name/text()')
return ifc
for i in netconf_config.xpath('//configuration/interfaces/interface'):
info = _ifc_info(i)
......
......@@ -44,6 +44,10 @@ def netconf_doc(mocker, router, data_config):
def test_interface_list(netconf_doc):
hostname = netconf_doc.xpath('//configuration/groups/system/host-name/text()')[0]
if not hostname.startswith('mx1.mad.es'):
return
schema = {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "array",
......@@ -51,9 +55,17 @@ def test_interface_list(netconf_doc):
"type": "object",
"properties": {
"name": {"type": "string"},
"description": {"type": "string"}
"description": {"type": "string"},
"ipv4": {
"type": "array",
"items": {"type": "string"}
},
"ipv6": {
"type": "array",
"items": {"type": "string"}
}
},
"required": ["name", "description"],
"required": ["name", "description", "ipv4", "ipv6"],
"additionalProperties": False
}
}
......
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