harness.cleanup()
-def _set_grafana_config(harness: Harness):
- harness.update_config(
- {
- "grafana-url": "http://prometheus:1234",
- "grafana-user": "user",
- "grafana-password": "password",
- }
- )
-
-
-def test_default_grafana_config_is_invalid_charm_is_blocked(harness: Harness):
- harness.charm.on.config_changed.emit()
- assert type(harness.charm.unit.status) == BlockedStatus
- assert (
- "need grafana-url, grafana-user, grafana-password config"
- == harness.charm.unit.status.message
- )
-
-
def test_missing_relations(harness: Harness):
- _set_grafana_config(harness)
harness.charm.on.config_changed.emit()
assert type(harness.charm.unit.status) == BlockedStatus
assert all(
)
-def test_grafana_url_without_schema_block_status(harness: Harness):
- harness.update_config(
- {"grafana-url": "foo.com", "grafana-user": "user", "grafana-password": "password"}
- )
- assert type(harness.charm.unit.status) == BlockedStatus
- assert "Invalid value for grafana-url config: 'foo.com'" == harness.charm.unit.status.message
-
-
-def test_grafana_url_with_port_without_schema_block_status(harness: Harness):
- harness.update_config(
- {"grafana-url": "foo.com:9090", "grafana-user": "user", "grafana-password": "password"}
- )
- assert type(harness.charm.unit.status) == BlockedStatus
- assert (
- "Invalid value for grafana-url config: 'foo.com:9090'" == harness.charm.unit.status.message
- )
-
-
-def test_grafana_url_without_port_is_valid(harness: Harness):
- _add_relations(harness)
- harness.update_config(
- {"grafana-url": "http://foo", "grafana-user": "user", "grafana-password": "password"}
- )
- assert harness.charm.unit.status == ActiveStatus()
-
-
-def test_grafana_url_with_port_is_valid(harness: Harness):
- _add_relations(harness)
- harness.update_config(
- {"grafana-url": "http://foo:90", "grafana-user": "user", "grafana-password": "password"}
- )
- assert harness.charm.unit.status == ActiveStatus()
-
-
def test_ready(harness: Harness):
- _set_grafana_config(harness)
_add_relations(harness)
assert harness.charm.unit.status == ActiveStatus()
def test_container_stops_after_relation_broken(harness: Harness):
- _set_grafana_config(harness)
harness.charm.on[container_name].pebble_ready.emit(container_name)
container = harness.charm.unit.get_container(container_name)
relation_ids = _add_relations(harness)