diff --git a/lms/djangoapps/courseware/tests/test_lti_integration.py b/lms/djangoapps/courseware/tests/test_lti_integration.py index c9a8a5450712..dce203202046 100644 --- a/lms/djangoapps/courseware/tests/test_lti_integration.py +++ b/lms/djangoapps/courseware/tests/test_lti_integration.py @@ -5,6 +5,7 @@ from collections import OrderedDict from unittest import mock +from unittest.mock import patch import urllib import oauthlib from django.conf import settings @@ -16,6 +17,7 @@ from openedx.core.lib.url_utils import quote_slashes from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase # lint-amnesty, pylint: disable=wrong-import-order from xmodule.modulestore.tests.factories import CourseFactory, BlockFactory # lint-amnesty, pylint: disable=wrong-import-order +from xmodule.tests.helpers import mock_render_template class TestLTI(BaseTestXmodule): @@ -115,14 +117,26 @@ def mocked_sign(self, *args, **kwargs): patcher.start() self.addCleanup(patcher.stop) - def test_lti_constructor(self): + @patch('xblock.utils.resources.ResourceLoader.render_django_template', side_effect=mock_render_template) + def test_lti_constructor(self, mock_render_django_template): generated_content = self.block.student_view(None).content - expected_content = self.runtime.render_template('lti.html', self.expected_context) + + if settings.USE_EXTRACTED_LTI_BLOCK: + expected_content = self.runtime.render_template('templates/lti.html', self.expected_context) + mock_render_django_template.assert_called_once() + else: + expected_content = self.runtime.render_template('lti.html', self.expected_context) assert generated_content == expected_content - def test_lti_preview_handler(self): + @patch('xblock.utils.resources.ResourceLoader.render_django_template', side_effect=mock_render_template) + def test_lti_preview_handler(self, mock_render_django_template): generated_content = self.block.preview_handler(None, None).body - expected_content = self.runtime.render_template('lti_form.html', self.expected_context) + + if settings.USE_EXTRACTED_LTI_BLOCK: + expected_content = self.runtime.render_template('templates/lti_form.html', self.expected_context) + mock_render_django_template.assert_called_once() + else: + expected_content = self.runtime.render_template('lti_form.html', self.expected_context) assert generated_content.decode('utf-8') == expected_content diff --git a/xmodule/tests/test_lti20_unit.py b/xmodule/tests/test_lti20_unit.py index 3243c834f365..de3156fdae4d 100644 --- a/xmodule/tests/test_lti20_unit.py +++ b/xmodule/tests/test_lti20_unit.py @@ -4,17 +4,22 @@ import datetime import textwrap import unittest +from django.conf import settings from unittest.mock import Mock from pytz import UTC from xblock.field_data import DictFieldData -from xmodule.lti_2_util import LTIError from xmodule.lti_block import LTIBlock from xmodule.tests.helpers import StubUserService from . import get_test_system +if settings.USE_EXTRACTED_LTI_BLOCK: + from xblocks_contrib.lti.lti_2_util import LTIError +else: + from xmodule.lti_2_util import LTIError + class LTI20RESTResultServiceTest(unittest.TestCase): """Logic tests for LTI block. LTI2.0 REST ResultService""" diff --git a/xmodule/tests/test_lti_unit.py b/xmodule/tests/test_lti_unit.py index 99eb0a283456..0d4d595750b1 100644 --- a/xmodule/tests/test_lti_unit.py +++ b/xmodule/tests/test_lti_unit.py @@ -22,12 +22,16 @@ from common.djangoapps.xblock_django.constants import ATTR_KEY_ANONYMOUS_USER_ID from xmodule.fields import Timedelta -from xmodule.lti_2_util import LTIError from xmodule.lti_block import LTIBlock from xmodule.tests.helpers import StubUserService from . import get_test_system +if settings.USE_EXTRACTED_LTI_BLOCK: + from xblocks_contrib.lti.lti_2_util import LTIError +else: + from xmodule.lti_2_util import LTIError + @override_settings(LMS_BASE="edx.org") class LTIBlockTest(TestCase):