def testHealthCheck(self): request = self.factory.get('/?type=db') request = Request(request) # print "debug>>", request.query_params['type'], "<<debug" plugin = DjangoDatabaseBackend() # print plugin.status, "debug" response = healthcheck(request) response.render() response_json = json.loads(response.content) self.assertEqual(response_json['status'], plugin.pretty_status()) request = self.factory.get('/?type=cache') request = Request(request) # print "debug>>", request.query_params['type'], "<<debug" plugin = CacheBackend() # print plugin.status, "debug" response = healthcheck(request) response.render() response_json = json.loads(response.content) self.assertEqual(response_json['status'], plugin.pretty_status()) request = self.factory.get('/?type=storage') request = Request(request) # print "debug>>", request.query_params['type'], "<<debug" plugin = DefaultFileStorageHealthCheck() # print plugin.status, "debug" response = healthcheck(request) response.render() response_json = json.loads(response.content) self.assertEqual(response_json['status'], plugin.pretty_status())
def healthcheck(request): plugin = None if request.query_params['type'] == 'db': plugin = DjangoDatabaseBackend() elif request.query_params['type'] == 'cache': plugin = CacheBackend() elif request.query_params['type'] == 'storage': plugin = DefaultFileStorageHealthCheck() if not plugin.status: # Will return True or None return Response({"status": plugin.pretty_status()}, status=500) return Response({"status": plugin.pretty_status()}, status=200)
def test_set_raises_cache_key_warning(self): cache_backend = CacheBackend() with self.assertRaises(ServiceReturnedUnexpectedResult): cache_backend.check_status()
def test_set_raises_generic(self): cache_backend = CacheBackend() with self.assertRaises(ServiceUnavailable): cache_backend.check_status()
def test_check_status_working(self): cache_backend = CacheBackend() self.assertTrue(cache_backend.check_status())