test_netconf_validation.py 677 B
import glob
import os
import re
import pytest
from lxml import etree
from inventory_provider.juniper import validate_netconf_config
TEST_DATA_DIRNAME = os.path.join(
os.path.dirname(__file__), 'data')
AVAILABLE_NETCONF_HOSTS = []
for fn in glob.glob(os.path.join(TEST_DATA_DIRNAME, '*-netconf.xml')):
m = re.match('(.*)-netconf.xml', os.path.basename(fn))
assert m # sanity
AVAILABLE_NETCONF_HOSTS.append(m.group(1))
@pytest.mark.parametrize('hostname', AVAILABLE_NETCONF_HOSTS)
def test_netconf_docs(hostname):
filename = os.path.join(TEST_DATA_DIRNAME, f'{hostname}-netconf.xml')
doc = etree.parse(filename)
validate_netconf_config(doc)