Select Git revision
omconstants.py
conftest.py 1.27 KiB
import logging
import os
import pytest
from clients.grafana_client import GrafanaClient
from tests.grafana import GrafanaContainer
@pytest.fixture(scope="session", autouse=True)
def session(request):
"""
Create one Grafana container per test run only (admin:admin)
:param request: /
:return: The Grafana container
"""
logging.debug("[fixture] creating grafana container")
container = GrafanaContainer()
logging.debug("[fixture] starting grafana container")
container.start()
os.environ['DASHBOARD_UI_ENDPOINT'] = container.get_url()
os.environ['SYSTEM_USERNAME'] = 'admin'
os.environ['SYSTEM_PASSWORD'] = 'admin'
# destructor
def stop_grafana():
container.stop()
request.addfinalizer(stop_grafana)
return container
@pytest.fixture(scope="function", autouse=True)
def cleanup(request, session):
"""
Clean up after each test by removing dashboards (=so it's empty again)
:param request: /
:param session: /
:return:
"""
logging.info("[fixture] clean dashboards")
grafana = GrafanaClient().connect()
for dashboard in grafana.search.search_dashboards():
grafana.dashboard.delete_dashboard(dashboard['uid'])
logging.debug(f"[fixture] deleted dashboard {dashboard['uid']}")