Commit 3d9affca by Mushtaq Ali

heartbeat end point should send JsonResponse. - TNL-5244

parent 7fcd875e
import json
import datetime
from unittest import skipIf
from mock import patch, Mock
......@@ -17,7 +18,7 @@ class OperationalEndpointsTest(APITestCase):
"""
response = self.client.get(reverse('heartbeat'))
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.")
@patch('notesserver.views.get_es')
......@@ -28,7 +29,7 @@ class OperationalEndpointsTest(APITestCase):
mocked_get_es.return_value.ping.return_value = False
response = self.client.get(reverse('heartbeat'))
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")
def test_heartbeat_failure_db(self, mocked_cursor_wrapper):
......@@ -38,7 +39,7 @@ class OperationalEndpointsTest(APITestCase):
mocked_cursor_wrapper.side_effect = Exception
response = self.client.get(reverse('heartbeat'))
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):
"""
......
......@@ -3,6 +3,8 @@ import datetime
from django.db import connection
from django.conf import settings
from django.http import JsonResponse
from rest_framework import status
from rest_framework.permissions import AllowAny
from rest_framework.response import Response
......@@ -38,12 +40,12 @@ def heartbeat(request): # pylint: disable=unused-argument
try:
db_status()
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():
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'])
......
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