Commit 3d9affca by Mushtaq Ali

heartbeat end point should send JsonResponse. - TNL-5244

parent 7fcd875e
import json
import datetime import datetime
from unittest import skipIf from unittest import skipIf
from mock import patch, Mock from mock import patch, Mock
...@@ -17,7 +18,7 @@ class OperationalEndpointsTest(APITestCase): ...@@ -17,7 +18,7 @@ class OperationalEndpointsTest(APITestCase):
""" """
response = self.client.get(reverse('heartbeat')) response = self.client.get(reverse('heartbeat'))
self.assertEquals(response.status_code, 200) self.assertEquals(response.status_code, 200)
self.assertEquals(response.data, {"OK": True}) self.assertEquals(json.loads(response.content), {"OK": True})
@skipIf(settings.ES_DISABLED, "Do not test if Elasticsearch service is disabled.") @skipIf(settings.ES_DISABLED, "Do not test if Elasticsearch service is disabled.")
@patch('notesserver.views.get_es') @patch('notesserver.views.get_es')
...@@ -28,7 +29,7 @@ class OperationalEndpointsTest(APITestCase): ...@@ -28,7 +29,7 @@ class OperationalEndpointsTest(APITestCase):
mocked_get_es.return_value.ping.return_value = False mocked_get_es.return_value.ping.return_value = False
response = self.client.get(reverse('heartbeat')) response = self.client.get(reverse('heartbeat'))
self.assertEquals(response.status_code, 500) self.assertEquals(response.status_code, 500)
self.assertEquals(response.data, {"OK": False, "check": "es"}) self.assertEquals(json.loads(response.content), {"OK": False, "check": "es"})
@patch("django.db.backends.utils.CursorWrapper") @patch("django.db.backends.utils.CursorWrapper")
def test_heartbeat_failure_db(self, mocked_cursor_wrapper): def test_heartbeat_failure_db(self, mocked_cursor_wrapper):
...@@ -38,7 +39,7 @@ class OperationalEndpointsTest(APITestCase): ...@@ -38,7 +39,7 @@ class OperationalEndpointsTest(APITestCase):
mocked_cursor_wrapper.side_effect = Exception mocked_cursor_wrapper.side_effect = Exception
response = self.client.get(reverse('heartbeat')) response = self.client.get(reverse('heartbeat'))
self.assertEquals(response.status_code, 500) self.assertEquals(response.status_code, 500)
self.assertEquals(response.data, {"OK": False, "check": "db"}) self.assertEquals(json.loads(response.content), {"OK": False, "check": "db"})
def test_root(self): def test_root(self):
""" """
......
...@@ -3,6 +3,8 @@ import datetime ...@@ -3,6 +3,8 @@ import datetime
from django.db import connection from django.db import connection
from django.conf import settings from django.conf import settings
from django.http import JsonResponse
from rest_framework import status from rest_framework import status
from rest_framework.permissions import AllowAny from rest_framework.permissions import AllowAny
from rest_framework.response import Response from rest_framework.response import Response
...@@ -38,12 +40,12 @@ def heartbeat(request): # pylint: disable=unused-argument ...@@ -38,12 +40,12 @@ def heartbeat(request): # pylint: disable=unused-argument
try: try:
db_status() db_status()
except Exception: except Exception:
return Response({"OK": False, "check": "db"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) return JsonResponse({"OK": False, "check": "db"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
if not settings.ES_DISABLED and not get_es().ping(): if not settings.ES_DISABLED and not get_es().ping():
return Response({"OK": False, "check": "es"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) return JsonResponse({"OK": False, "check": "es"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
return Response({"OK": True}) return JsonResponse({"OK": True}, status=status.HTTP_200_OK)
@api_view(['GET']) @api_view(['GET'])
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment