mirror of
https://github.com/sissbruecker/linkding
synced 2024-11-13 23:27:16 +00:00
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
|
from unittest.mock import patch
|
||
|
|
||
|
from django.db import connections
|
||
|
from django.test import TestCase
|
||
|
|
||
|
from bookmarks.views.settings import app_version
|
||
|
|
||
|
|
||
|
class HealthViewTestCase(TestCase):
|
||
|
|
||
|
def test_health_healthy(self):
|
||
|
response = self.client.get("/health")
|
||
|
|
||
|
self.assertEqual(response.status_code, 200)
|
||
|
|
||
|
response_body = response.json()
|
||
|
expected_body = {
|
||
|
'version': app_version,
|
||
|
'status': 'healthy'
|
||
|
}
|
||
|
self.assertDictEqual(response_body, expected_body)
|
||
|
|
||
|
def test_health_unhealhty(self):
|
||
|
with patch.object(connections['default'], 'ensure_connection') as mock_ensure_connection:
|
||
|
mock_ensure_connection.side_effect = Exception('Connection error')
|
||
|
|
||
|
response = self.client.get("/health")
|
||
|
|
||
|
self.assertEqual(response.status_code, 500)
|
||
|
|
||
|
response_body = response.json()
|
||
|
expected_body = {
|
||
|
'version': app_version,
|
||
|
'status': 'unhealthy'
|
||
|
}
|
||
|
self.assertDictEqual(response_body, expected_body)
|