-
Pelle Koster authoredPelle Koster authored
conftest.py 1.25 KiB
import json
import pathlib
from brian_polling_manager.interface_stats.cli import set_app_params
import pytest
DATA_DIR = pathlib.Path(__file__).parent / "data"
DATA_FILENAME_EXTENSION = "-interface-info.xml"
JUNIPER_ROUTERS = [
path.name[: -len(DATA_FILENAME_EXTENSION)]
for path in DATA_DIR.iterdir()
if path.name.endswith(DATA_FILENAME_EXTENSION)
]
@pytest.fixture
def data_dir():
return DATA_DIR
@pytest.fixture(autouse=True)
def app_params():
params = {
"testing": {
"dry_run": True,
"no-out": False,
"netconf-source-dir": DATA_DIR,
}
}
set_app_params(params)
yield params
set_app_params({})
def poller_interfaces():
file = DATA_DIR / "poller-interfaces.json"
return json.loads(file.read_text())
@pytest.fixture(scope="session")
def polled_interfaces():
polled = {}
for ifc in poller_interfaces():
if ifc["dashboards"]:
polled.setdefault(ifc["router"], set()).add(ifc["name"])
return polled
@pytest.fixture
def all_juniper_routers():
return JUNIPER_ROUTERS
@pytest.fixture(params=JUNIPER_ROUTERS)
def router_fqdn(request):
return request.param
@pytest.fixture()
def single_router_fqdn():
return JUNIPER_ROUTERS[0]