Skip to content
Snippets Groups Projects
Commit c3ac12be authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

update tests

parent 0b973d28
Branches
Tags
No related merge requests found
......@@ -7,11 +7,11 @@ import pathlib
import re
import string
import threading
from brian_dashboard_manager import environment
from brian_dashboard_manager.grafana.utils.request import TokenRequest
import pytest
import brian_dashboard_manager
import responses
from brian_dashboard_manager import environment
from brian_dashboard_manager.grafana.utils.request import TokenRequest
@pytest.fixture
......
......@@ -323,17 +323,24 @@ def generate_folder(data):
@responses.activate
def test_provision_aggregate(data_config, mocker, client):
def create_dashboard(_, dash, folder=None):
def create_dashboard(_, dash, *args, folder=None, **kwargs):
return dash
def list_dashboards(_, folder):
return []
mocker.patch(
'brian_dashboard_manager.grafana.provision.create_dashboard',
create_dashboard)
mocker.patch(
'brian_dashboard_manager.grafana.provision.list_folder_dashboards',
list_dashboards)
request = TokenRequest(**data_config, token='test')
fake_folder = generate_folder({'uid': 'aggtest', 'title': 'aggtest'})
result = provision_aggregate(request, fake_folder, TEST_DASHBOARD,
'test_datasource')
'test_datasource', {})
panels = result['panels']
expected_title = f'Aggregate - {TEST_DASHBOARD["dashboard_name"]}'
assert result['title'] == expected_title
......
import pytest
import responses
from concurrent.futures import ThreadPoolExecutor
from brian_dashboard_manager.grafana.provision import provision_folder, provision
from brian_dashboard_manager.inventory_provider.interfaces import get_nren_regions
from brian_dashboard_manager.services.api import fetch_services
......@@ -722,19 +722,19 @@ def populate_inventory(get_test_data, data_config):
@pytest.mark.parametrize(
"folder_name, excluded_nrens, expected_nrens",
[
("NREN Access", [], ['CESNET', 'GEANT', 'KIAE', 'LITNET', 'SWITCH']),
("NREN Access", ["GEANT", "KIAE"], ['CESNET', 'LITNET', 'SWITCH']),
("NREN Access", [], {'CESNET', 'GEANT', 'KIAE', 'LITNET', 'SWITCH'}),
("NREN Access", ["GEANT", "KIAE"], {'CESNET', 'LITNET', 'SWITCH'}),
(
"NREN Access",
[],
["LITNET", "CESNET", "GEANT", "KIAE", "SWITCH"],
"NREN Access",
[],
{"LITNET", "CESNET", "GEANT", "KIAE", "SWITCH"},
),
(
"NREN Access",
["GEANT"],
["LITNET", "CESNET", "KIAE", "SWITCH"],
"NREN Access",
["GEANT"],
{"LITNET", "CESNET", "KIAE", "SWITCH"},
),
("testfolder", ["GEANT"], ["KIAE", "SWITCH"]),
("testfolder", ["GEANT"], {"KIAE", "SWITCH"}),
],
)
def test_provision_nren_folder(
......@@ -774,7 +774,8 @@ def test_provision_nren_folder(
services = fetch_services(data_config['reporting_provider'])
regions = get_nren_regions(data_config['inventory_provider'])
result = provision_folder(
result = [f.result() for f in provision_folder(
ThreadPoolExecutor(),
mock_grafana.request,
folder_name,
dashboards["NREN"],
......@@ -782,10 +783,10 @@ def test_provision_nren_folder(
regions,
"testdatasource",
excluded_nrens,
)
assert len(result) == len(expected_nrens)
for i, nren in enumerate(result):
assert result[i]["title"] in expected_nrens
)]
nrens = set([r["title"] for r in result])
assert nrens == expected_nrens
for i, nren in enumerate(nrens):
if "NREN" in folder_name:
# Every NREN dashboard must have at least 4 panels
# (3 default panels and 1 per ifc)
......@@ -829,7 +830,7 @@ def test_provision(
'brian_dashboard_manager.grafana.provision.get_gws_indirect')
_mocked_gws_indirect.return_value = []
provision(data_config, raise_exceptions=True)
provision(data_config)
@responses.activate
......@@ -868,7 +869,7 @@ def test_provision_re_peer_dashboard(
data_config["organizations"] = [
{"name": "Testorg1", "excluded_nrens": ["GEANT"], "excluded_dashboards": []},
]
provision(data_config, raise_exceptions=True)
provision(data_config)
folder_uid = "RE_Peer"
assert len(mock_grafana.dashboards_by_folder_uid[folder_uid]) == 1
panels = mock_grafana.dashboards_by_folder_uid[folder_uid][0]["panels"]
......@@ -930,7 +931,8 @@ def test_provision_nren_category(
services = fetch_services(data_config['reporting_provider'])
regions = get_nren_regions(data_config['inventory_provider'])
result = provision_folder(
result = list(provision_folder(
ThreadPoolExecutor(),
mock_grafana.request,
folder_name,
dashboards[dashboard_id],
......@@ -938,5 +940,5 @@ def test_provision_nren_category(
regions,
"testdatasource",
[],
)
))
assert len(result) == expected_dashboard_count
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment