Skip to content
Snippets Groups Projects
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)