diff --git a/common/djangoapps/enrollment/tests/test_views.py b/common/djangoapps/enrollment/tests/test_views.py index c0fad28f9d..fef0e1f6e7 100644 --- a/common/djangoapps/enrollment/tests/test_views.py +++ b/common/djangoapps/enrollment/tests/test_views.py @@ -56,7 +56,6 @@ class EnrollmentTestMixin(object): enrollment_attributes=None, min_mongo_calls=0, max_mongo_calls=0, - enterprise_course_consent=None, linked_enterprise_customer=None, ): """ @@ -84,9 +83,6 @@ class EnrollmentTestMixin(object): if email_opt_in is not None: data['email_opt_in'] = email_opt_in - if enterprise_course_consent is not None: - data['enterprise_course_consent'] = enterprise_course_consent - if linked_enterprise_customer is not None: data['linked_enterprise_customer'] = linked_enterprise_customer @@ -966,82 +962,6 @@ class EnrollmentTest(EnrollmentTestMixin, ModuleStoreTestCase, APITestCase, Ente self.assertTrue(is_active) self.assertEqual(course_mode, updated_mode) - @override_settings(ENTERPRISE_SERVICE_WORKER_USERNAME='enterprise_worker') - @override_settings(ENABLE_ENTERPRISE_INTEGRATION=True) - def test_enterprise_course_enrollment_invalid_consent(self): - """Verify that the enterprise_course_consent must be a boolean. """ - UserFactory.create( - username='enterprise_worker', - email=self.EMAIL, - password=self.PASSWORD, - ) - CourseModeFactory.create( - course_id=self.course.id, - mode_slug=CourseMode.DEFAULT_MODE_SLUG, - mode_display_name=CourseMode.DEFAULT_MODE_SLUG, - ) - self.assert_enrollment_status( - expected_status=status.HTTP_400_BAD_REQUEST, - enterprise_course_consent='invalid', - as_server=True, - ) - - @httpretty.activate - @override_settings(ENTERPRISE_SERVICE_WORKER_USERNAME='enterprise_worker') - @override_settings(ENABLE_ENTERPRISE_INTEGRATION=True) - def test_enterprise_course_enrollment_api_error(self): - """Verify that enterprise service errors are handled properly. """ - UserFactory.create( - username='enterprise_worker', - email=self.EMAIL, - password=self.PASSWORD, - ) - CourseModeFactory.create( - course_id=self.course.id, - mode_slug=CourseMode.DEFAULT_MODE_SLUG, - mode_display_name=CourseMode.DEFAULT_MODE_SLUG, - ) - self.mock_enterprise_course_enrollment_post_api_failure() - self.assert_enrollment_status( - expected_status=status.HTTP_400_BAD_REQUEST, - enterprise_course_consent=True, - as_server=True, - username='enterprise_worker' - ) - self.assertEqual( - httpretty.last_request().path, - '/enterprise/api/v1/enterprise-course-enrollment/', - 'No request was made to the mocked enterprise-course-enrollment API' - ) - - @httpretty.activate - @override_settings(ENTERPRISE_SERVICE_WORKER_USERNAME='enterprise_worker') - @override_settings(ENABLE_ENTERPRISE_INTEGRATION=True) - def test_enterprise_course_enrollment_successful(self): - """Verify that the enrollment completes when the EnterpriseCourseEnrollment creation succeeds. """ - UserFactory.create( - username='enterprise_worker', - email=self.EMAIL, - password=self.PASSWORD, - ) - CourseModeFactory.create( - course_id=self.course.id, - mode_slug=CourseMode.DEFAULT_MODE_SLUG, - mode_display_name=CourseMode.DEFAULT_MODE_SLUG, - ) - self.mock_enterprise_course_enrollment_post_api(username=self.user.username, course_id=unicode(self.course.id)) - self.assert_enrollment_status( - expected_status=status.HTTP_200_OK, - enterprise_course_consent=True, - as_server=True, - username='enterprise_worker' - ) - self.assertEqual( - httpretty.last_request().path, - '/enterprise/api/v1/enterprise-course-enrollment/', - 'No request was made to the mocked enterprise-course-enrollment API' - ) - @httpretty.activate @override_settings(ENTERPRISE_SERVICE_WORKER_USERNAME='enterprise_worker') @override_settings(ENABLE_ENTERPRISE_INTEGRATION=True) diff --git a/common/djangoapps/enrollment/views.py b/common/djangoapps/enrollment/views.py index d788b74869..3dfdbd7cc3 100644 --- a/common/djangoapps/enrollment/views.py +++ b/common/djangoapps/enrollment/views.py @@ -595,50 +595,22 @@ class EnrollmentListView(APIView, ApiKeyPermissionMixIn): } ) - enterprise_course_consent = request.data.get('enterprise_course_consent') explicit_linked_enterprise = request.data.get('linked_enterprise_customer') - if (enterprise_course_consent or explicit_linked_enterprise) and has_api_key_permissions and enterprise_enabled(): + if explicit_linked_enterprise and has_api_key_permissions and enterprise_enabled(): enterprise_api_client = EnterpriseApiServiceClient() consent_client = ConsentApiServiceClient() - # We received an explicitly-linked EnterpriseCustomer for the enrollment - if explicit_linked_enterprise is not None: - try: - enterprise_api_client.post_enterprise_course_enrollment(username, unicode(course_id), None) - except EnterpriseApiException as error: - log.exception("An unexpected error occurred while creating the new EnterpriseCourseEnrollment " - "for user [%s] in course run [%s]", username, course_id) - raise CourseEnrollmentError(error.message) - kwargs = { - 'username': username, - 'course_id': unicode(course_id), - 'enterprise_customer_uuid': explicit_linked_enterprise, - } - consent_client.provide_consent(**kwargs) - - # We received an implicit "consent granted" parameter from ecommerce - # TODO: Once ecommerce has been deployed with explicit enterprise support, remove this - # entire chunk of logic, related tests, and any supporting methods no longer required. - elif enterprise_course_consent is not None: - # Check if the enterprise_course_enrollment is a boolean - if not isinstance(enterprise_course_consent, bool): - return Response( - status=status.HTTP_400_BAD_REQUEST, - data={ - 'message': (u"'{value}' is an invalid enterprise course consent value.").format( - value=enterprise_course_consent - ) - } - ) - try: - enterprise_api_client.post_enterprise_course_enrollment( - username, - unicode(course_id), - enterprise_course_consent - ) - except EnterpriseApiException as error: - log.exception("An unexpected error occurred while creating the new EnterpriseCourseEnrollment " - "for user [%s] in course run [%s]", username, course_id) - raise CourseEnrollmentError(error.message) + try: + enterprise_api_client.post_enterprise_course_enrollment(username, unicode(course_id), None) + except EnterpriseApiException as error: + log.exception("An unexpected error occurred while creating the new EnterpriseCourseEnrollment " + "for user [%s] in course run [%s]", username, course_id) + raise CourseEnrollmentError(error.message) + kwargs = { + 'username': username, + 'course_id': unicode(course_id), + 'enterprise_customer_uuid': explicit_linked_enterprise, + } + consent_client.provide_consent(**kwargs) enrollment_attributes = request.data.get('enrollment_attributes') enrollment = api.get_enrollment(username, unicode(course_id))