Merge pull request #21078 from edx/INCR-417

INCR-417 python3 compatibility
This commit is contained in:
Ayub
2019-07-24 09:47:23 +05:00
committed by GitHub
10 changed files with 69 additions and 42 deletions

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):

View File

@@ -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__)

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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'

View File

@@ -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):
"""

View File

@@ -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')