diff --git a/cms/urls.py b/cms/urls.py index 4fa5ea345b..610f0b35bf 100644 --- a/cms/urls.py +++ b/cms/urls.py @@ -44,7 +44,7 @@ urlpatterns = patterns( url(r'^event$', 'contentstore.views.event', name='event'), url(r'^xmodule/', include('pipeline_js.urls')), - url(r'^heartbeat$', include('heartbeat.urls')), + url(r'^heartbeat$', include('openedx.core.djangoapps.heartbeat.urls')), url(r'^user_api/', include('openedx.core.djangoapps.user_api.legacy_urls')), diff --git a/common/djangoapps/heartbeat/urls.py b/common/djangoapps/heartbeat/urls.py deleted file mode 100644 index c2fbdaa73e..0000000000 --- a/common/djangoapps/heartbeat/urls.py +++ /dev/null @@ -1,7 +0,0 @@ -from django.conf.urls import url, patterns - -urlpatterns = patterns( - '', - - url(r'^$', 'heartbeat.views.heartbeat', name='heartbeat'), -) diff --git a/lms/urls.py b/lms/urls.py index 4a5c753272..78a6f2d352 100644 --- a/lms/urls.py +++ b/lms/urls.py @@ -63,7 +63,7 @@ urlpatterns = ( url(r'^password_reset_done/$', 'django.contrib.auth.views.password_reset_done', name='password_reset_done'), - url(r'^heartbeat$', include('heartbeat.urls')), + url(r'^heartbeat$', include('openedx.core.djangoapps.heartbeat.urls')), # Note: these are older versions of the User API that will eventually be # subsumed by api/user listed below. diff --git a/common/djangoapps/heartbeat/__init__.py b/openedx/core/djangoapps/heartbeat/__init__.py similarity index 100% rename from common/djangoapps/heartbeat/__init__.py rename to openedx/core/djangoapps/heartbeat/__init__.py diff --git a/common/djangoapps/heartbeat/tests/__init__.py b/openedx/core/djangoapps/heartbeat/tests/__init__.py similarity index 100% rename from common/djangoapps/heartbeat/tests/__init__.py rename to openedx/core/djangoapps/heartbeat/tests/__init__.py diff --git a/common/djangoapps/heartbeat/tests/test_heartbeat.py b/openedx/core/djangoapps/heartbeat/tests/test_heartbeat.py similarity index 87% rename from common/djangoapps/heartbeat/tests/test_heartbeat.py rename to openedx/core/djangoapps/heartbeat/tests/test_heartbeat.py index 345ede2bb9..a7bf8341ac 100644 --- a/common/djangoapps/heartbeat/tests/test_heartbeat.py +++ b/openedx/core/djangoapps/heartbeat/tests/test_heartbeat.py @@ -27,7 +27,7 @@ class HeartbeatTestCase(ModuleStoreTestCase): self.assertEqual(response.status_code, 200) def test_sql_fail(self): - with patch('heartbeat.views.connection') as mock_connection: + with patch('openedx.core.djangoapps.heartbeat.views.connection') as mock_connection: mock_connection.cursor.return_value.execute.side_effect = DatabaseError response = self.client.get(self.heartbeat_url) self.assertEqual(response.status_code, 503) @@ -35,7 +35,7 @@ class HeartbeatTestCase(ModuleStoreTestCase): self.assertIn('SQL', response_dict) def test_modulestore_fail(self): - with patch('heartbeat.views.modulestore') as mock_modulestore: + with patch('openedx.core.djangoapps.heartbeat.views.modulestore') as mock_modulestore: mock_modulestore.return_value.heartbeat.side_effect = HeartbeatFailure('msg', 'service') response = self.client.get(self.heartbeat_url) self.assertEqual(response.status_code, 503) diff --git a/openedx/core/djangoapps/heartbeat/urls.py b/openedx/core/djangoapps/heartbeat/urls.py new file mode 100644 index 0000000000..6648dfc56d --- /dev/null +++ b/openedx/core/djangoapps/heartbeat/urls.py @@ -0,0 +1,10 @@ +""" +Urls for verifying health (heartbeat) of the app. +""" +from django.conf.urls import url, patterns + +urlpatterns = patterns( + '', + + url(r'^$', 'openedx.core.djangoapps.heartbeat.views.heartbeat', name='heartbeat'), +) diff --git a/common/djangoapps/heartbeat/views.py b/openedx/core/djangoapps/heartbeat/views.py similarity index 92% rename from common/djangoapps/heartbeat/views.py rename to openedx/core/djangoapps/heartbeat/views.py index 80f1c20244..e61b986e09 100644 --- a/common/djangoapps/heartbeat/views.py +++ b/openedx/core/djangoapps/heartbeat/views.py @@ -1,3 +1,6 @@ +""" +Views for verifying the health (heartbeat) of the app. +""" from xmodule.modulestore.django import modulestore from dogapi import dog_stats_api from util.json_request import JsonResponse @@ -7,7 +10,7 @@ from xmodule.exceptions import HeartbeatFailure @dog_stats_api.timed('edxapp.heartbeat') -def heartbeat(request): +def heartbeat(request): # pylint: disable=unused-argument """ Simple view that a loadbalancer can check to verify that the app is up. Returns a json doc of service id: status or message. If the status for any service is anything other than True,