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:
Zia Fazal
2018-05-21 13:44:22 +05:00
parent 842afd5056
commit f2ea2ca360
9 changed files with 52 additions and 19 deletions

View File

@@ -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
)

View File

@@ -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

View 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

View 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)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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