Fixing python-modernize issues.

This commit is contained in:
arbisoft
2019-07-09 14:48:25 +05:00
parent 9d856c4cec
commit 9c6bb49abf
9 changed files with 84 additions and 46 deletions

View File

@@ -1,6 +1,8 @@
"""
Tests access.py
"""
from __future__ import absolute_import
from django.contrib.auth.models import User
from django.test import TestCase
from opaque_keys.edx.locator import CourseLocator

View File

@@ -1,11 +1,14 @@
"""
Unit tests for the asset upload endpoint.
"""
from __future__ import absolute_import
import json
from datetime import datetime
from io import BytesIO
import mock
import six
from ddt import data, ddt
from django.conf import settings
from django.test.utils import override_settings
@@ -301,7 +304,9 @@ class PaginationTestCase(AssetsTestCase):
for content_type in content_types:
# content_type is either not any defined type (i.e. OTHER) or is a defined type (if multiple
# parameters including OTHER are used)
self.assertTrue(content_type in requested_file_extensions or content_type not in all_file_extensions)
self.assertTrue(
content_type in requested_file_extensions or content_type not in all_file_extensions
)
else:
for content_type in content_types:
self.assertIn(content_type, requested_file_extensions)
@@ -329,7 +334,7 @@ class PaginationTestCase(AssetsTestCase):
for asset_response in assets_response:
for token in text_search_tokens:
self.assertTrue(token.lower() in asset_response['display_name'].lower())
self.assertIn(token.lower(), asset_response['display_name'].lower())
@ddt
@@ -424,10 +429,12 @@ class AssetToJsonTestCase(AssetsTestCase):
self.assertEquals(output["display_name"], "my_file")
self.assertEquals(output["date_added"], "Jun 01, 2013 at 10:30 UTC")
self.assertEquals(output["url"], "/asset-v1:org+class+run+type@asset+block@my_file_name.jpg")
self.assertEquals(output["external_url"], "lms_base_url/asset-v1:org+class+run+type@asset+block@my_file_name.jpg")
self.assertEquals(
output["external_url"], "lms_base_url/asset-v1:org+class+run+type@asset+block@my_file_name.jpg"
)
self.assertEquals(output["portable_url"], "/static/my_file_name.jpg")
self.assertEquals(output["thumbnail"], "/asset-v1:org+class+run+type@thumbnail+block@my_file_name_thumb.jpg")
self.assertEquals(output["id"], unicode(location))
self.assertEquals(output["id"], six.text_type(location))
self.assertEquals(output['locked'], True)
output = assets._get_asset_json("name", content_type, upload_date, location, None, False)
@@ -454,7 +461,9 @@ class LockAssetTestCase(AssetsTestCase):
content_type = 'application/txt'
upload_date = datetime(2013, 6, 1, 10, 30, tzinfo=UTC)
asset_location = course.id.make_asset_key('asset', 'sample_static.html')
url = reverse_course_url('assets_handler', course.id, kwargs={'asset_key_string': unicode(asset_location)})
url = reverse_course_url(
'assets_handler', course.id, kwargs={'asset_key_string': six.text_type(asset_location)}
)
resp = self.client.post(
url,
@@ -513,7 +522,7 @@ class DeleteAssetTestCase(AssetsTestCase):
def test_delete_asset(self):
""" Tests the happy path :) """
test_url = reverse_course_url(
'assets_handler', self.course.id, kwargs={'asset_key_string': unicode(self.uploaded_url)})
'assets_handler', self.course.id, kwargs={'asset_key_string': six.text_type(self.uploaded_url)})
resp = self.client.delete(test_url, HTTP_ACCEPT="application/json")
self.assertEquals(resp.status_code, 204)
@@ -542,21 +551,23 @@ class DeleteAssetTestCase(AssetsTestCase):
mock_asset_key.return_value = thumbnail_location
test_url = reverse_course_url(
'assets_handler', self.course.id, kwargs={'asset_key_string': unicode(uploaded_image_url)})
'assets_handler', self.course.id, kwargs={'asset_key_string': six.text_type(uploaded_image_url)})
resp = self.client.delete(test_url, HTTP_ACCEPT="application/json")
self.assertEquals(resp.status_code, 204)
def test_delete_asset_with_invalid_asset(self):
""" Tests the sad path :( """
test_url = reverse_course_url(
'assets_handler', self.course.id, kwargs={'asset_key_string': unicode("/c4x/edX/toy/asset/invalid.pdf")})
'assets_handler',
self.course.id, kwargs={'asset_key_string': six.text_type("/c4x/edX/toy/asset/invalid.pdf")}
)
resp = self.client.delete(test_url, HTTP_ACCEPT="application/json")
self.assertEquals(resp.status_code, 404)
def test_delete_asset_with_invalid_thumbnail(self):
""" Tests the sad path :( """
test_url = reverse_course_url(
'assets_handler', self.course.id, kwargs={'asset_key_string': unicode(self.uploaded_url)})
'assets_handler', self.course.id, kwargs={'asset_key_string': six.text_type(self.uploaded_url)})
self.content.thumbnail_location = StaticContent.get_location_from_path('/c4x/edX/toy/asset/invalid')
contentstore().save(self.content)
resp = self.client.delete(test_url, HTTP_ACCEPT="application/json")

