- assert (
- unit.workload_status_message
- == "need grafana-url, grafana-user, grafana-password, prometheus-url config"
- )
-
- await ops_test.model.applications[MON_APP].set_config({"prometheus-url": "a_value"})
- async with ops_test.fast_forward():
- await ops_test.model.wait_for_idle(apps=[MON_APP], status="blocked")
- assert (
- unit.workload_status_message == "need grafana-url, grafana-user, grafana-password config"
- )
-
- await ops_test.model.applications[MON_APP].set_config({"grafana-url": "new_value"})
- async with ops_test.fast_forward():
- await ops_test.model.wait_for_idle(apps=[MON_APP], status="blocked")
- assert unit.workload_status_message == "need grafana-user, grafana-password config"
-
- await ops_test.model.applications[MON_APP].set_config({"grafana-password": "new_value"})
- async with ops_test.fast_forward():
- await ops_test.model.wait_for_idle(apps=[MON_APP], status="blocked")
- assert unit.workload_status_message == "need grafana-user config"
-
- await ops_test.model.applications[MON_APP].set_config({"grafana-user": "new_value"})
- async with ops_test.fast_forward():
- await ops_test.model.wait_for_idle(apps=[MON_APP], status="blocked")
-
- assert unit.workload_status_message == "Invalid value for grafana-url config: 'new_value'"
- await ops_test.model.applications[MON_APP].set_config({"grafana-url": "http://valid:92"})
-
- async with ops_test.fast_forward():
- await ops_test.model.wait_for_idle(apps=[MON_APP], status="blocked")
-
- assert unit.workload_status_message == "Invalid value for prometheus-url config: 'a_value'"
- await ops_test.model.applications[MON_APP].set_config({"prometheus-url": "http://valid:95"})
-
-
-@pytest.mark.abort_on_fail
-async def test_mon_is_blocked_due_to_missing_relations(ops_test: OpsTest):
- async with ops_test.fast_forward():
- await ops_test.model.wait_for_idle(apps=[MON_APP], status="blocked")
- unit = ops_test.model.applications[MON_APP].units[0]