Skip to content
Snippets Groups Projects
Commit 809c57f0 authored by adeelehsan's avatar adeelehsan
Browse files

authn mfe url added in recover account command

VAN-319
parent 5906bded
No related branches found
No related tags found
No related merge requests found
......@@ -18,6 +18,7 @@ from edx_ace import ace
from edx_ace.recipient import Recipient
from common.djangoapps.student.models import AccountRecoveryConfiguration
from openedx.core.djangoapps.user_authn.toggles import should_redirect_to_authn_microfrontend
from openedx.core.djangoapps.ace_common.template_context import get_base_template_context
from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
......@@ -104,12 +105,16 @@ class Command(BaseCommand):
"""
message_context = get_base_template_context(site)
email = user.email
if should_redirect_to_authn_microfrontend():
site_url = settings.AUTHN_MICROFRONTEND_URL
else:
site_url = configuration_helpers.get_value('SITE_NAME', settings.SITE_NAME)
message_context.update({
'email': email,
'platform_name': configuration_helpers.get_value('PLATFORM_NAME', settings.PLATFORM_NAME),
'reset_link': '{protocol}://{site}{link}?track=pwreset'.format(
'reset_link': '{protocol}://{site_url}{link}?track=pwreset'.format(
protocol='http',
site=configuration_helpers.get_value('SITE_NAME', settings.SITE_NAME),
site_url=site_url,
link=reverse('password_reset_confirm', kwargs={
'uidb36': int_to_base36(user.id),
'token': default_token_generator.make_token(user),
......
......@@ -7,17 +7,24 @@ import pytest
import six
from django.core import mail
from django.conf import settings
from django.contrib.auth import get_user_model
from django.core.management import call_command, CommandError
from django.core.files.uploadedfile import SimpleUploadedFile
from django.test import TestCase, RequestFactory
from django.test import TestCase, RequestFactory, override_settings
from edx_toggles.toggles.testutils import override_waffle_flag
from testfixtures import LogCapture
from common.djangoapps.student.tests.factories import UserFactory
from common.djangoapps.student.models import AccountRecoveryConfiguration
from openedx.core.djangolib.testing.utils import skip_unless_lms
from openedx.core.djangoapps.user_authn.toggles import REDIRECT_TO_AUTHN_MICROFRONTEND
LOGGER_NAME = 'common.djangoapps.student.management.commands.recover_account'
FEATURES_WITH_AUTHN_MFE_ENABLED = settings.FEATURES.copy()
FEATURES_WITH_AUTHN_MFE_ENABLED['ENABLE_AUTHN_MICROFRONTEND'] = True
class RecoverAccountTests(TestCase):
......@@ -65,6 +72,24 @@ class RecoverAccountTests(TestCase):
# try to login with previous password
assert not self.client.login(username=self.user.username, password='password')
@override_settings(FEATURES=FEATURES_WITH_AUTHN_MFE_ENABLED)
@override_waffle_flag(REDIRECT_TO_AUTHN_MICROFRONTEND, active=True)
@skip_unless_lms
def test_authn_mfe_url_in_reset_link(self):
"""
send password reset link to learner with authn mfe.
:return:
"""
with NamedTemporaryFile() as csv:
csv = self._write_test_csv(csv, lines=['amy,amy@edx.com,amy@newemail.com\n'])
call_command("recover_account", "--csv_file_path={}".format(csv.name))
assert len(mail.outbox) == 1
authn_mfe_url = re.findall(settings.AUTHN_MICROFRONTEND_URL, mail.outbox[0].body)[0]
self.assertEqual(authn_mfe_url, settings.AUTHN_MICROFRONTEND_URL)
def test_file_not_found_error(self):
"""
Test command error raised when csv path is invalid
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment