Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scenario 4 compat #193

Merged
merged 1 commit into from
Jun 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
8 changes: 4 additions & 4 deletions tests/scenario/test_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def test_start_traefik_is_not_running(*_):
],
)
out = Context(charm_type=TraefikIngressCharm).run("start", state)
assert out.status.unit == ("waiting", f"waiting for service: '{_TRAEFIK_SERVICE_NAME}'")
assert out.unit_status == ("waiting", f"waiting for service: '{_TRAEFIK_SERVICE_NAME}'")


@patch("charm.KubernetesServicePatch")
Expand All @@ -53,7 +53,7 @@ def test_start_traefik_no_hostname(*_):
containers=[Container(name="traefik", can_connect=False)],
)
out = Context(charm_type=TraefikIngressCharm).run("start", state)
assert out.status.unit == ("waiting", "gateway address unavailable")
assert out.unit_status == ("waiting", "gateway address unavailable")


@patch("charm.KubernetesServicePatch")
Expand All @@ -67,7 +67,7 @@ def test_start_traefik_active(*_):
containers=[Container(name="traefik", can_connect=False)],
)
out = Context(charm_type=TraefikIngressCharm).run("start", state)
assert out.status.unit == ("active", "")
assert out.unit_status == ("active", "")


@patch("charm.KubernetesServicePatch")
Expand All @@ -79,4 +79,4 @@ def test_start_traefik_invalid_routing_mode(*_):
containers=[Container(name="traefik", can_connect=False)],
)
out = Context(charm_type=TraefikIngressCharm).run("start", state)
assert out.status.unit == ("blocked", "invalid routing mode: invalid_routing; see logs.")
assert out.unit_status == ("blocked", "invalid routing mode: invalid_routing; see logs.")
8 changes: 4 additions & 4 deletions tests/scenario/test_status.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ def test_start_traefik_is_not_running(self, *_):
out = Context(charm_type=TraefikIngressCharm).run("start", self.state)

# THEN unit status is `waiting`
self.assertEqual(out.status.unit, ("waiting", "waiting for service: 'traefik'"))
self.assertEqual(out.unit_status, ("waiting", "waiting for service: 'traefik'"))

@patch("charm.TraefikIngressCharm.external_host", PropertyMock(return_value=False))
def test_start_traefik_no_hostname(self, *_):
Expand All @@ -34,7 +34,7 @@ def test_start_traefik_no_hostname(self, *_):
out = Context(charm_type=TraefikIngressCharm).run("start", self.state)

# THEN unit status is `waiting`
self.assertEqual(out.status.unit, ("waiting", "gateway address unavailable"))
self.assertEqual(out.unit_status, ("waiting", "gateway address unavailable"))

@patch("charm.TraefikIngressCharm.external_host", PropertyMock(return_value="foo.bar"))
@patch("charm.TraefikIngressCharm._traefik_service_running", PropertyMock(return_value=True))
Expand All @@ -45,7 +45,7 @@ def test_start_traefik_active(self, *_):
out = Context(charm_type=TraefikIngressCharm).run("start", self.state)

# THEN unit status is `active`
self.assertEqual(out.status.unit, ("active", ""))
self.assertEqual(out.unit_status, ("active", ""))

@patch("charm.TraefikIngressCharm.external_host", PropertyMock(return_value=False))
def test_start_traefik_invalid_routing_mode(self, *_):
Expand All @@ -61,7 +61,7 @@ def test_start_traefik_invalid_routing_mode(self, *_):

# THEN unit status is `blocked`
self.assertEqual(
out.status.unit, ("blocked", "invalid routing mode: invalid_routing; see logs.")
out.unit_status, ("blocked", "invalid routing mode: invalid_routing; see logs.")
)


Expand Down
12 changes: 6 additions & 6 deletions tests/scenario/test_workload_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,14 +26,14 @@ def setUp(self) -> None:
def test_workload_version_is_set_on_update_status(self, *_):
# GIVEN an initial state without the workload version set
out = self.context.run("start", self.state)
self.assertEqual(out.status.unit, ActiveStatus(""))
self.assertEqual(out.status.workload_version, "")
self.assertEqual(out.unit_status, ActiveStatus(""))
self.assertEqual(out.workload_version, "")

# WHEN update-status is triggered
out = self.context.run("update-status", out)

# THEN the workload version is set
self.assertEqual(out.status.workload_version, "1.2.3")
self.assertEqual(out.workload_version, "1.2.3")

@patch("charm.TraefikIngressCharm.external_host", PropertyMock(return_value="foo.bar"))
@patch("charm.TraefikIngressCharm._traefik_service_running", PropertyMock(return_value=True))
Expand All @@ -42,11 +42,11 @@ def test_workload_version_clears_on_stop(self, *_):
# GIVEN a state after update-status (which we know sets the workload version)
# GIVEN an initial state with the workload version set
out = self.context.run("update-status", self.state)
self.assertEqual(out.status.unit, ActiveStatus(""))
self.assertEqual(out.status.workload_version, "1.2.3")
self.assertEqual(out.unit_status, ActiveStatus(""))
self.assertEqual(out.workload_version, "1.2.3")

# WHEN the charm is stopped
out = self.context.run("stop", out)

# THEN workload version is cleared
self.assertEqual(out.status.workload_version, "")
self.assertEqual(out.workload_version, "")
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ allowlist_externals = /usr/bin/env
description = Scenario tests
deps =
pytest
ops-scenario>3
ops-scenario>=4.0
-r{toxinidir}/requirements.txt
commands =
pytest -v --tb native {[vars]tst_path}/scenario --log-cli-level=INFO -s {posargs}
Expand Down