From 9fb5c146e8c3e6754e424e782bcd15d6db1bd341 Mon Sep 17 00:00:00 2001 From: Ayub khan Date: Mon, 8 Jul 2019 16:19:14 +0500 Subject: [PATCH] -python 3 compatibility --- common/test/acceptance/tests/__init__.py | 5 +++++ common/test/acceptance/tests/helpers.py | 12 ++++++++---- .../acceptance/tests/lms/test_account_settings.py | 5 +++-- common/test/acceptance/tests/lms/test_bookmarks.py | 3 ++- common/test/acceptance/tests/lms/test_ccx.py | 1 + .../tests/lms/test_certificate_web_view.py | 1 + .../test/acceptance/tests/lms/test_conditional.py | 1 + .../acceptance/tests/lms/test_learner_profile.py | 4 +++- common/test/acceptance/tests/lms/test_library.py | 3 ++- common/test/acceptance/tests/lms/test_lms.py | 12 ++++++------ .../acceptance/tests/lms/test_lms_acid_xblock.py | 1 + .../lms/test_lms_cohorted_courseware_search.py | 3 ++- .../tests/lms/test_lms_course_discovery.py | 4 +++- .../acceptance/tests/lms/test_lms_course_home.py | 1 + .../acceptance/tests/lms/test_lms_courseware.py | 4 +++- .../tests/lms/test_lms_courseware_search.py | 1 + .../acceptance/tests/lms/test_lms_dashboard.py | 4 +++- .../tests/lms/test_lms_dashboard_search.py | 4 +++- .../test/acceptance/tests/lms/test_lms_edxnotes.py | 4 +++- .../tests/lms/test_lms_entrance_exams.py | 1 + .../test/acceptance/tests/lms/test_lms_gating.py | 1 + common/test/acceptance/tests/lms/test_lms_help.py | 9 +++++---- common/test/acceptance/tests/lms/test_lms_index.py | 1 + .../tests/lms/test_lms_instructor_dashboard.py | 3 ++- common/test/acceptance/tests/lms/test_lms_lti.py | 1 + .../test/acceptance/tests/lms/test_lms_problems.py | 4 +++- .../lms/test_lms_split_test_courseware_search.py | 1 + .../acceptance/tests/lms/test_lms_user_preview.py | 1 + common/test/acceptance/tests/lms/test_oauth2.py | 1 + .../acceptance/tests/lms/test_problem_types.py | 7 ++++--- common/test/acceptance/tests/lms/test_programs.py | 1 + .../acceptance/tests/lms/test_progress_page.py | 2 +- common/test/acceptance/tests/lms/test_teams.py | 4 ++-- .../tests/lms/test_unicode_username_admin.py | 1 + .../acceptance/tests/studio/base_studio_test.py | 2 ++ .../acceptance/tests/studio/test_import_export.py | 2 ++ .../tests/studio/test_studio_accessibility_form.py | 2 ++ .../tests/studio/test_studio_acid_xblock.py | 2 ++ .../acceptance/tests/studio/test_studio_asset.py | 5 +++-- .../tests/studio/test_studio_bad_data.py | 5 ++++- .../tests/studio/test_studio_components.py | 2 ++ .../tests/studio/test_studio_container.py | 7 +++++-- .../tests/studio/test_studio_course_create.py | 6 +++++- .../tests/studio/test_studio_course_info.py | 2 ++ .../tests/studio/test_studio_course_team.py | 2 ++ .../studio/test_studio_discussion_component.py | 6 ++++-- .../acceptance/tests/studio/test_studio_general.py | 7 +++++-- .../acceptance/tests/studio/test_studio_grading.py | 8 ++++++-- .../acceptance/tests/studio/test_studio_help.py | 4 ++++ .../acceptance/tests/studio/test_studio_home.py | 5 ++++- .../tests/studio/test_studio_html_editor.py | 9 +++++---- .../acceptance/tests/studio/test_studio_library.py | 5 ++++- .../tests/studio/test_studio_library_container.py | 5 ++++- .../acceptance/tests/studio/test_studio_outline.py | 10 +++++++--- .../tests/studio/test_studio_problem_editor.py | 8 +++++--- .../acceptance/tests/studio/test_studio_rerun.py | 5 ++++- .../tests/studio/test_studio_settings.py | 14 ++++++++------ .../studio/test_studio_settings_certificates.py | 2 ++ .../tests/studio/test_studio_settings_details.py | 6 +++++- .../tests/studio/test_studio_split_test.py | 7 +++++-- .../acceptance/tests/studio/test_studio_tabs.py | 4 +++- .../tests/studio/test_studio_textbooks.py | 2 ++ common/test/acceptance/tests/test_annotatable.py | 12 ++++++++---- .../acceptance/tests/test_cohorted_courseware.py | 5 ++++- .../tests/xblock/test_crowdsourcehinter_problem.py | 2 ++ 65 files changed, 200 insertions(+), 74 deletions(-) diff --git a/common/test/acceptance/tests/__init__.py b/common/test/acceptance/tests/__init__.py index 1d505cb4e6..b71f52f7f7 100644 --- a/common/test/acceptance/tests/__init__.py +++ b/common/test/acceptance/tests/__init__.py @@ -1,3 +1,8 @@ +""" +Contains the Acceptance tests. +""" +from __future__ import absolute_import + import logging # Silence noisy loggers diff --git a/common/test/acceptance/tests/helpers.py b/common/test/acceptance/tests/helpers.py index 4a565efc95..87ee595643 100644 --- a/common/test/acceptance/tests/helpers.py +++ b/common/test/acceptance/tests/helpers.py @@ -2,6 +2,8 @@ Test helper functions and base classes. """ +from __future__ import absolute_import + import functools import inspect import io @@ -10,12 +12,13 @@ import operator import os import pprint import sys -import urlparse from contextlib import contextmanager from datetime import datetime from unittest import SkipTest, TestCase import requests +import six +import six.moves.urllib.parse # pylint: disable=import-error from bok_choy.javascript import js_defined from bok_choy.page_object import XSS_INJECTION from bok_choy.promise import EmptyPromise, Promise @@ -28,6 +31,7 @@ from selenium.webdriver.common.keys import Keys from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.select import Select from selenium.webdriver.support.ui import WebDriverWait +from six.moves import range, zip from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory from common.test.acceptance.fixtures.course import XBlockFixtureDesc @@ -86,7 +90,7 @@ def is_youtube_available(): 'transcript': 'http://video.google.com/timedtext?lang=en&v=3_yD_cEKoCk', } - for url in youtube_api_urls.itervalues(): + for url in six.itervalues(youtube_api_urls): try: response = requests.get(url, allow_redirects=False) except requests.exceptions.ConnectionError: @@ -672,7 +676,7 @@ class EventsTestMixin(TestCase): def relative_path_to_absolute_uri(self, relative_path): """Return an aboslute URI given a relative path taking into account the test context.""" - return urlparse.urljoin(BASE_URL, relative_path) + return six.moves.urllib.parse.urljoin(BASE_URL, relative_path) def event_filter_to_descriptive_string(self, event_filter): """Find the source code of the callable or pretty-print the dictionary""" @@ -817,7 +821,7 @@ class UniqueCourseTest(AcceptanceTest): self.course_info['run'], deprecated=(default_store == 'draft') ) - return unicode(course_key) + return six.text_type(course_key) class YouTubeConfigError(Exception): diff --git a/common/test/acceptance/tests/lms/test_account_settings.py b/common/test/acceptance/tests/lms/test_account_settings.py index 4112132272..367f151918 100644 --- a/common/test/acceptance/tests/lms/test_account_settings.py +++ b/common/test/acceptance/tests/lms/test_account_settings.py @@ -3,17 +3,18 @@ End-to-end tests for the Account Settings page. """ from __future__ import absolute_import + from datetime import datetime from unittest import skip +import six from bok_choy.page_object import XSS_INJECTION from pytz import timezone, utc -from common.test.acceptance.pages.common.auto_auth import AutoAuthPage, FULL_NAME +from common.test.acceptance.pages.common.auto_auth import FULL_NAME, AutoAuthPage 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): diff --git a/common/test/acceptance/tests/lms/test_bookmarks.py b/common/test/acceptance/tests/lms/test_bookmarks.py index 2a1a03467d..97110f12d9 100644 --- a/common/test/acceptance/tests/lms/test_bookmarks.py +++ b/common/test/acceptance/tests/lms/test_bookmarks.py @@ -3,10 +3,12 @@ End-to-end tests for the courseware unit bookmarks. """ from __future__ import absolute_import + import json from unittest import skip import requests +from six.moves import range from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.common import BASE_URL @@ -17,7 +19,6 @@ 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 cc2d428dbd..a96778198c 100644 --- a/common/test/acceptance/tests/lms/test_ccx.py +++ b/common/test/acceptance/tests/lms/test_ccx.py @@ -3,6 +3,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 ee4893c9f2..afd493756c 100644 --- a/common/test/acceptance/tests/lms/test_certificate_web_view.py +++ b/common/test/acceptance/tests/lms/test_certificate_web_view.py @@ -2,6 +2,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 40580676fe..7e6e4d4eb7 100644 --- a/common/test/acceptance/tests/lms/test_conditional.py +++ b/common/test/acceptance/tests/lms/test_conditional.py @@ -3,6 +3,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 570174690f..99581aed3a 100644 --- a/common/test/acceptance/tests/lms/test_learner_profile.py +++ b/common/test/acceptance/tests/lms/test_learner_profile.py @@ -3,16 +3,18 @@ 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 +import six + 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.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): diff --git a/common/test/acceptance/tests/lms/test_library.py b/common/test/acceptance/tests/lms/test_library.py index 544d91e951..102cb1eab7 100644 --- a/common/test/acceptance/tests/lms/test_library.py +++ b/common/test/acceptance/tests/lms/test_library.py @@ -3,9 +3,11 @@ End-to-end tests for LibraryContent block in LMS """ from __future__ import absolute_import + import textwrap import ddt +import six from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.fixtures.library import LibraryFixture @@ -17,7 +19,6 @@ 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' diff --git a/common/test/acceptance/tests/lms/test_lms.py b/common/test/acceptance/tests/lms/test_lms.py index 7b7a6a5ad4..a627ab6f81 100644 --- a/common/test/acceptance/tests/lms/test_lms.py +++ b/common/test/acceptance/tests/lms/test_lms.py @@ -3,12 +3,13 @@ End-to-end tests for the LMS. """ from __future__ import absolute_import -import json +import json from datetime import datetime, timedelta from textwrap import dedent import pytz +from six.moves import range from common.test.acceptance.fixtures.course import CourseFixture, CourseUpdateDesc, XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage @@ -16,6 +17,7 @@ from common.test.acceptance.pages.common.logout import LogoutPage from common.test.acceptance.pages.common.utils import enroll_user_track from common.test.acceptance.pages.lms import BASE_URL from common.test.acceptance.pages.lms.account_settings import AccountSettingsPage +from common.test.acceptance.pages.lms.course_about import CourseAboutPage from common.test.acceptance.pages.lms.course_home import CourseHomePage from common.test.acceptance.pages.lms.course_wiki import ( CourseWikiChildrenPage, @@ -26,14 +28,13 @@ from common.test.acceptance.pages.lms.course_wiki import ( from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.create_mode import ModeCreationPage from common.test.acceptance.pages.lms.dashboard import DashboardPage +from common.test.acceptance.pages.lms.discovery import CourseDiscoveryPage from common.test.acceptance.pages.lms.login_and_register import CombinedLoginAndRegisterPage, ResetPasswordPage from common.test.acceptance.pages.lms.pay_and_verify import FakePaymentPage, PaymentAndVerificationFlow from common.test.acceptance.pages.lms.problem import ProblemPage from common.test.acceptance.pages.lms.progress import ProgressPage from common.test.acceptance.pages.lms.tab_nav import TabNavPage from common.test.acceptance.pages.lms.video.video import VideoPage -from common.test.acceptance.pages.lms.discovery import CourseDiscoveryPage -from common.test.acceptance.pages.lms.course_about import CourseAboutPage from common.test.acceptance.pages.studio.settings import SettingsPage from common.test.acceptance.tests.helpers import ( EventsTestMixin, @@ -41,11 +42,10 @@ from common.test.acceptance.tests.helpers import ( element_has_text, get_selected_option_text, load_data_str, - select_option_by_text, - remove_file + remove_file, + select_option_by_text ) from openedx.core.lib.tests import attr -from six.moves import range @attr(shard=19) 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 89e4135038..12b7d4bb99 100644 --- a/common/test/acceptance/tests/lms/test_lms_acid_xblock.py +++ b/common/test/acceptance/tests/lms/test_lms_acid_xblock.py @@ -4,6 +4,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 3d0acdc70b..733e107a5c 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 @@ -3,6 +3,7 @@ Test courseware search """ from __future__ import absolute_import + import json import uuid @@ -12,9 +13,9 @@ from common.test.acceptance.pages.common.logout import LogoutPage from common.test.acceptance.pages.lms.course_home import CourseHomePage from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage -from common.test.acceptance.pages.studio.xblock_editor import XBlockVisibilityEditorView from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from common.test.acceptance.pages.studio.settings_group_configurations import GroupConfigurationsPage +from common.test.acceptance.pages.studio.xblock_editor import XBlockVisibilityEditorView from common.test.acceptance.tests.discussion.helpers import CohortTestMixin from common.test.acceptance.tests.helpers import remove_file from common.test.acceptance.tests.studio.base_studio_test import ContainerBase 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 f32ee6cdcd..903562a2f7 100644 --- a/common/test/acceptance/tests/lms/test_lms_course_discovery.py +++ b/common/test/acceptance/tests/lms/test_lms_course_discovery.py @@ -2,16 +2,18 @@ Test course discovery. """ from __future__ import absolute_import + import datetime import json import uuid +from six.moves import range + from common.test.acceptance.fixtures.course import CourseFixture 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 ef315714dc..1a95db759d 100644 --- a/common/test/acceptance/tests/lms/test_lms_course_home.py +++ b/common/test/acceptance/tests/lms/test_lms_course_home.py @@ -11,6 +11,7 @@ import six from common.test.acceptance.pages.lms.create_mode import ModeCreationPage from openedx.core.lib.tests import attr + from ...fixtures.course import CourseFixture, XBlockFixtureDesc from ...pages.lms.bookmarks import BookmarksPage from ...pages.lms.course_home import CourseHomePage diff --git a/common/test/acceptance/tests/lms/test_lms_courseware.py b/common/test/acceptance/tests/lms/test_lms_courseware.py index 2e2f6fc4ba..e9433db9f7 100644 --- a/common/test/acceptance/tests/lms/test_lms_courseware.py +++ b/common/test/acceptance/tests/lms/test_lms_courseware.py @@ -4,10 +4,12 @@ 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 six.moves import range 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 db9183cd5a..a0f9c2abed 100644 --- a/common/test/acceptance/tests/lms/test_lms_courseware_search.py +++ b/common/test/acceptance/tests/lms/test_lms_courseware_search.py @@ -2,6 +2,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 4c47175478..7422578816 100644 --- a/common/test/acceptance/tests/lms/test_lms_dashboard.py +++ b/common/test/acceptance/tests/lms/test_lms_dashboard.py @@ -3,13 +3,15 @@ End-to-end tests for the main LMS Dashboard (aka, Student Dashboard). """ from __future__ import absolute_import + import datetime +import six + 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}' 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 5896888b2b..db7d53f9dd 100644 --- a/common/test/acceptance/tests/lms/test_lms_dashboard_search.py +++ b/common/test/acceptance/tests/lms/test_lms_dashboard_search.py @@ -2,9 +2,12 @@ Test dashboard search """ from __future__ import absolute_import + import json import os +import six + from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.common.logout import LogoutPage @@ -14,7 +17,6 @@ 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): diff --git a/common/test/acceptance/tests/lms/test_lms_edxnotes.py b/common/test/acceptance/tests/lms/test_lms_edxnotes.py index 60a229ba21..0d0ad06404 100644 --- a/common/test/acceptance/tests/lms/test_lms_edxnotes.py +++ b/common/test/acceptance/tests/lms/test_lms_edxnotes.py @@ -2,11 +2,14 @@ Test LMS Notes """ from __future__ import absolute_import + import random from datetime import datetime from unittest import skip from uuid import uuid4 +from six.moves import range + from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.fixtures.edxnotes import EdxNotesFixture, Note, Range from common.test.acceptance.pages.common.auto_auth import AutoAuthPage @@ -15,7 +18,6 @@ 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): 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 92210da102..3462d89b91 100644 --- a/common/test/acceptance/tests/lms/test_lms_entrance_exams.py +++ b/common/test/acceptance/tests/lms/test_lms_entrance_exams.py @@ -3,6 +3,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 13e8edce4a..0673c1baa2 100644 --- a/common/test/acceptance/tests/lms/test_lms_gating.py +++ b/common/test/acceptance/tests/lms/test_lms_gating.py @@ -3,6 +3,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 3fa5e42f2b..c7872a6e18 100644 --- a/common/test/acceptance/tests/lms/test_lms_help.py +++ b/common/test/acceptance/tests/lms/test_lms_help.py @@ -3,16 +3,17 @@ 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 -from common.test.acceptance.tests.lms.test_lms_instructor_dashboard import BaseInstructorDashboardTest -from common.test.acceptance.tests.studio.base_studio_test import ContainerBase from common.test.acceptance.tests.helpers import ( assert_opened_help_link_is_correct, - url_for_help, - click_and_wait_for_window + click_and_wait_for_window, + url_for_help ) +from common.test.acceptance.tests.lms.test_lms_instructor_dashboard import BaseInstructorDashboardTest +from common.test.acceptance.tests.studio.base_studio_test import ContainerBase from openedx.core.release import skip_unless_master # @skip_unless_master is used throughout this file because on named release diff --git a/common/test/acceptance/tests/lms/test_lms_index.py b/common/test/acceptance/tests/lms/test_lms_index.py index 472e42b1c4..c24c6f359a 100644 --- a/common/test/acceptance/tests/lms/test_lms_index.py +++ b/common/test/acceptance/tests/lms/test_lms_index.py @@ -4,6 +4,7 @@ End-to-end tests for the LMS Index page (aka, Home page). Note that this is dif 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 0c55b3bb9d..a5b6e838a8 100644 --- a/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py +++ b/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py @@ -4,8 +4,10 @@ End-to-end tests for the LMS Instructor Dashboard. """ from __future__ import absolute_import + import ddt from bok_choy.promise import EmptyPromise +from six.moves import range from common.test.acceptance.fixtures.certificates import CertificateConfigFixture from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc @@ -32,7 +34,6 @@ 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 83a733968d..ae013d1a69 100644 --- a/common/test/acceptance/tests/lms/test_lms_lti.py +++ b/common/test/acceptance/tests/lms/test_lms_lti.py @@ -3,6 +3,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 ccd1c366a9..9deeb06ae2 100644 --- a/common/test/acceptance/tests/lms/test_lms_problems.py +++ b/common/test/acceptance/tests/lms/test_lms_problems.py @@ -3,8 +3,10 @@ Bok choy acceptance tests for problems in the LMS """ from __future__ import absolute_import -from textwrap import dedent + import time +from textwrap import dedent + import ddt from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc 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 0fb55ffaff..adbfdcee19 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 @@ -3,6 +3,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 d7e994658c..e4b476fbea 100644 --- a/common/test/acceptance/tests/lms/test_lms_user_preview.py +++ b/common/test/acceptance/tests/lms/test_lms_user_preview.py @@ -4,6 +4,7 @@ Tests the "preview" selector in the LMS that allows changing between Staff, Lear """ 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 44de1e3efe..7edc5a63a6 100644 --- a/common/test/acceptance/tests/lms/test_oauth2.py +++ b/common/test/acceptance/tests/lms/test_oauth2.py @@ -2,6 +2,7 @@ """Tests for OAuth2 permission delegation.""" 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 diff --git a/common/test/acceptance/tests/lms/test_problem_types.py b/common/test/acceptance/tests/lms/test_problem_types.py index c3a68d02a3..5048909d5e 100644 --- a/common/test/acceptance/tests/lms/test_problem_types.py +++ b/common/test/acceptance/tests/lms/test_problem_types.py @@ -2,14 +2,17 @@ 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 import ddt import pytest -from selenium.webdriver import ActionChains +import six from bok_choy.promise import BrokenPromise +from selenium.webdriver import ActionChains +from six.moves import range from capa.tests.response_xml_factory import ( AnnotationResponseXMLFactory, @@ -31,8 +34,6 @@ 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): diff --git a/common/test/acceptance/tests/lms/test_programs.py b/common/test/acceptance/tests/lms/test_programs.py index bb33ef56b1..4574f98e50 100644 --- a/common/test/acceptance/tests/lms/test_programs.py +++ b/common/test/acceptance/tests/lms/test_programs.py @@ -1,5 +1,6 @@ """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 eab3d3002b..607cc7490f 100644 --- a/common/test/acceptance/tests/lms/test_progress_page.py +++ b/common/test/acceptance/tests/lms/test_progress_page.py @@ -16,9 +16,9 @@ from ...pages.lms.courseware import CoursewarePage from ...pages.lms.instructor_dashboard import InstructorDashboardPage, StudentSpecificAdmin from ...pages.lms.problem import ProblemPage from ...pages.lms.progress import ProgressPage -from ...pages.studio.xblock_editor import XBlockEditorView from ...pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage from ...pages.studio.utils import type_in_codemirror +from ...pages.studio.xblock_editor import XBlockEditorView from ..helpers import ( UniqueCourseTest, auto_auth, diff --git a/common/test/acceptance/tests/lms/test_teams.py b/common/test/acceptance/tests/lms/test_teams.py index 808b7dd9ed..29c9546765 100644 --- a/common/test/acceptance/tests/lms/test_teams.py +++ b/common/test/acceptance/tests/lms/test_teams.py @@ -2,6 +2,7 @@ Acceptance tests for the teams feature. """ from __future__ import absolute_import + import json import random import time @@ -10,6 +11,7 @@ from uuid import uuid4 import ddt from dateutil.parser import parse from selenium.common.exceptions import TimeoutException +from six.moves import map, range from common.test.acceptance.fixtures import LMS_BASE_URL from common.test.acceptance.fixtures.course import CourseFixture @@ -30,8 +32,6 @@ 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 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 1a990a0560..f872c34ede 100644 --- a/common/test/acceptance/tests/lms/test_unicode_username_admin.py +++ b/common/test/acceptance/tests/lms/test_unicode_username_admin.py @@ -4,6 +4,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 diff --git a/common/test/acceptance/tests/studio/base_studio_test.py b/common/test/acceptance/tests/studio/base_studio_test.py index 70a0d45f1a..1d01dfadd9 100644 --- a/common/test/acceptance/tests/studio/base_studio_test.py +++ b/common/test/acceptance/tests/studio/base_studio_test.py @@ -1,6 +1,8 @@ """ Base classes used by studio tests. """ +from __future__ import absolute_import + from bok_choy.page_object import XSS_INJECTION from common.test.acceptance.fixtures.course import CourseFixture diff --git a/common/test/acceptance/tests/studio/test_import_export.py b/common/test/acceptance/tests/studio/test_import_export.py index 7a047503ac..21710c3dcd 100644 --- a/common/test/acceptance/tests/studio/test_import_export.py +++ b/common/test/acceptance/tests/studio/test_import_export.py @@ -1,6 +1,8 @@ """ Acceptance tests for the Import and Export pages """ +from __future__ import absolute_import + from abc import abstractmethod from datetime import datetime diff --git a/common/test/acceptance/tests/studio/test_studio_accessibility_form.py b/common/test/acceptance/tests/studio/test_studio_accessibility_form.py index 2c05857f3f..0e8f2a44bf 100644 --- a/common/test/acceptance/tests/studio/test_studio_accessibility_form.py +++ b/common/test/acceptance/tests/studio/test_studio_accessibility_form.py @@ -1,6 +1,8 @@ """ Bok-choy tests for the Studio Accessibility Feedback page. """ +from __future__ import absolute_import + import ddt from common.test.acceptance.pages.studio.index import AccessibilityPage diff --git a/common/test/acceptance/tests/studio/test_studio_acid_xblock.py b/common/test/acceptance/tests/studio/test_studio_acid_xblock.py index a3f6a46e06..edc270b75c 100644 --- a/common/test/acceptance/tests/studio/test_studio_acid_xblock.py +++ b/common/test/acceptance/tests/studio/test_studio_acid_xblock.py @@ -1,6 +1,8 @@ """ Acceptance tests for Studio related to the acid xblock. """ +from __future__ import absolute_import + from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.studio.overview import CourseOutlinePage diff --git a/common/test/acceptance/tests/studio/test_studio_asset.py b/common/test/acceptance/tests/studio/test_studio_asset.py index adf9a5bd59..591f346f1d 100644 --- a/common/test/acceptance/tests/studio/test_studio_asset.py +++ b/common/test/acceptance/tests/studio/test_studio_asset.py @@ -1,11 +1,12 @@ """ Acceptance tests for Studio related to the asset index page. """ +from __future__ import absolute_import + import os -from common.test.acceptance.pages.studio.asset_index import AssetIndexPageStudioFrontend +from common.test.acceptance.pages.studio.asset_index import UPLOAD_FILE_DIR, AssetIndexPageStudioFrontend from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest -from common.test.acceptance.pages.studio.asset_index import UPLOAD_FILE_DIR class AssetIndexTestStudioFrontend(StudioCourseTest): diff --git a/common/test/acceptance/tests/studio/test_studio_bad_data.py b/common/test/acceptance/tests/studio/test_studio_bad_data.py index 4d68a38d6d..817fa1b78a 100644 --- a/common/test/acceptance/tests/studio/test_studio_bad_data.py +++ b/common/test/acceptance/tests/studio/test_studio_bad_data.py @@ -1,10 +1,13 @@ """ Acceptance tests that ensure components with bad content do not break page. """ -from base_studio_test import ContainerBase +from __future__ import absolute_import + from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.studio.utils import verify_ordering +from .base_studio_test import ContainerBase + class BadComponentTest(ContainerBase): """ diff --git a/common/test/acceptance/tests/studio/test_studio_components.py b/common/test/acceptance/tests/studio/test_studio_components.py index 07a6a9e327..7ef8266bf6 100644 --- a/common/test/acceptance/tests/studio/test_studio_components.py +++ b/common/test/acceptance/tests/studio/test_studio_components.py @@ -1,6 +1,8 @@ """ Acceptance tests for adding components in Studio. """ +from __future__ import absolute_import + import ddt from common.test.acceptance.fixtures.course import XBlockFixtureDesc diff --git a/common/test/acceptance/tests/studio/test_studio_container.py b/common/test/acceptance/tests/studio/test_studio_container.py index f997aa6c09..c914d786c2 100644 --- a/common/test/acceptance/tests/studio/test_studio_container.py +++ b/common/test/acceptance/tests/studio/test_studio_container.py @@ -3,24 +3,27 @@ Acceptance tests for Studio related to the container page. The container page is used both for displaying units, and for displaying containers within units. """ +from __future__ import absolute_import + import datetime import ddt -from base_studio_test import ContainerBase from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.create_mode import ModeCreationPage from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage -from common.test.acceptance.pages.studio.xblock_editor import XBlockEditorView, XBlockVisibilityEditorView from common.test.acceptance.pages.studio.container import ContainerPage from common.test.acceptance.pages.studio.html_component_editor import HtmlXBlockEditorView from common.test.acceptance.pages.studio.move_xblock import MoveModalView from common.test.acceptance.pages.studio.utils import add_discussion +from common.test.acceptance.pages.studio.xblock_editor import XBlockEditorView, XBlockVisibilityEditorView from common.test.acceptance.tests.helpers import create_user_partition_json from openedx.core.lib.tests import attr from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID, MINIMUM_STATIC_PARTITION_ID, Group +from .base_studio_test import ContainerBase + class NestedVerticalTest(ContainerBase): diff --git a/common/test/acceptance/tests/studio/test_studio_course_create.py b/common/test/acceptance/tests/studio/test_studio_course_create.py index 0a29d87188..7df2bd6f03 100644 --- a/common/test/acceptance/tests/studio/test_studio_course_create.py +++ b/common/test/acceptance/tests/studio/test_studio_course_create.py @@ -1,9 +1,13 @@ """ Acceptance tests for course creation. """ -import uuid +from __future__ import absolute_import + import random import string +import uuid + +from six.moves import range from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.studio.index import DashboardPage diff --git a/common/test/acceptance/tests/studio/test_studio_course_info.py b/common/test/acceptance/tests/studio/test_studio_course_info.py index 2b66bbf377..a630e24945 100644 --- a/common/test/acceptance/tests/studio/test_studio_course_info.py +++ b/common/test/acceptance/tests/studio/test_studio_course_info.py @@ -1,6 +1,8 @@ """ Acceptance Tests for Course Information """ +from __future__ import absolute_import + from common.test.acceptance.pages.studio.course_info import CourseUpdatesPage from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest diff --git a/common/test/acceptance/tests/studio/test_studio_course_team.py b/common/test/acceptance/tests/studio/test_studio_course_team.py index e4b1a56d22..935e98b3b1 100644 --- a/common/test/acceptance/tests/studio/test_studio_course_team.py +++ b/common/test/acceptance/tests/studio/test_studio_course_team.py @@ -1,6 +1,8 @@ """ Acceptance tests for course in studio """ +from __future__ import absolute_import + from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.studio.index import DashboardPage from common.test.acceptance.pages.studio.users import CourseTeamPage diff --git a/common/test/acceptance/tests/studio/test_studio_discussion_component.py b/common/test/acceptance/tests/studio/test_studio_discussion_component.py index ea58b75f6c..43bf7376e8 100644 --- a/common/test/acceptance/tests/studio/test_studio_discussion_component.py +++ b/common/test/acceptance/tests/studio/test_studio_discussion_component.py @@ -1,11 +1,13 @@ """ Acceptance tests for discussion component in studio """ -from common.test.acceptance.tests.studio.base_studio_test import ContainerBase +from __future__ import absolute_import + from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.studio.container import ContainerPage -from common.test.acceptance.pages.studio.utils import add_component from common.test.acceptance.pages.studio.discussion_component_editor import DiscussionComponentEditor +from common.test.acceptance.pages.studio.utils import add_component +from common.test.acceptance.tests.studio.base_studio_test import ContainerBase class DiscussionComponentTest(ContainerBase): diff --git a/common/test/acceptance/tests/studio/test_studio_general.py b/common/test/acceptance/tests/studio/test_studio_general.py index af77c69e96..eaeda52caf 100644 --- a/common/test/acceptance/tests/studio/test_studio_general.py +++ b/common/test/acceptance/tests/studio/test_studio_general.py @@ -1,11 +1,12 @@ """ Acceptance tests for Studio. """ +from __future__ import absolute_import + import uuid from selenium.webdriver.common.keys import Keys -from base_studio_test import StudioCourseTest from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.studio import LMS_URL @@ -13,7 +14,7 @@ from common.test.acceptance.pages.studio.asset_index import AssetIndexPageStudio from common.test.acceptance.pages.studio.course_info import CourseUpdatesPage from common.test.acceptance.pages.studio.edit_tabs import PagesPage from common.test.acceptance.pages.studio.import_export import ExportCoursePage, ImportCoursePage -from common.test.acceptance.pages.studio.index import DashboardPage, HomePage, IndexPage, AccessibilityPage +from common.test.acceptance.pages.studio.index import AccessibilityPage, DashboardPage, HomePage, IndexPage from common.test.acceptance.pages.studio.login import CourseOutlineSignInRedirectPage, LoginPage from common.test.acceptance.pages.studio.overview import CourseOutlinePage from common.test.acceptance.pages.studio.settings import SettingsPage @@ -24,6 +25,8 @@ from common.test.acceptance.pages.studio.textbook_upload import TextbookUploadPa from common.test.acceptance.pages.studio.users import CourseTeamPage from common.test.acceptance.tests.helpers import AcceptanceTest, UniqueCourseTest +from .base_studio_test import StudioCourseTest + class LoggedOutTest(AcceptanceTest): """ diff --git a/common/test/acceptance/tests/studio/test_studio_grading.py b/common/test/acceptance/tests/studio/test_studio_grading.py index 34aa816b46..2598d47c30 100644 --- a/common/test/acceptance/tests/studio/test_studio_grading.py +++ b/common/test/acceptance/tests/studio/test_studio_grading.py @@ -1,10 +1,14 @@ """ Acceptance tests for grade settings in Studio. """ +from __future__ import absolute_import + +from bok_choy.promise import EmptyPromise +from six.moves import range + +from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.studio.settings_graders import GradingPage from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest -from common.test.acceptance.fixtures.course import XBlockFixtureDesc -from bok_choy.promise import EmptyPromise class GradingPageTest(StudioCourseTest): diff --git a/common/test/acceptance/tests/studio/test_studio_help.py b/common/test/acceptance/tests/studio/test_studio_help.py index 520decf45b..bd2b7d8394 100644 --- a/common/test/acceptance/tests/studio/test_studio_help.py +++ b/common/test/acceptance/tests/studio/test_studio_help.py @@ -3,8 +3,12 @@ Test the Studio help links. """ +from __future__ import absolute_import + from unittest import skip +from six.moves import zip + from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.studio.asset_index import AssetIndexPageStudioFrontend diff --git a/common/test/acceptance/tests/studio/test_studio_home.py b/common/test/acceptance/tests/studio/test_studio_home.py index 342f5338ac..64cee0e951 100644 --- a/common/test/acceptance/tests/studio/test_studio_home.py +++ b/common/test/acceptance/tests/studio/test_studio_home.py @@ -1,14 +1,17 @@ """ Acceptance tests for Home Page (My Courses / My Libraries). """ +from __future__ import absolute_import + import datetime -from base_studio_test import StudioCourseTest from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.lms.account_settings import AccountSettingsPage from common.test.acceptance.pages.studio.index import DashboardPage from common.test.acceptance.tests.helpers import AcceptanceTest, get_selected_option_text, select_option_by_text +from .base_studio_test import StudioCourseTest + class CreateLibraryTest(AcceptanceTest): """ diff --git a/common/test/acceptance/tests/studio/test_studio_html_editor.py b/common/test/acceptance/tests/studio/test_studio_html_editor.py index 54288cc1e6..a770d8926d 100644 --- a/common/test/acceptance/tests/studio/test_studio_html_editor.py +++ b/common/test/acceptance/tests/studio/test_studio_html_editor.py @@ -1,12 +1,13 @@ """ Acceptance tests for HTML component in studio """ -from common.test.acceptance.pages.studio.utils import type_in_codemirror -from common.test.acceptance.tests.studio.base_studio_test import ContainerBase +from __future__ import absolute_import + from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.studio.container import ContainerPage, XBlockWrapper -from common.test.acceptance.pages.studio.utils import add_component -from common.test.acceptance.pages.studio.html_component_editor import HtmlXBlockEditorView, HTMLEditorIframe +from common.test.acceptance.pages.studio.html_component_editor import HTMLEditorIframe, HtmlXBlockEditorView +from common.test.acceptance.pages.studio.utils import add_component, type_in_codemirror +from common.test.acceptance.tests.studio.base_studio_test import ContainerBase class HTMLComponentEditorTests(ContainerBase): diff --git a/common/test/acceptance/tests/studio/test_studio_library.py b/common/test/acceptance/tests/studio/test_studio_library.py index 6e81922d76..2b73851ce7 100644 --- a/common/test/acceptance/tests/studio/test_studio_library.py +++ b/common/test/acceptance/tests/studio/test_studio_library.py @@ -1,7 +1,10 @@ """ Acceptance tests for Content Libraries in Studio """ +from __future__ import absolute_import + from ddt import data, ddt +from six.moves import range from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage @@ -204,7 +207,7 @@ class LibraryNavigationTest(StudioLibraryTest): Create four pages worth of XBlocks, and offset by one so each is named after the number they should be in line by the user's perception. """ - self.blocks = [XBlockFixtureDesc('html', str(i)) for i in xrange(1, 41)] + self.blocks = [XBlockFixtureDesc('html', str(i)) for i in range(1, 41)] library_fixture.add_children(*self.blocks) def test_arbitrary_page_selection(self): diff --git a/common/test/acceptance/tests/studio/test_studio_library_container.py b/common/test/acceptance/tests/studio/test_studio_library_container.py index cdf678669c..5c545cf919 100644 --- a/common/test/acceptance/tests/studio/test_studio_library_container.py +++ b/common/test/acceptance/tests/studio/test_studio_library_container.py @@ -1,9 +1,12 @@ """ Acceptance tests for Library Content in LMS """ +from __future__ import absolute_import + import textwrap import ddt +import six from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.studio.library import StudioLibraryContainerXBlockWrapper, StudioLibraryContentEditor @@ -62,7 +65,7 @@ class StudioLibraryContainerTest(StudioLibraryTest, UniqueCourseTest, TestWithSe def populate_course_fixture(self, course_fixture): """ Install a course with sections/problems, tabs, updates, and handouts """ 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/studio/test_studio_outline.py b/common/test/acceptance/tests/studio/test_studio_outline.py index 76d84e36d1..50395828a0 100644 --- a/common/test/acceptance/tests/studio/test_studio_outline.py +++ b/common/test/acceptance/tests/studio/test_studio_outline.py @@ -2,28 +2,32 @@ """ Acceptance tests for studio related to the outline page. """ +from __future__ import absolute_import + import itertools import json from datetime import datetime, timedelta from unittest import skip from pytz import UTC +from six.moves import range -from base_studio_test import StudioCourseTest from common.test.acceptance.fixtures.config import ConfigModelFixture from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.lms.course_home import CourseHomePage from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.lms.progress import ProgressPage +from common.test.acceptance.pages.studio.checklists import CourseChecklistsPage from common.test.acceptance.pages.studio.overview import ContainerPage, CourseOutlinePage, ExpandCollapseLinkState from common.test.acceptance.pages.studio.settings import SettingsPage -from common.test.acceptance.pages.studio.checklists import CourseChecklistsPage from common.test.acceptance.pages.studio.settings_advanced import AdvancedSettingsPage from common.test.acceptance.pages.studio.settings_group_configurations import GroupConfigurationsPage from common.test.acceptance.pages.studio.utils import add_discussion, drag, verify_ordering from common.test.acceptance.tests.helpers import disable_animations, load_data_str from openedx.core.lib.tests import attr +from .base_studio_test import StudioCourseTest + SECTION_NAME = 'Test Section' SUBSECTION_NAME = 'Test Subsection' UNIT_NAME = 'Test Unit' @@ -1628,7 +1632,7 @@ class PublishSectionTest(CourseOutlineTest): """ Adds unpublished HTML content to first three units in the course. """ - for index in xrange(3): + for index in range(3): self.course_fixture.create_xblock( self.course_fixture.get_nested_xblocks(category="vertical")[index].locator, XBlockFixtureDesc('html', 'Unpublished HTML Component ' + str(index)), diff --git a/common/test/acceptance/tests/studio/test_studio_problem_editor.py b/common/test/acceptance/tests/studio/test_studio_problem_editor.py index 9d9c630ddf..b1ecf90996 100644 --- a/common/test/acceptance/tests/studio/test_studio_problem_editor.py +++ b/common/test/acceptance/tests/studio/test_studio_problem_editor.py @@ -1,12 +1,14 @@ """ Acceptance tests for Problem component in studio """ -from common.test.acceptance.tests.helpers import skip_if_browser -from common.test.acceptance.tests.studio.base_studio_test import ContainerBase +from __future__ import absolute_import + from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.studio.container import ContainerPage -from common.test.acceptance.pages.studio.utils import add_component from common.test.acceptance.pages.studio.problem_editor import ProblemXBlockEditorView +from common.test.acceptance.pages.studio.utils import add_component +from common.test.acceptance.tests.helpers import skip_if_browser +from common.test.acceptance.tests.studio.base_studio_test import ContainerBase class ProblemComponentEditor(ContainerBase): diff --git a/common/test/acceptance/tests/studio/test_studio_rerun.py b/common/test/acceptance/tests/studio/test_studio_rerun.py index 46c66b14db..26dc2f1331 100644 --- a/common/test/acceptance/tests/studio/test_studio_rerun.py +++ b/common/test/acceptance/tests/studio/test_studio_rerun.py @@ -2,17 +2,20 @@ Acceptance tests for Studio related to course reruns. """ +from __future__ import absolute_import + import random from bok_choy.promise import EmptyPromise -from base_studio_test import StudioCourseTest from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.studio.course_rerun import CourseRerunPage from common.test.acceptance.pages.studio.index import DashboardPage from common.test.acceptance.pages.studio.overview import CourseOutlinePage +from .base_studio_test import StudioCourseTest + class CourseRerunTest(StudioCourseTest): """ diff --git a/common/test/acceptance/tests/studio/test_studio_settings.py b/common/test/acceptance/tests/studio/test_studio_settings.py index 22ca78c1b2..7c71ae66a5 100644 --- a/common/test/acceptance/tests/studio/test_studio_settings.py +++ b/common/test/acceptance/tests/studio/test_studio_settings.py @@ -2,18 +2,19 @@ """ Acceptance tests for Studio's Setting pages """ -from __future__ import unicode_literals +from __future__ import absolute_import, unicode_literals +import json import os import random import string -import json from textwrap import dedent +import six from bok_choy.promise import EmptyPromise from mock import patch +from six.moves import range -from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.common.utils import add_enrollment_course_modes from common.test.acceptance.pages.lms.courseware import CoursewarePage @@ -23,6 +24,7 @@ from common.test.acceptance.pages.studio.settings_advanced import AdvancedSettin from common.test.acceptance.pages.studio.settings_group_configurations import GroupConfigurationsPage from common.test.acceptance.pages.studio.utils import get_input_value, type_in_codemirror from common.test.acceptance.tests.helpers import create_user_partition_json, element_has_text +from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest from openedx.core.lib.tests import attr from xmodule.partitions.partitions import Group @@ -548,7 +550,7 @@ class AdvancedSettingsValidationTest(StudioCourseTest): self.check_modal_shows_correct_contents(self.type_fields) self.advanced_settings.refresh_and_wait_for_load() - for key, val in original_values_map.iteritems(): + for key, val in six.iteritems(original_values_map): self.assertEquals( self.advanced_settings.get(key), val, @@ -571,7 +573,7 @@ class AdvancedSettingsValidationTest(StudioCourseTest): self.advanced_settings.undo_changes_via_modal() # Check that changes are undone - for key, val in original_values_map.iteritems(): + for key, val in six.iteritems(original_values_map): self.assertEquals( self.advanced_settings.get(key), val, @@ -597,7 +599,7 @@ class AdvancedSettingsValidationTest(StudioCourseTest): self.assertFalse(self.advanced_settings.is_validation_modal_present()) # Iterate through the wrong values and make sure they're still displayed - for key, val in inputs.iteritems(): + for key, val in six.iteritems(inputs): self.assertEquals( str(self.advanced_settings.get(key)), str(val), diff --git a/common/test/acceptance/tests/studio/test_studio_settings_certificates.py b/common/test/acceptance/tests/studio/test_studio_settings_certificates.py index 76a2eab7ce..21c1e06cd2 100644 --- a/common/test/acceptance/tests/studio/test_studio_settings_certificates.py +++ b/common/test/acceptance/tests/studio/test_studio_settings_certificates.py @@ -1,6 +1,8 @@ """ Acceptance tests for Studio's Setting pages """ +from __future__ import absolute_import + import re from common.test.acceptance.pages.lms.create_mode import ModeCreationPage diff --git a/common/test/acceptance/tests/studio/test_studio_settings_details.py b/common/test/acceptance/tests/studio/test_studio_settings_details.py index e613e96822..b2b387f63b 100644 --- a/common/test/acceptance/tests/studio/test_studio_settings_details.py +++ b/common/test/acceptance/tests/studio/test_studio_settings_details.py @@ -1,8 +1,12 @@ """ Acceptance tests for Studio's Settings Details pages """ +from __future__ import absolute_import + from datetime import datetime, timedelta +import six + from common.test.acceptance.fixtures.config import ConfigModelFixture from common.test.acceptance.fixtures.course import CourseFixture from common.test.acceptance.pages.studio.overview import CourseOutlinePage @@ -68,7 +72,7 @@ class SettingsMilestonesTest(StudioSettingsDetailsTest): number=course_number, run='test_run' ) - pre_requisite_course_id = unicode(pre_requisite_course_key) + pre_requisite_course_id = six.text_type(pre_requisite_course_key) # Refresh the page to load the new course fixture and populate the prrequisite course dropdown # Then select the prerequisite course and save the changes diff --git a/common/test/acceptance/tests/studio/test_studio_split_test.py b/common/test/acceptance/tests/studio/test_studio_split_test.py index 855ee4773c..0b21b50ff9 100644 --- a/common/test/acceptance/tests/studio/test_studio_split_test.py +++ b/common/test/acceptance/tests/studio/test_studio_split_test.py @@ -2,12 +2,13 @@ Acceptance tests for Studio related to the split_test module. """ +from __future__ import absolute_import + import math from bok_choy.promise import Promise from selenium.webdriver.support.ui import Select -from base_studio_test import StudioCourseTest from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.pages.lms.courseware import CoursewarePage from common.test.acceptance.pages.studio.container import ContainerPage @@ -16,9 +17,11 @@ from common.test.acceptance.pages.studio.settings_group_configurations import Gr from common.test.acceptance.pages.studio.utils import add_advanced_component from common.test.acceptance.pages.studio.xblock_editor import XBlockEditorView from common.test.acceptance.tests.helpers import create_user_partition_json -from test_studio_container import ContainerBase from xmodule.partitions.partitions import Group +from .base_studio_test import StudioCourseTest +from .test_studio_container import ContainerBase + class SplitTestMixin(object): """ diff --git a/common/test/acceptance/tests/studio/test_studio_tabs.py b/common/test/acceptance/tests/studio/test_studio_tabs.py index 3000b349e4..10b70a930a 100644 --- a/common/test/acceptance/tests/studio/test_studio_tabs.py +++ b/common/test/acceptance/tests/studio/test_studio_tabs.py @@ -1,8 +1,10 @@ """ Acceptance tests for Studio related to the Pages. """ -from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest +from __future__ import absolute_import + from common.test.acceptance.pages.studio.edit_tabs import PagesPage +from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest class PagesTest(StudioCourseTest): diff --git a/common/test/acceptance/tests/studio/test_studio_textbooks.py b/common/test/acceptance/tests/studio/test_studio_textbooks.py index 883533124c..2d1516857b 100644 --- a/common/test/acceptance/tests/studio/test_studio_textbooks.py +++ b/common/test/acceptance/tests/studio/test_studio_textbooks.py @@ -1,6 +1,8 @@ """ Acceptance tests for Studio related to the textbooks. """ +from __future__ import absolute_import + from common.test.acceptance.pages.lms.textbook_view import TextbookViewPage from common.test.acceptance.pages.studio.textbook_upload import TextbookUploadPage from common.test.acceptance.tests.helpers import disable_animations diff --git a/common/test/acceptance/tests/test_annotatable.py b/common/test/acceptance/tests/test_annotatable.py index ce8d54d153..b6122633b9 100644 --- a/common/test/acceptance/tests/test_annotatable.py +++ b/common/test/acceptance/tests/test_annotatable.py @@ -3,8 +3,12 @@ E2E tests for the LMS. """ +from __future__ import absolute_import + from textwrap import dedent +from six.moves import range + from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc from common.test.acceptance.pages.common.auto_auth import AutoAuthPage from common.test.acceptance.pages.lms.annotation_component import AnnotationComponentPage @@ -83,21 +87,21 @@ class AnnotatableProblemTest(UniqueCourseTest): XBlockFixtureDesc('vertical', 'Test Annotation Vertical').add_children( XBlockFixtureDesc('annotatable', 'Test Annotation Module', data=self.DATA_TEMPLATE.format("\n".join( - self.ANNOTATION_TEMPLATE.format(i) for i in xrange(self.annotation_count) + self.ANNOTATION_TEMPLATE.format(i) for i in range(self.annotation_count) ))), XBlockFixtureDesc('problem', 'Test Annotation Problem 0', data=self.PROBLEM_TEMPLATE.format(number=0, options="\n".join( self.OPTION_TEMPLATE.format( number=k, correctness=_correctness(k, 0)) - for k in xrange(self.annotation_count) + for k in range(self.annotation_count) ))), XBlockFixtureDesc('problem', 'Test Annotation Problem 1', data=self.PROBLEM_TEMPLATE.format(number=1, options="\n".join( self.OPTION_TEMPLATE.format( number=k, correctness=_correctness(k, 1)) - for k in xrange(self.annotation_count) + for k in range(self.annotation_count) ))) ) ) @@ -128,7 +132,7 @@ class AnnotatableProblemTest(UniqueCourseTest): # This will avoid scrolling related problems on different browsers and instead directly jump on the problem disable_animations(annotation_component_page) - for i in xrange(self.annotation_count): + for i in range(self.annotation_count): annotation_component_page.click_reply_annotation(i) self.assertTrue(annotation_component_page.check_scroll_to_problem()) diff --git a/common/test/acceptance/tests/test_cohorted_courseware.py b/common/test/acceptance/tests/test_cohorted_courseware.py index 13f4251baa..41297aa8af 100644 --- a/common/test/acceptance/tests/test_cohorted_courseware.py +++ b/common/test/acceptance/tests/test_cohorted_courseware.py @@ -2,6 +2,8 @@ End-to-end test for cohorted courseware. This uses both Studio and LMS. """ +from __future__ import absolute_import + from bok_choy.page_object import XSS_INJECTION from common.test.acceptance.fixtures.course import XBlockFixtureDesc @@ -13,7 +15,8 @@ from common.test.acceptance.pages.studio.settings_group_configurations import Gr from common.test.acceptance.pages.studio.xblock_editor import XBlockVisibilityEditorView from common.test.acceptance.tests.discussion.helpers import CohortTestMixin from common.test.acceptance.tests.lms.test_lms_user_preview import verify_expected_problem_visibility -from studio.base_studio_test import ContainerBase + +from .studio.base_studio_test import ContainerBase AUDIT_TRACK = "Audit" VERIFIED_TRACK = "Verified" diff --git a/common/test/acceptance/tests/xblock/test_crowdsourcehinter_problem.py b/common/test/acceptance/tests/xblock/test_crowdsourcehinter_problem.py index c25cdb4ef7..8f45f31a62 100644 --- a/common/test/acceptance/tests/xblock/test_crowdsourcehinter_problem.py +++ b/common/test/acceptance/tests/xblock/test_crowdsourcehinter_problem.py @@ -1,6 +1,8 @@ """ Javascript tests for the crowdsourcehinter xblock """ +from __future__ import absolute_import + from textwrap import dedent from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc