diff --git a/common/test/acceptance/tests/lms/test_account_settings.py b/common/test/acceptance/tests/lms/test_account_settings.py index 3a75612a7b..95a38e0f4d 100644 --- a/common/test/acceptance/tests/lms/test_account_settings.py +++ b/common/test/acceptance/tests/lms/test_account_settings.py @@ -2,6 +2,7 @@ """ End-to-end tests for the Account Settings page. """ +from __future__ import absolute_import from datetime import datetime from unittest import skip @@ -12,6 +13,7 @@ from common.test.acceptance.pages.common.auto_auth import AutoAuthPage, FULL_NAM from common.test.acceptance.pages.lms.account_settings import AccountSettingsPage from common.test.acceptance.pages.lms.dashboard import DashboardPage from common.test.acceptance.tests.helpers import AcceptanceTest, EventsTestMixin +import six class AccountSettingsTestMixin(EventsTestMixin, AcceptanceTest): @@ -468,12 +470,12 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, AcceptanceTest): 'price': 'Cost:\n$100.00', } - for field_name, value in expected_order_data_first_row.iteritems(): + for field_name, value in six.iteritems(expected_order_data_first_row): self.assertEqual( self.account_settings_page.get_value_of_order_history_row_item('order-Edx-123', field_name)[0], value ) - for field_name, value in expected_order_data_second_row.iteritems(): + for field_name, value in six.iteritems(expected_order_data_second_row): self.assertEqual( self.account_settings_page.get_value_of_order_history_row_item('order-Edx-123', field_name)[1], value ) diff --git a/common/test/acceptance/tests/lms/test_bookmarks.py b/common/test/acceptance/tests/lms/test_bookmarks.py index 27f1dce960..2a1a03467d 100644 --- a/common/test/acceptance/tests/lms/test_bookmarks.py +++ b/common/test/acceptance/tests/lms/test_bookmarks.py @@ -2,6 +2,7 @@ """ End-to-end tests for the courseware unit bookmarks. """ +from __future__ import absolute_import import json from unittest import skip @@ -16,6 +17,7 @@ from common.test.acceptance.pages.lms.course_home import CourseHomePage from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest, is_404_page +from six.moves import range class BookmarksTestMixin(EventsTestMixin, UniqueCourseTest): diff --git a/common/test/acceptance/tests/lms/test_ccx.py b/common/test/acceptance/tests/lms/test_ccx.py index 3a5c4f4847..cc2d428dbd 100644 --- a/common/test/acceptance/tests/lms/test_ccx.py +++ b/common/test/acceptance/tests/lms/test_ccx.py @@ -2,6 +2,7 @@ """ End-to-end tests for the CCX dashboard. """ +from __future__ import absolute_import from common.test.acceptance.fixtures.course import CourseFixture from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.lms.ccx_dashboard_page import CoachDashboardPage diff --git a/common/test/acceptance/tests/lms/test_certificate_web_view.py b/common/test/acceptance/tests/lms/test_certificate_web_view.py index b4f38a0b13..ee4893c9f2 100644 --- a/common/test/acceptance/tests/lms/test_certificate_web_view.py +++ b/common/test/acceptance/tests/lms/test_certificate_web_view.py @@ -1,6 +1,7 @@ """ Acceptance tests for the certificate web view feature. """ +from __future__ import absolute_import from common.test.acceptance.fixtures.certificates import CertificateConfigFixture from common.test.acceptance.fixtures.course import CourseFixture from common.test.acceptance.pages.common.auto_auth import AutoAuthPage diff --git a/common/test/acceptance/tests/lms/test_conditional.py b/common/test/acceptance/tests/lms/test_conditional.py index 82ba6546f9..40580676fe 100644 --- a/common/test/acceptance/tests/lms/test_conditional.py +++ b/common/test/acceptance/tests/lms/test_conditional.py @@ -2,6 +2,7 @@ Bok choy acceptance tests for conditionals in the LMS """ +from __future__ import absolute_import from capa.tests.response_xml_factory import StringResponseXMLFactory from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage diff --git a/common/test/acceptance/tests/lms/test_learner_profile.py b/common/test/acceptance/tests/lms/test_learner_profile.py index 7401706b43..570174690f 100644 --- a/common/test/acceptance/tests/lms/test_learner_profile.py +++ b/common/test/acceptance/tests/lms/test_learner_profile.py @@ -2,6 +2,7 @@ """ End-to-end tests for Student's Profile Page. """ +from __future__ import absolute_import from contextlib import contextmanager from datetime import datetime from unittest import skip @@ -11,6 +12,7 @@ from common.test.acceptance.pages.common.logout import LogoutPage from common.test.acceptance.pages.lms.account_settings import AccountSettingsPage from common.test.acceptance.pages.lms.learner_profile import LearnerProfilePage from common.test.acceptance.tests.helpers import AcceptanceTest, EventsTestMixin +import six class LearnerProfileTestMixin(EventsTestMixin): @@ -130,7 +132,7 @@ class LearnerProfileTestMixin(EventsTestMixin): 'event': { 'user_id': int(profile_user_id), 'page': 'profile', - 'visibility': unicode(visibility) + 'visibility': six.text_type(visibility) } } ], diff --git a/common/test/acceptance/tests/lms/test_library.py b/common/test/acceptance/tests/lms/test_library.py index c11c7733fc..544d91e951 100644 --- a/common/test/acceptance/tests/lms/test_library.py +++ b/common/test/acceptance/tests/lms/test_library.py @@ -2,6 +2,7 @@ """ End-to-end tests for LibraryContent block in LMS """ +from __future__ import absolute_import import textwrap import ddt @@ -16,6 +17,7 @@ from common.test.acceptance.pages.lms.library import LibraryContentXBlockWrapper from common.test.acceptance.pages.studio.library import StudioLibraryContainerXBlockWrapper, StudioLibraryContentEditor from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from common.test.acceptance.tests.helpers import TestWithSearchIndexMixin, UniqueCourseTest +import six SECTION_NAME = 'Test Section' SUBSECTION_NAME = 'Test Subsection' @@ -66,7 +68,7 @@ class LibraryContentTestBase(UniqueCourseTest): ) library_content_metadata = { - 'source_library_id': unicode(self.library_key), + 'source_library_id': six.text_type(self.library_key), 'mode': 'random', 'max_count': 1, } diff --git a/common/test/acceptance/tests/lms/test_lms.py b/common/test/acceptance/tests/lms/test_lms.py index e8e7a018a6..7b7a6a5ad4 100644 --- a/common/test/acceptance/tests/lms/test_lms.py +++ b/common/test/acceptance/tests/lms/test_lms.py @@ -2,6 +2,7 @@ """ End-to-end tests for the LMS. """ +from __future__ import absolute_import import json from datetime import datetime, timedelta @@ -44,6 +45,7 @@ from common.test.acceptance.tests.helpers import ( remove_file ) from openedx.core.lib.tests import attr +from six.moves import range @attr(shard=19) @@ -972,7 +974,7 @@ class EntranceExamTest(UniqueCourseTest): """ # visit the course outline and make sure there is no "Entrance Exam" section. self.course_home_page.visit() - self.assertFalse('Entrance Exam' in self.course_home_page.outline.sections.keys()) + self.assertNotIn('Entrance Exam', list(self.course_home_page.outline.sections.keys())) # Logout and login as a staff. LogoutPage(self.browser).visit() @@ -989,7 +991,7 @@ class EntranceExamTest(UniqueCourseTest): # visit the course outline and make sure there is an "Entrance Exam" section. self.course_home_page.visit() - self.assertTrue('Entrance Exam' in self.course_home_page.outline.sections.keys()) + self.assertIn('Entrance Exam', list(self.course_home_page.outline.sections.keys())) # TODO: TNL-6546: Remove test def test_entrance_exam_section_2(self): diff --git a/common/test/acceptance/tests/lms/test_lms_acid_xblock.py b/common/test/acceptance/tests/lms/test_lms_acid_xblock.py index 39b1abf64a..89e4135038 100644 --- a/common/test/acceptance/tests/lms/test_lms_acid_xblock.py +++ b/common/test/acceptance/tests/lms/test_lms_acid_xblock.py @@ -3,6 +3,7 @@ End-to-end tests for the LMS. """ +from __future__ import absolute_import import pytest from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc diff --git a/common/test/acceptance/tests/lms/test_lms_cohorted_courseware_search.py b/common/test/acceptance/tests/lms/test_lms_cohorted_courseware_search.py index 677ee984f6..3d0acdc70b 100644 --- a/common/test/acceptance/tests/lms/test_lms_cohorted_courseware_search.py +++ b/common/test/acceptance/tests/lms/test_lms_cohorted_courseware_search.py @@ -2,6 +2,7 @@ Test courseware search """ +from __future__ import absolute_import import json import uuid diff --git a/common/test/acceptance/tests/lms/test_lms_course_discovery.py b/common/test/acceptance/tests/lms/test_lms_course_discovery.py index bc49a98b29..f32ee6cdcd 100644 --- a/common/test/acceptance/tests/lms/test_lms_course_discovery.py +++ b/common/test/acceptance/tests/lms/test_lms_course_discovery.py @@ -1,6 +1,7 @@ """ Test course discovery. """ +from __future__ import absolute_import import datetime import json import uuid @@ -10,6 +11,7 @@ from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.common.logout import LogoutPage from common.test.acceptance.pages.lms.discovery import CourseDiscoveryPage from common.test.acceptance.tests.helpers import AcceptanceTest, remove_file +from six.moves import range class CourseDiscoveryTest(AcceptanceTest): diff --git a/common/test/acceptance/tests/lms/test_lms_course_home.py b/common/test/acceptance/tests/lms/test_lms_course_home.py index 0011659814..715bd7c916 100644 --- a/common/test/acceptance/tests/lms/test_lms_course_home.py +++ b/common/test/acceptance/tests/lms/test_lms_course_home.py @@ -3,6 +3,8 @@ End-to-end tests for the LMS that utilize the course home page and course outline. """ +from __future__ import absolute_import +import six from common.test.acceptance.pages.lms.create_mode import ModeCreationPage from openedx.core.lib.tests import attr @@ -97,7 +99,7 @@ class CourseHomeTest(CourseHomeBaseTest): } actual_sections = self.course_home_page.outline.sections - for section, subsections in EXPECTED_SECTIONS.iteritems(): + for section, _ in six.iteritems(EXPECTED_SECTIONS): self.assertIn(section, actual_sections) self.assertEqual(actual_sections[section], EXPECTED_SECTIONS[section]) diff --git a/common/test/acceptance/tests/lms/test_lms_courseware.py b/common/test/acceptance/tests/lms/test_lms_courseware.py index b36d80f216..f12f5690e8 100644 --- a/common/test/acceptance/tests/lms/test_lms_courseware.py +++ b/common/test/acceptance/tests/lms/test_lms_courseware.py @@ -3,9 +3,10 @@ End-to-end tests for the LMS. """ +from __future__ import absolute_import import json from datetime import datetime, timedelta - +from six.moves import range import ddt from openedx.core.lib.tests import attr diff --git a/common/test/acceptance/tests/lms/test_lms_courseware_search.py b/common/test/acceptance/tests/lms/test_lms_courseware_search.py index d22f712cbf..db9183cd5a 100644 --- a/common/test/acceptance/tests/lms/test_lms_courseware_search.py +++ b/common/test/acceptance/tests/lms/test_lms_courseware_search.py @@ -1,6 +1,7 @@ """ Test courseware search """ +from __future__ import absolute_import import json from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc diff --git a/common/test/acceptance/tests/lms/test_lms_dashboard.py b/common/test/acceptance/tests/lms/test_lms_dashboard.py index 838927ba7d..4c47175478 100644 --- a/common/test/acceptance/tests/lms/test_lms_dashboard.py +++ b/common/test/acceptance/tests/lms/test_lms_dashboard.py @@ -2,12 +2,14 @@ """ End-to-end tests for the main LMS Dashboard (aka, Student Dashboard). """ +from __future__ import absolute_import import datetime from common.test.acceptance.fixtures.course import CourseFixture from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.lms.dashboard import DashboardPage from common.test.acceptance.tests.helpers import UniqueCourseTest, generate_course_key +import six DEFAULT_SHORT_DATE_FORMAT = u'{dt:%b} {dt.day}, {dt.year}' TEST_DATE_FORMAT = u'{dt:%b} {dt.day}, {dt.year} {dt.hour:02}:{dt.minute:02}' @@ -102,7 +104,7 @@ class BaseLmsDashboardTestMultiple(UniqueCourseTest): self.course_keys = {} self.course_fixtures = {} - for key, value in self.courses.iteritems(): + for key, value in six.iteritems(self.courses): course_key = generate_course_key( value['org'], value['number'], diff --git a/common/test/acceptance/tests/lms/test_lms_dashboard_search.py b/common/test/acceptance/tests/lms/test_lms_dashboard_search.py index 9c95f86378..5896888b2b 100644 --- a/common/test/acceptance/tests/lms/test_lms_dashboard_search.py +++ b/common/test/acceptance/tests/lms/test_lms_dashboard_search.py @@ -1,6 +1,7 @@ """ Test dashboard search """ +from __future__ import absolute_import import json import os @@ -13,6 +14,7 @@ from common.test.acceptance.pages.studio.container import ContainerPage from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from common.test.acceptance.pages.studio.utils import add_html_component, type_in_codemirror from common.test.acceptance.tests.helpers import AcceptanceTest, generate_course_key +import six class DashboardSearchTest(AcceptanceTest): @@ -64,7 +66,7 @@ class DashboardSearchTest(AcceptanceTest): # generate course fixtures and outline pages self.studio_course_outlines = {} self.course_fixtures = {} - for key, course_info in self.courses.iteritems(): + for key, course_info in six.iteritems(self.courses): studio_course_outline = StudioCourseOutlinePage( self.browser, course_info['org'], diff --git a/common/test/acceptance/tests/lms/test_lms_edxnotes.py b/common/test/acceptance/tests/lms/test_lms_edxnotes.py index 38dfb68bd1..60a229ba21 100644 --- a/common/test/acceptance/tests/lms/test_lms_edxnotes.py +++ b/common/test/acceptance/tests/lms/test_lms_edxnotes.py @@ -1,6 +1,7 @@ """ Test LMS Notes """ +from __future__ import absolute_import import random from datetime import datetime from unittest import skip @@ -14,6 +15,7 @@ from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.edxnotes import EdxNotesPage, EdxNotesPageNoContent, EdxNotesUnitPage from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest from openedx.core.lib.tests import attr +from six.moves import range class EdxNotesTestMixin(UniqueCourseTest): @@ -166,12 +168,12 @@ class EdxNotesDefaultInteractionsTest(EdxNotesTestMixin): def assert_text_in_notes(self, notes): actual = [note.text for note in notes] - expected = [u"TEST TEXT {}".format(i) for i in xrange(len(notes))] + expected = [u"TEST TEXT {}".format(i) for i in range(len(notes))] self.assertEqual(expected, actual) def assert_tags_in_notes(self, notes, expected_tags): actual = [note.tags for note in notes] - expected = [expected_tags[i] for i in xrange(len(notes))] + expected = [expected_tags[i] for i in range(len(notes))] self.assertEqual(expected, actual) def test_can_create_notes(self): diff --git a/common/test/acceptance/tests/lms/test_lms_entrance_exams.py b/common/test/acceptance/tests/lms/test_lms_entrance_exams.py index 24ff7ae24e..92210da102 100644 --- a/common/test/acceptance/tests/lms/test_lms_entrance_exams.py +++ b/common/test/acceptance/tests/lms/test_lms_entrance_exams.py @@ -2,6 +2,7 @@ """ Bok choy acceptance tests for Entrance exams in the LMS """ +from __future__ import absolute_import from textwrap import dedent from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc diff --git a/common/test/acceptance/tests/lms/test_lms_gating.py b/common/test/acceptance/tests/lms/test_lms_gating.py index a0c838b5fc..13e8edce4a 100644 --- a/common/test/acceptance/tests/lms/test_lms_gating.py +++ b/common/test/acceptance/tests/lms/test_lms_gating.py @@ -2,6 +2,7 @@ """ End-to-end tests for the gating feature. """ +from __future__ import absolute_import from textwrap import dedent from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc diff --git a/common/test/acceptance/tests/lms/test_lms_help.py b/common/test/acceptance/tests/lms/test_lms_help.py index ad9ad933cc..3fa5e42f2b 100644 --- a/common/test/acceptance/tests/lms/test_lms_help.py +++ b/common/test/acceptance/tests/lms/test_lms_help.py @@ -2,6 +2,7 @@ Test Help links in LMS """ +from __future__ import absolute_import from common.test.acceptance.fixtures.course import CourseFixture from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage from common.test.acceptance.tests.discussion.helpers import CohortTestMixin diff --git a/common/test/acceptance/tests/lms/test_lms_index.py b/common/test/acceptance/tests/lms/test_lms_index.py index 4103ab8e95..472e42b1c4 100644 --- a/common/test/acceptance/tests/lms/test_lms_index.py +++ b/common/test/acceptance/tests/lms/test_lms_index.py @@ -3,6 +3,7 @@ End-to-end tests for the LMS Index page (aka, Home page). Note that this is different than what students see @ edx.org because we redirect requests to a separate web application. """ +from __future__ import absolute_import import datetime from common.test.acceptance.pages.lms.index import IndexPage diff --git a/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py b/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py index 6acd3365c3..0c55b3bb9d 100644 --- a/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py +++ b/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py @@ -3,6 +3,7 @@ End-to-end tests for the LMS Instructor Dashboard. """ +from __future__ import absolute_import import ddt from bok_choy.promise import EmptyPromise @@ -31,6 +32,7 @@ from common.test.acceptance.tests.helpers import ( get_modal_alert ) from openedx.core.lib.tests import attr +from six.moves import range class BaseInstructorDashboardTest(EventsTestMixin, UniqueCourseTest): diff --git a/common/test/acceptance/tests/lms/test_lms_lti.py b/common/test/acceptance/tests/lms/test_lms_lti.py index b31c69f09e..83a733968d 100644 --- a/common/test/acceptance/tests/lms/test_lms_lti.py +++ b/common/test/acceptance/tests/lms/test_lms_lti.py @@ -2,6 +2,7 @@ """ Bok choy acceptance tests for LTI xblock """ +from __future__ import absolute_import import os from common.test.acceptance.pages.lms.instructor_dashboard import ( diff --git a/common/test/acceptance/tests/lms/test_lms_problems.py b/common/test/acceptance/tests/lms/test_lms_problems.py index af0fd9bdf5..e271fd688e 100644 --- a/common/test/acceptance/tests/lms/test_lms_problems.py +++ b/common/test/acceptance/tests/lms/test_lms_problems.py @@ -2,6 +2,7 @@ """ Bok choy acceptance tests for problems in the LMS """ +from __future__ import absolute_import from textwrap import dedent import time import ddt diff --git a/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py b/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py index 754b227fb4..0fb55ffaff 100644 --- a/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py +++ b/common/test/acceptance/tests/lms/test_lms_split_test_courseware_search.py @@ -2,6 +2,7 @@ Test courseware search """ +from __future__ import absolute_import import json from common.test.acceptance.fixtures.course import XBlockFixtureDesc diff --git a/common/test/acceptance/tests/lms/test_lms_user_preview.py b/common/test/acceptance/tests/lms/test_lms_user_preview.py index a09eeb6e2f..d7e994658c 100644 --- a/common/test/acceptance/tests/lms/test_lms_user_preview.py +++ b/common/test/acceptance/tests/lms/test_lms_user_preview.py @@ -3,6 +3,7 @@ Tests the "preview" selector in the LMS that allows changing between Staff, Learner, and Content Groups. """ +from __future__ import absolute_import from textwrap import dedent from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc diff --git a/common/test/acceptance/tests/lms/test_oauth2.py b/common/test/acceptance/tests/lms/test_oauth2.py index 8fa862a95b..44de1e3efe 100644 --- a/common/test/acceptance/tests/lms/test_oauth2.py +++ b/common/test/acceptance/tests/lms/test_oauth2.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- """Tests for OAuth2 permission delegation.""" -from urlparse import parse_qsl, urlparse +from __future__ import absolute_import +from six.moves.urllib.parse import parse_qsl, urlparse # pylint: disable=import-error from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.lms.oauth2_confirmation import OAuth2Confirmation diff --git a/common/test/acceptance/tests/lms/test_problem_types.py b/common/test/acceptance/tests/lms/test_problem_types.py index b2d9596ede..c3a68d02a3 100644 --- a/common/test/acceptance/tests/lms/test_problem_types.py +++ b/common/test/acceptance/tests/lms/test_problem_types.py @@ -1,6 +1,7 @@ """ Bok choy acceptance and a11y tests for problem types in the LMS """ +from __future__ import absolute_import import random import textwrap from abc import ABCMeta, abstractmethod @@ -30,6 +31,8 @@ from common.test.acceptance.pages.lms.problem import ProblemPage from common.test.acceptance.tests.helpers import EventsTestMixin, select_option_by_text from common.test.acceptance.tests.lms.test_lms_problems import ProblemsTest from openedx.core.lib.tests import attr +import six +from six.moves import range class ProblemTypeTestBaseMeta(ABCMeta): @@ -62,7 +65,7 @@ class ProblemTypeTestBaseMeta(ABCMeta): return obj -class ProblemTypeTestBase(ProblemsTest, EventsTestMixin): +class ProblemTypeTestBase(six.with_metaclass(ProblemTypeTestBaseMeta, ProblemsTest, EventsTestMixin)): """ Base class for testing assesment problem types in bok choy. @@ -78,7 +81,6 @@ class ProblemTypeTestBase(ProblemsTest, EventsTestMixin): Additionally, the default values for factory_kwargs and status_indicators may need to be overridden for some problem types. """ - __metaclass__ = ProblemTypeTestBaseMeta problem_name = None problem_type = None diff --git a/common/test/acceptance/tests/lms/test_programs.py b/common/test/acceptance/tests/lms/test_programs.py index e139b9d884..bb33ef56b1 100644 --- a/common/test/acceptance/tests/lms/test_programs.py +++ b/common/test/acceptance/tests/lms/test_programs.py @@ -1,4 +1,5 @@ """Acceptance tests for LMS-hosted Programs pages""" +from __future__ import absolute_import from common.test.acceptance.fixtures.catalog import CatalogFixture, CatalogIntegrationMixin from common.test.acceptance.fixtures.course import CourseFixture from common.test.acceptance.fixtures.programs import ProgramsConfigMixin diff --git a/common/test/acceptance/tests/lms/test_progress_page.py b/common/test/acceptance/tests/lms/test_progress_page.py index e9cf264663..184bf23bba 100644 --- a/common/test/acceptance/tests/lms/test_progress_page.py +++ b/common/test/acceptance/tests/lms/test_progress_page.py @@ -3,6 +3,8 @@ End-to-end tests for the LMS that utilize the progress page. """ +from __future__ import absolute_import +from six.moves import range from contextlib import contextmanager import ddt diff --git a/common/test/acceptance/tests/lms/test_teams.py b/common/test/acceptance/tests/lms/test_teams.py index 43c422610f..808b7dd9ed 100644 --- a/common/test/acceptance/tests/lms/test_teams.py +++ b/common/test/acceptance/tests/lms/test_teams.py @@ -1,6 +1,7 @@ """ Acceptance tests for the teams feature. """ +from __future__ import absolute_import import json import random import time @@ -29,6 +30,8 @@ from common.test.acceptance.pages.lms.teams import ( ) from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest, get_modal_alert from openedx.core.lib.tests import attr +from six.moves import map +from six.moves import range TOPICS_PER_PAGE = 12 @@ -47,12 +50,12 @@ class TeamsTabBase(EventsTestMixin, ForumsConfigMixin, UniqueCourseTest): def create_topics(self, num_topics): """Create `num_topics` test topics.""" - return [{u"description": i, u"name": i, u"id": i} for i in map(str, xrange(num_topics))] + return [{u"description": i, u"name": i, u"id": i} for i in map(str, range(num_topics))] def create_teams(self, topic, num_teams, time_between_creation=0): """Create `num_teams` teams belonging to `topic`.""" teams = [] - for i in xrange(num_teams): + for i in range(num_teams): team = { 'course_id': self.course_id, 'topic_id': topic['id'], @@ -83,7 +86,7 @@ class TeamsTabBase(EventsTestMixin, ForumsConfigMixin, UniqueCourseTest): """Create `num_memberships` users and assign them to `team_id`. The last user created becomes the current user.""" memberships = [] - for __ in xrange(num_memberships): + for __ in range(num_memberships): user_info = AutoAuthPage(self.browser, course_id=self.course_id).visit().user_info memberships.append(user_info) self.create_membership(user_info['username'], team_id) @@ -142,7 +145,7 @@ class TeamsTabBase(EventsTestMixin, ForumsConfigMixin, UniqueCourseTest): team_card_names = page.team_names team_card_descriptions = page.team_descriptions - map(assert_team_equal, expected_teams, team_card_names, team_card_descriptions) + list(map(assert_team_equal, expected_teams, team_card_names, team_card_descriptions)) def verify_my_team_count(self, expected_number_of_teams): """ Verify the number of teams shown on "My Team". """ diff --git a/common/test/acceptance/tests/lms/test_unicode_username_admin.py b/common/test/acceptance/tests/lms/test_unicode_username_admin.py index fb82deda38..1a990a0560 100644 --- a/common/test/acceptance/tests/lms/test_unicode_username_admin.py +++ b/common/test/acceptance/tests/lms/test_unicode_username_admin.py @@ -3,6 +3,7 @@ End-to-end tests for admin change view. """ +from __future__ import absolute_import from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.lms.admin import ChangeUserAdminPage from common.test.acceptance.tests.helpers import AcceptanceTest