Merge pull request #21078 from edx/INCR-417
INCR-417 python3 compatibility
This commit is contained in:
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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__)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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'
|
||||
|
||||
|
||||
@@ -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):
|
||||
"""
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user