diff --git a/common/lib/xmodule/xmodule/tests/helpers.py b/common/lib/xmodule/xmodule/tests/helpers.py index 732dff94f8..c46e8c6285 100644 --- a/common/lib/xmodule/xmodule/tests/helpers.py +++ b/common/lib/xmodule/xmodule/tests/helpers.py @@ -2,10 +2,12 @@ Utility methods for unit tests. """ -import filecmp -from path import Path as path +from __future__ import absolute_import -from xblock.reference.user_service import XBlockUser, UserService +import filecmp + +from path import Path as path +from xblock.reference.user_service import UserService, XBlockUser def directories_equal(directory1, directory2): diff --git a/common/lib/xmodule/xmodule/tests/test_annotator_mixin.py b/common/lib/xmodule/xmodule/tests/test_annotator_mixin.py index 38a55ecd8f..4e7dda4bd7 100644 --- a/common/lib/xmodule/xmodule/tests/test_annotator_mixin.py +++ b/common/lib/xmodule/xmodule/tests/test_annotator_mixin.py @@ -2,10 +2,13 @@ This test will run for annotator_mixin.py """ +from __future__ import absolute_import + import unittest + from lxml import etree -from xmodule.annotator_mixin import get_instructions, get_extension, html_to_text +from xmodule.annotator_mixin import get_extension, get_instructions, html_to_text class HelperFunctionTest(unittest.TestCase): diff --git a/common/lib/xmodule/xmodule/tests/test_delay_between_attempts.py b/common/lib/xmodule/xmodule/tests/test_delay_between_attempts.py index 71f064b348..83dc482e3d 100644 --- a/common/lib/xmodule/xmodule/tests/test_delay_between_attempts.py +++ b/common/lib/xmodule/xmodule/tests/test_delay_between_attempts.py @@ -7,21 +7,23 @@ of the submit_problem method of a capa module when the "delay between quiz submissions" setting is set to different values """ -import unittest -import textwrap +from __future__ import absolute_import + import datetime +import textwrap +import unittest from mock import Mock - -import xmodule -from xmodule.capa_module import ProblemBlock from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator +from pytz import UTC from xblock.field_data import DictFieldData from xblock.fields import ScopeIds from xblock.scorable import Score +import xmodule +from xmodule.capa_module import ProblemBlock + from . import get_test_system -from pytz import UTC class CapaFactoryWithDelay(object): diff --git a/common/lib/xmodule/xmodule/tests/test_editing_module.py b/common/lib/xmodule/xmodule/tests/test_editing_module.py index c0439040cd..d51d5e97e5 100644 --- a/common/lib/xmodule/xmodule/tests/test_editing_module.py +++ b/common/lib/xmodule/xmodule/tests/test_editing_module.py @@ -1,15 +1,17 @@ """ Tests for editing descriptors""" -import unittest -import os +from __future__ import absolute_import + import logging +import os +import unittest from mock import Mock -from pkg_resources import resource_string from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator -from xmodule.editing_module import TabsEditingDescriptor +from pkg_resources import resource_string from xblock.field_data import DictFieldData from xblock.fields import ScopeIds +from xmodule.editing_module import TabsEditingDescriptor from xmodule.tests import get_test_descriptor_system log = logging.getLogger(__name__) diff --git a/common/lib/xmodule/xmodule/tests/test_library_root.py b/common/lib/xmodule/xmodule/tests/test_library_root.py index 06d4a4b238..673c5158d1 100644 --- a/common/lib/xmodule/xmodule/tests/test_library_root.py +++ b/common/lib/xmodule/xmodule/tests/test_library_root.py @@ -2,14 +2,16 @@ """ Basic unit tests for LibraryRoot """ -from mock import patch +from __future__ import absolute_import +from mock import patch +from six.moves import range from web_fragments.fragment import Fragment from xblock.runtime import Runtime as VanillaRuntime -from xmodule.x_module import AUTHOR_VIEW -from xmodule.modulestore.tests.factories import LibraryFactory, ItemFactory +from xmodule.modulestore.tests.factories import ItemFactory, LibraryFactory from xmodule.modulestore.tests.utils import MixedSplitTestCase +from xmodule.x_module import AUTHOR_VIEW dummy_render = lambda block, _: Fragment(block.data) # pylint: disable=invalid-name diff --git a/common/lib/xmodule/xmodule/tests/test_library_tools.py b/common/lib/xmodule/xmodule/tests/test_library_tools.py index 6afd82fc35..6587ba532f 100644 --- a/common/lib/xmodule/xmodule/tests/test_library_tools.py +++ b/common/lib/xmodule/xmodule/tests/test_library_tools.py @@ -1,7 +1,10 @@ """ Tests for library tools service. """ +from __future__ import absolute_import + from mock import patch + from xmodule.library_tools import LibraryToolsService from xmodule.modulestore.tests.factories import LibraryFactory from xmodule.modulestore.tests.utils import MixedSplitTestCase diff --git a/common/lib/xmodule/xmodule/tests/test_lti_unit.py b/common/lib/xmodule/xmodule/tests/test_lti_unit.py index ba53770dd1..861d183096 100644 --- a/common/lib/xmodule/xmodule/tests/test_lti_unit.py +++ b/common/lib/xmodule/xmodule/tests/test_lti_unit.py @@ -1,19 +1,24 @@ # -*- coding: utf-8 -*- """Test for LTI Xmodule functional logic.""" +from __future__ import absolute_import + import datetime -from pytz import UTC -from mock import Mock, patch, PropertyMock import textwrap -from lxml import etree -from webob.request import Request from copy import copy + +import six.moves.urllib.error +import six.moves.urllib.parse +import six.moves.urllib.request +from lxml import etree +from mock import Mock, PropertyMock, patch +from pytz import UTC from six import text_type -import urllib +from webob.request import Request from xmodule.fields import Timedelta -from xmodule.lti_module import LTIDescriptor from xmodule.lti_2_util import LTIError +from xmodule.lti_module import LTIDescriptor from . import LogicTest @@ -61,7 +66,7 @@ class LTIModuleTest(LogicTest): self.xmodule.runtime.hostname ) - sourced_id = u':'.join(urllib.quote(i) for i in (self.lti_id, self.unquoted_resource_link_id, self.user_id)) + sourced_id = u':'.join(six.moves.urllib.parse.quote(i) for i in (self.lti_id, self.unquoted_resource_link_id, self.user_id)) self.defaults = { 'namespace': "http://www.imsglobal.org/services/ltiv1p1/xsd/imsoms_v1p0", @@ -277,7 +282,7 @@ class LTIModuleTest(LogicTest): self.assertEqual(self.xmodule.module_score, float(self.defaults['grade'])) def test_user_id(self): - expected_user_id = text_type(urllib.quote(self.xmodule.runtime.anonymous_student_id)) + expected_user_id = text_type(six.moves.urllib.parse.quote(self.xmodule.runtime.anonymous_student_id)) real_user_id = self.xmodule.get_user_id() self.assertEqual(real_user_id, expected_user_id) @@ -296,12 +301,12 @@ class LTIModuleTest(LogicTest): def test_resource_link_id(self): with patch('xmodule.lti_module.LTIModule.location', new_callable=PropertyMock): self.xmodule.location.html_id = lambda: 'i4x-2-3-lti-31de800015cf4afb973356dbe81496df' - expected_resource_link_id = text_type(urllib.quote(self.unquoted_resource_link_id)) + expected_resource_link_id = text_type(six.moves.urllib.parse.quote(self.unquoted_resource_link_id)) real_resource_link_id = self.xmodule.get_resource_link_id() self.assertEqual(real_resource_link_id, expected_resource_link_id) def test_lis_result_sourcedid(self): - expected_sourced_id = u':'.join(urllib.quote(i) for i in ( + expected_sourced_id = u':'.join(six.moves.urllib.parse.quote(i) for i in ( text_type(self.system.course_id), self.xmodule.get_resource_link_id(), self.user_id diff --git a/common/lib/xmodule/xmodule/tests/test_randomize_module.py b/common/lib/xmodule/xmodule/tests/test_randomize_module.py index 48c5220b21..ae19ed16e4 100644 --- a/common/lib/xmodule/xmodule/tests/test_randomize_module.py +++ b/common/lib/xmodule/xmodule/tests/test_randomize_module.py @@ -1,17 +1,19 @@ """ Test cases covering workflows and behaviors for the Randomize XModule """ +from __future__ import absolute_import + import unittest from datetime import datetime, timedelta -from pytz import UTC from opaque_keys.edx.locator import BlockUsageLocator +from pytz import UTC from xblock.fields import ScopeIds + from xmodule.randomize_module import RandomizeModule from .test_course_module import DummySystem as DummyImportSystem - ORG = 'test_org' COURSE = 'test_course' diff --git a/common/lib/xmodule/xmodule/tests/test_utils_django.py b/common/lib/xmodule/xmodule/tests/test_utils_django.py index 34c6e4cdd4..67afcddf7e 100644 --- a/common/lib/xmodule/xmodule/tests/test_utils_django.py +++ b/common/lib/xmodule/xmodule/tests/test_utils_django.py @@ -1,7 +1,10 @@ """Tests for methods defined in util/django.py""" -from xmodule.util.xmodule_django import get_current_request, get_current_request_hostname +from __future__ import absolute_import + from unittest import TestCase +from xmodule.util.xmodule_django import get_current_request, get_current_request_hostname + class UtilDjangoTests(TestCase): """ diff --git a/common/lib/xmodule/xmodule/tests/test_video.py b/common/lib/xmodule/xmodule/tests/test_video.py index 042648920f..21b5b0ce3a 100644 --- a/common/lib/xmodule/xmodule/tests/test_video.py +++ b/common/lib/xmodule/xmodule/tests/test_video.py @@ -12,32 +12,35 @@ You can then use the CourseFactory and XModuleItemFactory as defined in common/lib/xmodule/xmodule/modulestore/tests/factories.py to create the course, section, subsection, unit, etc. """ +from __future__ import absolute_import + +import datetime import json import os -import unittest -import datetime import shutil +import unittest +from tempfile import mkdtemp from uuid import uuid4 -from tempfile import mkdtemp -from lxml import etree -from mock import ANY, Mock, patch, MagicMock import ddt - +import six from django.conf import settings from django.test import TestCase from django.test.utils import override_settings - from fs.osfs import OSFS -from opaque_keys.edx.locator import CourseLocator +from lxml import etree +from mock import ANY, MagicMock, Mock, patch from opaque_keys.edx.keys import CourseKey +from opaque_keys.edx.locator import CourseLocator +from six.moves import zip from xblock.field_data import DictFieldData from xblock.fields import ScopeIds from xmodule.tests import get_test_descriptor_system from xmodule.validation import StudioValidationMessage -from xmodule.video_module import VideoBlock, create_youtube_string, EXPORT_IMPORT_STATIC_DIR -from xmodule.video_module.transcripts_utils import download_youtube_subs, save_to_store, save_subs_to_store +from xmodule.video_module import EXPORT_IMPORT_STATIC_DIR, VideoBlock, create_youtube_string +from xmodule.video_module.transcripts_utils import download_youtube_subs, save_subs_to_store, save_to_store + from .test_import import DummySystem SRT_FILEDATA = ''' @@ -640,7 +643,7 @@ class VideoBlockImportTestCase(TestCase): def mock_val_import(xml, edx_video_id, resource_fs, static_dir, external_transcripts, course_id): """Mock edxval.api.import_from_xml""" self.assertEqual(xml.tag, 'video_asset') - self.assertEqual(dict(xml.items()), {'mock_attr': ''}) + self.assertEqual(dict(list(xml.items())), {'mock_attr': ''}) self.assertEqual(edx_video_id, 'test_edx_video_id') self.assertEqual(static_dir, EXPORT_IMPORT_STATIC_DIR) self.assertIsNotNone(resource_fs) @@ -760,7 +763,7 @@ class VideoExportTestCase(VideoBlockTestBase): video_id=edx_video_id, static_dir=EXPORT_IMPORT_STATIC_DIR, resource_fs=self.file_system, - course_id=unicode(self.descriptor.runtime.course_id.for_branch(None)), + course_id=six.text_type(self.descriptor.runtime.course_id.for_branch(None)), ) @patch('xmodule.video_module.video_module.edxval_api')