From 9d9f0c2f75a535b65f830510dc986c211cdeb6f6 Mon Sep 17 00:00:00 2001 From: Awais Date: Fri, 19 Dec 2014 17:08:25 +0500 Subject: [PATCH] ECOM-759 if course is none return 404 error code. --- lms/djangoapps/verify_student/tests/test_views.py | 8 ++++++++ lms/djangoapps/verify_student/views.py | 3 +++ 2 files changed, 11 insertions(+) diff --git a/lms/djangoapps/verify_student/tests/test_views.py b/lms/djangoapps/verify_student/tests/test_views.py index 6883eb01d8..053bf26cdd 100644 --- a/lms/djangoapps/verify_student/tests/test_views.py +++ b/lms/djangoapps/verify_student/tests/test_views.py @@ -716,6 +716,14 @@ class TestMidCourseReverifyView(ModuleStoreTestCase): # enrolled in a verified course, and the window is open self.assertEquals(response.status_code, 200) + @patch('verify_student.views.render_to_response', render_mock) + def test_midcourse_reverify_invalid_course_id(self): + # if course id is invalid return 400 + invalid_course_key = CourseLocator('edx', 'not', 'valid') + url = reverse('verify_student_midcourse_reverify', kwargs={'course_id': unicode(invalid_course_key)}) + response = self.client.get(url) + self.assertEqual(response.status_code, 404) + @override_settings(MODULESTORE=MODULESTORE_CONFIG) class TestReverificationBanner(ModuleStoreTestCase): diff --git a/lms/djangoapps/verify_student/views.py b/lms/djangoapps/verify_student/views.py index 350935f1da..eaf4fe1a2a 100644 --- a/lms/djangoapps/verify_student/views.py +++ b/lms/djangoapps/verify_student/views.py @@ -1061,6 +1061,9 @@ class MidCourseReverifyView(View): """ course_id = CourseKey.from_string(course_id) course = modulestore().get_course(course_id) + if course is None: + raise Http404 + course_enrollment = CourseEnrollment.get_or_create_enrollment(request.user, course_id) course_enrollment.update_enrollment(mode="verified") course_enrollment.emit_event(EVENT_NAME_USER_ENTERED_MIDCOURSE_REVERIFY_VIEW)