Files
zulip/zerver/tests/test_health.py
Anders Kaseorg 48202389b8 ruff: Bump target-version from py38 to py310.
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2024-07-13 22:28:22 -07:00

28 lines
1003 B
Python

from unittest import mock
from zerver.lib.exceptions import ServerNotReadyError
from zerver.lib.test_classes import ZulipTestCase
class HealthTest(ZulipTestCase):
def test_healthy(self) -> None:
# We do not actually use rabbitmq in tests, so this fails
# unless it's mocked out.
with mock.patch("zerver.views.health.check_rabbitmq"):
result = self.client_get("/health")
self.assert_json_success(result)
def test_database_failure(self) -> None:
with (
mock.patch(
"zerver.views.health.check_database",
side_effect=ServerNotReadyError("Cannot query postgresql"),
),
self.assertLogs(level="ERROR") as logs,
self.assertRaisesRegex(ServerNotReadyError, r"^Cannot query postgresql$"),
):
self.client_get("/health")
self.assertIn(
"zerver.lib.exceptions.ServerNotReadyError: Cannot query postgresql", logs.output[0]
)