From 171a3c93360bd92d78d5393674861c97268a3bdf Mon Sep 17 00:00:00 2001 From: Pelle Koster <pelle.koster@nginfra.nl> Date: Mon, 11 Mar 2024 14:26:20 +0100 Subject: [PATCH] [POL1-0703] add support for IC1 dashboard --- .gitignore | 2 ++ inventory_provider/routes/poller.py | 4 ++++ test/test_general_poller_routes.py | 23 +++++++++++++++++++++-- tox.ini | 3 +-- 4 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index bef7852d..aa9230d7 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ venv .vscode docs/build +errors.log +info.log \ No newline at end of file diff --git a/inventory_provider/routes/poller.py b/inventory_provider/routes/poller.py index 5a4c4ae1..3855d2c4 100644 --- a/inventory_provider/routes/poller.py +++ b/inventory_provider/routes/poller.py @@ -118,6 +118,7 @@ class BRIAN_DASHBOARDS(Enum): GWS_UPSTREAMS = auto() LHCONE = auto() CAE1 = auto() + IC1 = auto() COPERNICUS = auto() # NREN customer @@ -480,6 +481,9 @@ def _get_dashboards(interface): if router == 'mx1.lon.uk.geant.net' \ and re.match(r'^ae12(\.\d+|$)$', ifc_name): yield BRIAN_DASHBOARDS.CAE1 + if router == 'rt1.mar.fr.geant.net' \ + and re.match(r'^ae12(\.\d+|$)$', ifc_name): + yield BRIAN_DASHBOARDS.IC1 if re.match(r'PHY UPSTREAM\s', description): yield BRIAN_DASHBOARDS.GWS_PHY_UPSTREAM regex = r'(PHY|LAG|(SRV_(GLOBAL|LHCONE|MDVPN|IAS|CLS|L3VPN))) CUSTOMER\s' diff --git a/test/test_general_poller_routes.py b/test/test_general_poller_routes.py index 03366d6b..a42700ac 100644 --- a/test/test_general_poller_routes.py +++ b/test/test_general_poller_routes.py @@ -315,8 +315,27 @@ def test_interface_dashboard_mapping(description, expected_dashboards): 'description': description } dashboards = poller._get_dashboards(interface) - dashboards = [d.name for d in dashboards] - assert set(list(dashboards)) == set(expected_dashboards) + assert set(d.name for d in dashboards) == set(expected_dashboards) + + +def test__CAE_1_dashboards(): + interface = { + 'router': 'mx1.lon.uk.geant.net', + 'name': 'ae12.123', + 'description': '' + } + dashboards = poller._get_dashboards(interface) + assert set(d.name for d in dashboards) == {"CAE1"} + + +def test_POL1_703_IC1_dashboards(): + interface = { + 'router': 'rt1.mar.fr.geant.net', + 'name': 'ae12.123', + 'description': '' + } + dashboards = poller._get_dashboards(interface) + assert set(d.name for d in dashboards) == {"IC1"} @pytest.mark.parametrize('interface,customers,dashboard_info', [ diff --git a/tox.ini b/tox.ini index e7ea727d..e9bfe329 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,6 @@ envlist = py311 [flake8] -exclude = venv,.tox,build max-line-length = 120 [coverage:run] @@ -13,7 +12,7 @@ passenv = TEST_OPSDB_HOSTNAME,TEST_OPSDB_DBNAME,TEST_OPSDB_USERNAME,TEST_OPSDB_P deps = pytest-xdist pytest-cov - flake8 + flake8 inventory_provider test circuit_tree.py -r requirements.txt #install_command = pip install --pre --extra-index-url http://pip.geant.net/ --trusted-host pip.geant.net {opts} {packages} -- GitLab