+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()
+
+