View File

@@ -3,14 +3,18 @@
"""
Certificates Tests.
"""
from __future__ import absolute_import
import itertools
import json
import ddt
import mock
import six
from django.conf import settings
from django.test.utils import override_settings
from opaque_keys.edx.keys import AssetKey
from six.moves import range
from contentstore.tests.utils import CourseTestCase
from contentstore.utils import get_lms_link_for_certificate_web_view, reverse_course_url
@@ -80,7 +84,7 @@ class HelperMethods(object):
'title': 'Title ' + str(i),
'signature_image_path': asset_path_format.format(i),
'id': i
} for i in xrange(signatory_count)
} for i in range(signatory_count)
]
@@ -95,7 +99,7 @@ class HelperMethods(object):
'signatories': signatories,
'version': CERTIFICATE_SCHEMA_VERSION,
'is_active': is_active
} for i in xrange(count)
} for i in range(count)
]
self.course.certificates = {'certificates': certificates}
self.save_course()
@@ -236,7 +240,7 @@ class CertificatesListHandlerTestCase(
self.assertEqual(content, expected)
self.assert_event_emitted(
'edx.certificate.configuration.created',
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
configuration_id=certificate_id,
)
@@ -265,7 +269,7 @@ class CertificatesListHandlerTestCase(
@override_settings(LMS_BASE="lms_base_url")
def test_lms_link_for_certificate_web_view(self):
test_url = "//lms_base_url/certificates/user/" \
+ str(self.user.id) + "/course/" + unicode(self.course.id) + '?preview=honor'
+ str(self.user.id) + "/course/" + six.text_type(self.course.id) + '?preview=honor'
link = get_lms_link_for_certificate_web_view(
user_id=self.user.id,
course_key=self.course.id,
@@ -471,7 +475,7 @@ class CertificatesDetailHandlerTestCase(
self.assertEqual(content, expected)
self.assert_event_emitted(
'edx.certificate.configuration.created',
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
configuration_id=666,
)
@@ -503,7 +507,7 @@ class CertificatesDetailHandlerTestCase(
self.assertEqual(content, expected)
self.assert_event_emitted(
'edx.certificate.configuration.modified',
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
configuration_id=1,
)
self.reload_course()
@@ -568,7 +572,7 @@ class CertificatesDetailHandlerTestCase(
self.assertEqual(response.status_code, 204)
self.assert_event_emitted(
'edx.certificate.configuration.deleted',
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
configuration_id='1',
)
self.reload_course()
@@ -592,7 +596,7 @@ class CertificatesDetailHandlerTestCase(
self.assertEqual(response.status_code, 204)
self.assert_event_emitted(
'edx.certificate.configuration.deleted',
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
configuration_id='1',
)
self.reload_course()
@@ -617,7 +621,7 @@ class CertificatesDetailHandlerTestCase(
self.assertEqual(response.status_code, 204)
self.assert_event_emitted(
'edx.certificate.configuration.deleted',
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
configuration_id='1',
)
self.reload_course()
@@ -785,7 +789,7 @@ class CertificatesDetailHandlerTestCase(
cert_event_type = 'activated' if is_active else 'deactivated'
self.assert_event_emitted(
'.'.join(['edx.certificate.configuration', cert_event_type]),
course_id=unicode(self.course.id),
course_id=six.text_type(self.course.id),
)
@ddt.data(*itertools.product([True, False], [C4X_SIGNATORY_PATH, SIGNATORY_PATH]))

View File

@@ -1,6 +1,8 @@
"""
Unit tests for getting the list of courses and the course outline.
"""
from __future__ import absolute_import
import datetime
import json
@@ -8,24 +10,25 @@ import ddt
import lxml
import mock
import pytz
import six
from django.conf import settings
from django.core.exceptions import PermissionDenied
from django.test.utils import override_settings
from django.utils.translation import ugettext as _
from edx_django_utils.monitoring.middleware import _DEFAULT_NAMESPACE as DJANGO_UTILS_NAMESPACE
from opaque_keys.edx.locator import CourseLocator
from search.api import perform_search
from edx_django_utils.monitoring.middleware import _DEFAULT_NAMESPACE as DJANGO_UTILS_NAMESPACE
from contentstore.config.waffle import WAFFLE_NAMESPACE as STUDIO_WAFFLE_NAMESPACE
from contentstore.courseware_index import CoursewareSearchIndexer, SearchIndexingError
from contentstore.tests.utils import CourseTestCase
from contentstore.utils import add_instructor, reverse_course_url, reverse_usage_url
from contentstore.views.course import WAFFLE_NAMESPACE as COURSE_WAFFLE_NAMESPACE
from contentstore.views.course import (
_deprecated_blocks_info,
course_outline_initial_state,
reindex_course_and_check_access
)
from contentstore.config.waffle import WAFFLE_NAMESPACE as STUDIO_WAFFLE_NAMESPACE
from contentstore.views.course import WAFFLE_NAMESPACE as COURSE_WAFFLE_NAMESPACE
from contentstore.views.item import VisibilityState, create_xblock_info
from course_action_state.managers import CourseRerunUIStateManager
from course_action_state.models import CourseRerunState
@@ -143,7 +146,7 @@ class TestCourseIndex(CourseTestCase):
# First spot check some values in the root response
self.assertEqual(json_response['category'], 'course')
self.assertEqual(json_response['id'], unicode(self.course.location))
self.assertEqual(json_response['id'], six.text_type(self.course.location))
self.assertEqual(json_response['display_name'], self.course.display_name)
self.assertTrue(json_response['published'])
self.assertIsNone(json_response['visibility_state'])
@@ -153,7 +156,7 @@ class TestCourseIndex(CourseTestCase):
self.assertGreater(len(children), 0)
first_child_response = children[0]
self.assertEqual(first_child_response['category'], 'chapter')
self.assertEqual(first_child_response['id'], unicode(chapter.location))
self.assertEqual(first_child_response['id'], six.text_type(chapter.location))
self.assertEqual(first_child_response['display_name'], 'Week 1')
self.assertTrue(json_response['published'])
self.assertEqual(first_child_response['visibility_state'], VisibilityState.unscheduled)
@@ -465,7 +468,7 @@ class TestCourseOutline(CourseTestCase):
# First spot check some values in the root response
self.assertEqual(json_response['category'], 'course')
self.assertEqual(json_response['id'], unicode(self.course.location))
self.assertEqual(json_response['id'], six.text_type(self.course.location))
self.assertEqual(json_response['display_name'], self.course.display_name)
self.assertNotEqual(json_response.get('published', False), is_concise)
self.assertIsNone(json_response.get('visibility_state'))
@@ -475,7 +478,7 @@ class TestCourseOutline(CourseTestCase):
self.assertGreater(len(children), 0)
first_child_response = children[0]
self.assertEqual(first_child_response['category'], 'chapter')
self.assertEqual(first_child_response['id'], unicode(self.chapter.location))
self.assertEqual(first_child_response['id'], six.text_type(self.chapter.location))
self.assertEqual(first_child_response['display_name'], 'Week 1')
self.assertNotEqual(json_response.get('published', False), is_concise)
if not is_concise:
@@ -509,12 +512,12 @@ class TestCourseOutline(CourseTestCase):
self.assertIsNone(course_outline_initial_state('no-such-locator', course_structure))
# Verify that the correct initial state is returned for the test chapter
chapter_locator = unicode(self.chapter.location)
chapter_locator = six.text_type(self.chapter.location)
initial_state = course_outline_initial_state(chapter_locator, course_structure)
self.assertEqual(initial_state['locator_to_show'], chapter_locator)
expanded_locators = initial_state['expanded_locators']
self.assertIn(unicode(self.sequential.location), expanded_locators)
self.assertIn(unicode(self.vertical.location), expanded_locators)
self.assertIn(six.text_type(self.sequential.location), expanded_locators)
self.assertIn(six.text_type(self.vertical.location), expanded_locators)
def _create_test_data(self, course_module, create_blocks=False, publish=True, block_types=None):
"""
@@ -703,7 +706,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# Start manual reindex
@@ -715,7 +718,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
@mock.patch('xmodule.video_module.VideoBlock.index_dictionary')
@@ -729,7 +732,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# set mocked exception response
@@ -751,7 +754,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# set mocked exception response
@@ -773,7 +776,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# set mocked exception response
@@ -813,7 +816,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# Start manual reindex
@@ -825,7 +828,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
@mock.patch('xmodule.video_module.VideoBlock.index_dictionary')
@@ -839,7 +842,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# set mocked exception response
@@ -861,7 +864,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# set mocked exception response
@@ -883,7 +886,7 @@ class TestCourseReIndex(CourseTestCase):
user=self.user,
size=10,
from_=0,
course_id=unicode(self.course.id))
course_id=six.text_type(self.course.id))
self.assertEqual(response['total'], 1)
# set mocked exception response

View File

@@ -2,6 +2,9 @@
Unit tests for helpers.py.
"""
from __future__ import absolute_import
import six
from django.utils import http
from contentstore.tests.utils import CourseTestCase
@@ -17,7 +20,7 @@ class HelpersTestCase(CourseTestCase):
def test_xblock_studio_url(self):
# Verify course URL
course_url = u'/course/{}'.format(unicode(self.course.id))
course_url = u'/course/{}'.format(six.text_type(self.course.id))
self.assertEqual(xblock_studio_url(self.course), course_url)
# Verify chapter URL
@@ -53,7 +56,7 @@ class HelpersTestCase(CourseTestCase):
# Verify library URL
library = LibraryFactory.create()
expected_url = u'/library/{}'.format(unicode(library.location.library_key))
expected_url = u'/library/{}'.format(six.text_type(library.location.library_key))
self.assertEqual(xblock_studio_url(library), expected_url)
def test_xblock_type_display_name(self):

View File

@@ -1,6 +1,8 @@
"""
Unit tests for course import and export
"""
from __future__ import absolute_import
import copy
import json
import logging
@@ -14,6 +16,7 @@ from uuid import uuid4
import ddt
import lxml
import six
from django.conf import settings
from django.core.files.storage import FileSystemStorage
from django.test.utils import override_settings
@@ -21,6 +24,7 @@ from milestones.tests.utils import MilestonesTestCaseMixin
from mock import Mock, patch
from opaque_keys.edx.locator import LibraryLocator
from path import Path as path
from six.moves import zip
from storages.backends.s3boto import S3BotoStorage
from user_tasks.models import UserTaskStatus
@@ -103,7 +107,7 @@ class ImportEntranceExamTestCase(CourseTestCase, MilestonesTestCaseMixin):
"""
Check that pre existed entrance exam content should be overwrite with the imported course.
"""
exam_url = '/course/{}/entrance_exam/'.format(unicode(self.course.id))
exam_url = '/course/{}/entrance_exam/'.format(six.text_type(self.course.id))
resp = self.client.post(exam_url, {'entrance_exam_minimum_score_pct': 0.5}, http_accept='application/json')
self.assertEqual(resp.status_code, 201)
@@ -113,9 +117,9 @@ class ImportEntranceExamTestCase(CourseTestCase, MilestonesTestCaseMixin):
self.assertTrue(metadata['entrance_exam_enabled'])
self.assertIsNotNone(metadata['entrance_exam_minimum_score_pct'])
self.assertEqual(metadata['entrance_exam_minimum_score_pct']['value'], 0.5)
self.assertTrue(len(milestones_helpers.get_course_milestones(unicode(self.course.id))))
self.assertTrue(len(milestones_helpers.get_course_milestones(six.text_type(self.course.id))))
content_milestones = milestones_helpers.get_course_content_milestones(
unicode(self.course.id),
six.text_type(self.course.id),
metadata['entrance_exam_id']['value'],
milestones_helpers.get_milestone_relationship_types()['FULFILLS']
)
@@ -149,7 +153,7 @@ class ImportTestCase(CourseTestCase):
def touch(name):
""" Equivalent to shell's 'touch'"""
with file(name, 'a'):
with open(name, 'a'): # pylint: disable=W6005
os.utime(name, None)
# Create tar test files -----------------------------------------------

View File

@@ -1,10 +1,13 @@
"""
Tests for contentstore.views.preview.py
"""
from __future__ import absolute_import
import re
import ddt
import mock
import six
from django.test.client import Client, RequestFactory
from xblock.core import XBlock, XBlockAside
@@ -56,7 +59,9 @@ class GetPreviewHtmlTestCase(ModuleStoreTestCase):
html = get_preview_fragment(request, html, context).content
# Verify student view html is returned, and the usage ID is as expected.
html_pattern = re.escape(unicode(course.id.make_usage_key('html', 'replaceme'))).replace('replaceme', r'html_[0-9]*')
html_pattern = re.escape(
six.text_type(course.id.make_usage_key('html', 'replaceme'))
).replace('replaceme', r'html_[0-9]*')
self.assertRegexpMatches(
html,
'data-usage-id="{}"'.format(html_pattern)

View File

@@ -1,3 +1,7 @@
""" Test cases for the textbook index page. """
from __future__ import absolute_import
import json
from unittest import TestCase

View File

@@ -1,6 +1,8 @@
"""
Tests for contentstore/views/user.py.
"""
from __future__ import absolute_import
import json
from django.contrib.auth.models import User