Skip to content
Snippets Groups Projects
Commit f2ea2ca3 authored by Zia Fazal's avatar Zia Fazal
Browse files

Added a base MessageType for ace

added unit tests

updated edx-ace version

fixed quality violations

Fixed quality violations

Changed ACEMessageType to BaseMessageType
parent 842afd50
Branches
Tags
No related merge requests found
"""
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
......
"""
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
"""
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)
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
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment