Merge pull request #20961 from Ayub-Khan/INCR-320

INCR-320 python 3 compatibility
This commit is contained in:
Ayub
2019-07-09 12:01:43 +05:00
committed by GitHub
65 changed files with 200 additions and 74 deletions

View File

@@ -1,3 +1,8 @@
"""
Contains the Acceptance tests.
"""
from __future__ import absolute_import
import logging
# Silence noisy loggers

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,6 +2,7 @@
Test courseware search
"""
from __future__ import absolute_import
import json
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -3,6 +3,7 @@ Test courseware search
"""
from __future__ import absolute_import
import json
from common.test.acceptance.fixtures.course import XBlockFixtureDesc

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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