-
Notifications
You must be signed in to change notification settings - Fork 24
/
Copy pathtest_grafana_auth.py
69 lines (59 loc) · 2.07 KB
/
test_grafana_auth.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/usr/bin/env python3
# Copyright 2022 Canonical Ltd.
# See LICENSE file for licensing details.
"""Tests the library using dummy requirer and provider charms.
It tests that the charms are able to relate and to exchange data.
"""
import asyncio
import logging
import pytest
from helpers import check_grafana_is_ready, get_grafana_environment_variable, oci_image
logger = logging.getLogger(__name__)
tester_resources = {
"grafana-tester-image": oci_image(
"./tests/integration/grafana-tester/metadata.yaml", "grafana-tester-image"
)
}
grafana_resources = {
"grafana-image": oci_image("./metadata.yaml", "grafana-image"),
"litestream-image": oci_image("./metadata.yaml", "litestream-image"),
}
@pytest.mark.abort_on_fail
async def test_auth_proxy_is_set(ops_test, grafana_charm, grafana_tester_charm):
grafana_app_name = "grafana"
tester_app_name = "grafana-tester"
await asyncio.gather(
ops_test.model.deploy(
grafana_charm,
resources=grafana_resources,
application_name=grafana_app_name,
trust=True,
),
ops_test.model.deploy(
grafana_tester_charm, resources=tester_resources, application_name=tester_app_name
),
)
await ops_test.model.wait_for_idle(
apps=[grafana_app_name],
status="active",
wait_for_at_least_units=1,
timeout=300,
)
await ops_test.model.wait_for_idle(
apps=[tester_app_name],
status="active",
wait_for_at_least_units=1,
timeout=300,
)
await check_grafana_is_ready(ops_test, grafana_app_name, 0)
await ops_test.model.add_relation(
"{}:grafana-auth".format(grafana_app_name), "{}:grafana-auth".format(tester_app_name)
)
await ops_test.model.wait_for_idle(apps=[grafana_app_name], status="active")
_, actual_variable_value, _ = await get_grafana_environment_variable(
ops_test=ops_test,
app_name=grafana_app_name,
container_name="grafana",
env_var="GF_AUTH_PROXY_ENABLED",
)
assert actual_variable_value == "True"