Added a base MessageType for ace
added unit tests updated edx-ace version fixed quality violations Fixed quality violations Changed ACEMessageType to BaseMessageType
This commit is contained in:
@@ -1,17 +1,12 @@
|
||||
"""
|
||||
ACE message types for the student module.
|
||||
"""
|
||||
from django.conf import settings
|
||||
|
||||
from edx_ace.message import MessageType
|
||||
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
|
||||
from openedx.core.djangoapps.ace_common.message import BaseMessageType
|
||||
|
||||
|
||||
class PasswordReset(MessageType):
|
||||
class PasswordReset(BaseMessageType):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(PasswordReset, self).__init__(*args, **kwargs)
|
||||
|
||||
self.options['transactional'] = True
|
||||
self.options['from_address'] = configuration_helpers.get_value(
|
||||
'email_from_address', settings.DEFAULT_FROM_EMAIL
|
||||
)
|
||||
|
||||
@@ -15,7 +15,6 @@ from celery_utils.logged_task import LoggedTask
|
||||
from django_comment_common.utils import set_course_discussion_settings
|
||||
from edx_ace import ace
|
||||
from edx_ace.utils import date
|
||||
from edx_ace.message import MessageType
|
||||
from edx_ace.recipient import Recipient
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from lms.djangoapps.django_comment_client.utils import permalink, get_accessible_discussion_xblocks_by_course_id
|
||||
@@ -23,6 +22,7 @@ import lms.lib.comment_client as cc
|
||||
|
||||
from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
|
||||
from openedx.core.djangoapps.ace_common.template_context import get_base_template_context
|
||||
from openedx.core.djangoapps.ace_common.message import BaseMessageType
|
||||
from openedx.core.lib.celery.task_utils import emulate_http_request
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ def update_discussions_map(context):
|
||||
set_course_discussion_settings(course_key, discussions_id_map=discussions_id_map)
|
||||
|
||||
|
||||
class ResponseNotification(MessageType):
|
||||
class ResponseNotification(BaseMessageType):
|
||||
pass
|
||||
|
||||
|
||||
|
||||
13
openedx/core/djangoapps/ace_common/message.py
Normal file
13
openedx/core/djangoapps/ace_common/message.py
Normal file
@@ -0,0 +1,13 @@
|
||||
"""
|
||||
Base Message types to be used to construct ace messages.
|
||||
"""
|
||||
from edx_ace.message import MessageType
|
||||
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
|
||||
|
||||
|
||||
class BaseMessageType(MessageType):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(BaseMessageType, self).__init__(*args, **kwargs)
|
||||
from_address = configuration_helpers.get_value('email_from_address')
|
||||
if from_address:
|
||||
self.options.update({'from_address': from_address}) # pylint: disable=no-member
|
||||
29
openedx/core/djangoapps/ace_common/tests/test_message.py
Normal file
29
openedx/core/djangoapps/ace_common/tests/test_message.py
Normal file
@@ -0,0 +1,29 @@
|
||||
"""
|
||||
Tests for ace message module
|
||||
"""
|
||||
import ddt
|
||||
from mock import patch
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from openedx.core.djangoapps.ace_common.message import BaseMessageType
|
||||
|
||||
|
||||
@ddt.ddt
|
||||
class TestAbsoluteUrl(TestCase):
|
||||
|
||||
@ddt.data(
|
||||
('test@example.com', True),
|
||||
('', False),
|
||||
(None, False),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_from_email_address_in_message(self, from_address, has_from_address):
|
||||
"""
|
||||
Tests presence of from_address option in ace message
|
||||
"""
|
||||
with patch("openedx.core.djangoapps.site_configuration.helpers.get_value", return_value=from_address):
|
||||
ace_message_type = BaseMessageType()
|
||||
self.assertEqual('from_address' in ace_message_type.options, has_from_address)
|
||||
if from_address:
|
||||
self.assertEqual(ace_message_type.options.get('from_address'), from_address)
|
||||
@@ -1,11 +1,10 @@
|
||||
import logging
|
||||
|
||||
from edx_ace.message import MessageType
|
||||
|
||||
from openedx.core.djangoapps.ace_common.message import BaseMessageType
|
||||
from openedx.core.djangoapps.schedules.config import DEBUG_MESSAGE_WAFFLE_FLAG
|
||||
|
||||
|
||||
class ScheduleMessageType(MessageType):
|
||||
class ScheduleMessageType(BaseMessageType):
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ScheduleMessageType, self).__init__(*args, **kwargs)
|
||||
self.log_level = logging.DEBUG if DEBUG_MESSAGE_WAFFLE_FLAG.is_enabled() else None
|
||||
|
||||
@@ -64,7 +64,7 @@ django-waffle==0.12.0
|
||||
django-webpack-loader==0.4.1
|
||||
djangorestframework-jwt
|
||||
dogapi==1.2.1 # Python bindings to Datadog's API, for metrics gathering
|
||||
edx-ace==0.1.7
|
||||
edx-ace==0.1.8
|
||||
edx-analytics-data-api-client
|
||||
edx-ccx-keys
|
||||
edx-celeryutils
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#
|
||||
# make upgrade
|
||||
#
|
||||
|
||||
-e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock
|
||||
-e common/lib/calc
|
||||
-e common/lib/capa
|
||||
@@ -109,7 +108,7 @@ dm.xmlsec.binding==1.3.3 # via python-saml
|
||||
docopt==0.6.2
|
||||
docutils==0.14 # via botocore
|
||||
dogapi==1.2.1
|
||||
edx-ace==0.1.7
|
||||
edx-ace==0.1.8
|
||||
edx-analytics-data-api-client==0.14.4
|
||||
edx-ccx-keys==0.2.1
|
||||
edx-celeryutils==0.2.7
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#
|
||||
# make upgrade
|
||||
#
|
||||
|
||||
-e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock
|
||||
-e common/lib/calc
|
||||
-e common/lib/capa
|
||||
@@ -128,7 +127,7 @@ dm.xmlsec.binding==1.3.3
|
||||
docopt==0.6.2
|
||||
docutils==0.14
|
||||
dogapi==1.2.1
|
||||
edx-ace==0.1.7
|
||||
edx-ace==0.1.8
|
||||
edx-analytics-data-api-client==0.14.4
|
||||
edx-ccx-keys==0.2.1
|
||||
edx-celeryutils==0.2.7
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
#
|
||||
# make upgrade
|
||||
#
|
||||
|
||||
-e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock
|
||||
-e common/lib/calc
|
||||
-e common/lib/capa
|
||||
@@ -123,7 +122,7 @@ dm.xmlsec.binding==1.3.3
|
||||
docopt==0.6.2
|
||||
docutils==0.14
|
||||
dogapi==1.2.1
|
||||
edx-ace==0.1.7
|
||||
edx-ace==0.1.8
|
||||
edx-analytics-data-api-client==0.14.4
|
||||
edx-ccx-keys==0.2.1
|
||||
edx-celeryutils==0.2.7
|
||||
|
||||
Reference in New Issue
Block a user