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)