Skip to content
Snippets Groups Projects
Select Git revision
  • be121cd001ca3722a5ed4ed161e813f439ad00c7
  • develop default protected
  • inventory-auth
  • master protected
  • feature/POL1-813-error-report-sensu-check
  • 0.21
  • 0.20
  • 0.19
  • 0.18
  • 0.17
  • 0.16
  • 0.15
  • 0.14
  • 0.13
  • 0.12
  • 0.11
  • 0.10
  • 0.9
  • 0.8
  • 0.7
  • 0.6
  • 0.5
  • 0.4
  • 0.3
  • 0.2
25 results

conftest.py

Blame
  • user avatar
    Pelle Koster authored
    be121cd0
    History
    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]