mocker.patch("charm.KubernetesServicePatch", lambda x, y: None)
harness = Harness(OsmNgUiCharm)
harness.begin()
- harness.charm.unit.get_container("ng-ui").push(
- "/etc/nginx/sites-available/default", sites_default, make_dirs=True
- )
+ container = harness.charm.unit.get_container("ng-ui")
+ harness.set_can_connect(container, True)
+ container.push("/etc/nginx/sites-available/default", sites_default, make_dirs=True)
yield harness
harness.cleanup()
def test_ready(harness: Harness):
- _add_relation(harness)
+ _add_nbi_relation(harness)
assert harness.charm.unit.status == ActiveStatus()
def test_container_stops_after_relation_broken(harness: Harness):
harness.charm.on[container_name].pebble_ready.emit(container_name)
container = harness.charm.unit.get_container(container_name)
- relation_id = _add_relation(harness)
+ relation_id = _add_nbi_relation(harness)
check_service_active(container, service_name)
harness.remove_relation(relation_id)
with pytest.raises(CharmError):
check_service_active(container, service_name)
+ assert type(harness.charm.unit.status) == BlockedStatus
+ assert harness.charm.unit.status.message == "need nbi relation"
-def _add_relation(harness: Harness):
- # Add nbi relation
+def _add_nbi_relation(harness: Harness):
relation_id = harness.add_relation("nbi", "nbi")
harness.add_relation_unit(relation_id, "nbi/0")
- harness.update_relation_data(relation_id, "nbi", {"host": "nbi", "port": 9999})
+ harness.update_relation_data(relation_id, "nbi", {"host": "nbi", "port": "9999"})
return relation_id