INCR-222: Run python-modernize on common/test/acceptance/tests/lms (#20420)

* Run python-modernize on common/test/acceptance/tests/lms

* Fix code quality issues

* tweak mport order
This commit is contained in:
Jon Kiparsky
2019-05-08 10:16:56 -04:00
committed by Michael Youngstrom
parent 41bec63cc7
commit a85f456e21
32 changed files with 66 additions and 19 deletions

View File

@@ -2,6 +2,7 @@
"""
End-to-end tests for the Account Settings page.
"""
from __future__ import absolute_import
from datetime import datetime
from unittest import skip
@@ -12,6 +13,7 @@ from common.test.acceptance.pages.common.auto_auth import AutoAuthPage, FULL_NAM
from common.test.acceptance.pages.lms.account_settings import AccountSettingsPage
from common.test.acceptance.pages.lms.dashboard import DashboardPage
from common.test.acceptance.tests.helpers import AcceptanceTest, EventsTestMixin
import six
class AccountSettingsTestMixin(EventsTestMixin, AcceptanceTest):
@@ -468,12 +470,12 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, AcceptanceTest):
'price': 'Cost:\n$100.00',
}
for field_name, value in expected_order_data_first_row.iteritems():
for field_name, value in six.iteritems(expected_order_data_first_row):
self.assertEqual(
self.account_settings_page.get_value_of_order_history_row_item('order-Edx-123', field_name)[0], value
)
for field_name, value in expected_order_data_second_row.iteritems():
for field_name, value in six.iteritems(expected_order_data_second_row):
self.assertEqual(
self.account_settings_page.get_value_of_order_history_row_item('order-Edx-123', field_name)[1], value
)

View File

@@ -2,6 +2,7 @@
"""
End-to-end tests for the courseware unit bookmarks.
"""
from __future__ import absolute_import
import json
from unittest import skip
@@ -16,6 +17,7 @@ from common.test.acceptance.pages.lms.course_home import CourseHomePage
from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest, is_404_page
from six.moves import range
class BookmarksTestMixin(EventsTestMixin, UniqueCourseTest):

View File

@@ -2,6 +2,7 @@
"""
End-to-end tests for the CCX dashboard.
"""
from __future__ import absolute_import
from common.test.acceptance.fixtures.course import CourseFixture
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.lms.ccx_dashboard_page import CoachDashboardPage

View File

@@ -1,6 +1,7 @@
"""
Acceptance tests for the certificate web view feature.
"""
from __future__ import absolute_import
from common.test.acceptance.fixtures.certificates import CertificateConfigFixture
from common.test.acceptance.fixtures.course import CourseFixture
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage

View File

@@ -2,6 +2,7 @@
Bok choy acceptance tests for conditionals in the LMS
"""
from __future__ import absolute_import
from capa.tests.response_xml_factory import StringResponseXMLFactory
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage

View File

@@ -2,6 +2,7 @@
"""
End-to-end tests for Student's Profile Page.
"""
from __future__ import absolute_import
from contextlib import contextmanager
from datetime import datetime
from unittest import skip
@@ -11,6 +12,7 @@ from common.test.acceptance.pages.common.logout import LogoutPage
from common.test.acceptance.pages.lms.account_settings import AccountSettingsPage
from common.test.acceptance.pages.lms.learner_profile import LearnerProfilePage
from common.test.acceptance.tests.helpers import AcceptanceTest, EventsTestMixin
import six
class LearnerProfileTestMixin(EventsTestMixin):
@@ -130,7 +132,7 @@ class LearnerProfileTestMixin(EventsTestMixin):
'event': {
'user_id': int(profile_user_id),
'page': 'profile',
'visibility': unicode(visibility)
'visibility': six.text_type(visibility)
}
}
],

View File

@@ -2,6 +2,7 @@
"""
End-to-end tests for LibraryContent block in LMS
"""
from __future__ import absolute_import
import textwrap
import ddt
@@ -16,6 +17,7 @@ from common.test.acceptance.pages.lms.library import LibraryContentXBlockWrapper
from common.test.acceptance.pages.studio.library import StudioLibraryContainerXBlockWrapper, StudioLibraryContentEditor
from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
from common.test.acceptance.tests.helpers import TestWithSearchIndexMixin, UniqueCourseTest
import six
SECTION_NAME = 'Test Section'
SUBSECTION_NAME = 'Test Subsection'
@@ -66,7 +68,7 @@ class LibraryContentTestBase(UniqueCourseTest):
)
library_content_metadata = {
'source_library_id': unicode(self.library_key),
'source_library_id': six.text_type(self.library_key),
'mode': 'random',
'max_count': 1,
}

View File

@@ -2,6 +2,7 @@
"""
End-to-end tests for the LMS.
"""
from __future__ import absolute_import
import json
from datetime import datetime, timedelta
@@ -44,6 +45,7 @@ from common.test.acceptance.tests.helpers import (
remove_file
)
from openedx.core.lib.tests import attr
from six.moves import range
@attr(shard=19)
@@ -972,7 +974,7 @@ class EntranceExamTest(UniqueCourseTest):
"""
# visit the course outline and make sure there is no "Entrance Exam" section.
self.course_home_page.visit()
self.assertFalse('Entrance Exam' in self.course_home_page.outline.sections.keys())
self.assertNotIn('Entrance Exam', list(self.course_home_page.outline.sections.keys()))
# Logout and login as a staff.
LogoutPage(self.browser).visit()
@@ -989,7 +991,7 @@ class EntranceExamTest(UniqueCourseTest):
# visit the course outline and make sure there is an "Entrance Exam" section.
self.course_home_page.visit()
self.assertTrue('Entrance Exam' in self.course_home_page.outline.sections.keys())
self.assertIn('Entrance Exam', list(self.course_home_page.outline.sections.keys()))
# TODO: TNL-6546: Remove test
def test_entrance_exam_section_2(self):

View File

@@ -3,6 +3,7 @@
End-to-end tests for the LMS.
"""
from __future__ import absolute_import
import pytest
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc

View File

@@ -2,6 +2,7 @@
Test courseware search
"""
from __future__ import absolute_import
import json
import uuid

View File

@@ -1,6 +1,7 @@
"""
Test course discovery.
"""
from __future__ import absolute_import
import datetime
import json
import uuid
@@ -10,6 +11,7 @@ from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.common.logout import LogoutPage
from common.test.acceptance.pages.lms.discovery import CourseDiscoveryPage
from common.test.acceptance.tests.helpers import AcceptanceTest, remove_file
from six.moves import range
class CourseDiscoveryTest(AcceptanceTest):

View File

@@ -3,6 +3,8 @@
End-to-end tests for the LMS that utilize the course home page and course outline.
"""
from __future__ import absolute_import
import six
from common.test.acceptance.pages.lms.create_mode import ModeCreationPage
from openedx.core.lib.tests import attr
@@ -97,7 +99,7 @@ class CourseHomeTest(CourseHomeBaseTest):
}
actual_sections = self.course_home_page.outline.sections
for section, subsections in EXPECTED_SECTIONS.iteritems():
for section, _ in six.iteritems(EXPECTED_SECTIONS):
self.assertIn(section, actual_sections)
self.assertEqual(actual_sections[section], EXPECTED_SECTIONS[section])

View File

@@ -3,9 +3,10 @@
End-to-end tests for the LMS.
"""
from __future__ import absolute_import
import json
from datetime import datetime, timedelta
from six.moves import range
import ddt
from openedx.core.lib.tests import attr

View File

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

View File

@@ -2,12 +2,14 @@
"""
End-to-end tests for the main LMS Dashboard (aka, Student Dashboard).
"""
from __future__ import absolute_import
import datetime
from common.test.acceptance.fixtures.course import CourseFixture
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.lms.dashboard import DashboardPage
from common.test.acceptance.tests.helpers import UniqueCourseTest, generate_course_key
import six
DEFAULT_SHORT_DATE_FORMAT = u'{dt:%b} {dt.day}, {dt.year}'
TEST_DATE_FORMAT = u'{dt:%b} {dt.day}, {dt.year} {dt.hour:02}:{dt.minute:02}'
@@ -102,7 +104,7 @@ class BaseLmsDashboardTestMultiple(UniqueCourseTest):
self.course_keys = {}
self.course_fixtures = {}
for key, value in self.courses.iteritems():
for key, value in six.iteritems(self.courses):
course_key = generate_course_key(
value['org'],
value['number'],

View File

@@ -1,6 +1,7 @@
"""
Test dashboard search
"""
from __future__ import absolute_import
import json
import os
@@ -13,6 +14,7 @@ from common.test.acceptance.pages.studio.container import ContainerPage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
from common.test.acceptance.pages.studio.utils import add_html_component, type_in_codemirror
from common.test.acceptance.tests.helpers import AcceptanceTest, generate_course_key
import six
class DashboardSearchTest(AcceptanceTest):
@@ -64,7 +66,7 @@ class DashboardSearchTest(AcceptanceTest):
# generate course fixtures and outline pages
self.studio_course_outlines = {}
self.course_fixtures = {}
for key, course_info in self.courses.iteritems():
for key, course_info in six.iteritems(self.courses):
studio_course_outline = StudioCourseOutlinePage(
self.browser,
course_info['org'],

View File

@@ -1,6 +1,7 @@
"""
Test LMS Notes
"""
from __future__ import absolute_import
import random
from datetime import datetime
from unittest import skip
@@ -14,6 +15,7 @@ from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.lms.edxnotes import EdxNotesPage, EdxNotesPageNoContent, EdxNotesUnitPage
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest
from openedx.core.lib.tests import attr
from six.moves import range
class EdxNotesTestMixin(UniqueCourseTest):
@@ -166,12 +168,12 @@ class EdxNotesDefaultInteractionsTest(EdxNotesTestMixin):
def assert_text_in_notes(self, notes):
actual = [note.text for note in notes]
expected = [u"TEST TEXT {}".format(i) for i in xrange(len(notes))]
expected = [u"TEST TEXT {}".format(i) for i in range(len(notes))]
self.assertEqual(expected, actual)
def assert_tags_in_notes(self, notes, expected_tags):
actual = [note.tags for note in notes]
expected = [expected_tags[i] for i in xrange(len(notes))]
expected = [expected_tags[i] for i in range(len(notes))]
self.assertEqual(expected, actual)
def test_can_create_notes(self):

View File

@@ -2,6 +2,7 @@
"""
Bok choy acceptance tests for Entrance exams in the LMS
"""
from __future__ import absolute_import
from textwrap import dedent
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc

View File

@@ -2,6 +2,7 @@
"""
End-to-end tests for the gating feature.
"""
from __future__ import absolute_import
from textwrap import dedent
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc

View File

@@ -2,6 +2,7 @@
Test Help links in LMS
"""
from __future__ import absolute_import
from common.test.acceptance.fixtures.course import CourseFixture
from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage
from common.test.acceptance.tests.discussion.helpers import CohortTestMixin

View File

@@ -3,6 +3,7 @@
End-to-end tests for the LMS Index page (aka, Home page). Note that this is different than
what students see @ edx.org because we redirect requests to a separate web application.
"""
from __future__ import absolute_import
import datetime
from common.test.acceptance.pages.lms.index import IndexPage

View File

@@ -3,6 +3,7 @@
End-to-end tests for the LMS Instructor Dashboard.
"""
from __future__ import absolute_import
import ddt
from bok_choy.promise import EmptyPromise
@@ -31,6 +32,7 @@ from common.test.acceptance.tests.helpers import (
get_modal_alert
)
from openedx.core.lib.tests import attr
from six.moves import range
class BaseInstructorDashboardTest(EventsTestMixin, UniqueCourseTest):

View File

@@ -2,6 +2,7 @@
"""
Bok choy acceptance tests for LTI xblock
"""
from __future__ import absolute_import
import os
from common.test.acceptance.pages.lms.instructor_dashboard import (

View File

@@ -2,6 +2,7 @@
"""
Bok choy acceptance tests for problems in the LMS
"""
from __future__ import absolute_import
from textwrap import dedent
import time
import ddt

View File

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

View File

@@ -3,6 +3,7 @@
Tests the "preview" selector in the LMS that allows changing between Staff, Learner, and Content Groups.
"""
from __future__ import absolute_import
from textwrap import dedent
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc

View File

@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
"""Tests for OAuth2 permission delegation."""
from urlparse import parse_qsl, urlparse
from __future__ import absolute_import
from six.moves.urllib.parse import parse_qsl, urlparse # pylint: disable=import-error
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.lms.oauth2_confirmation import OAuth2Confirmation

View File

@@ -1,6 +1,7 @@
"""
Bok choy acceptance and a11y tests for problem types in the LMS
"""
from __future__ import absolute_import
import random
import textwrap
from abc import ABCMeta, abstractmethod
@@ -30,6 +31,8 @@ from common.test.acceptance.pages.lms.problem import ProblemPage
from common.test.acceptance.tests.helpers import EventsTestMixin, select_option_by_text
from common.test.acceptance.tests.lms.test_lms_problems import ProblemsTest
from openedx.core.lib.tests import attr
import six
from six.moves import range
class ProblemTypeTestBaseMeta(ABCMeta):
@@ -62,7 +65,7 @@ class ProblemTypeTestBaseMeta(ABCMeta):
return obj
class ProblemTypeTestBase(ProblemsTest, EventsTestMixin):
class ProblemTypeTestBase(six.with_metaclass(ProblemTypeTestBaseMeta, ProblemsTest, EventsTestMixin)):
"""
Base class for testing assesment problem types in bok choy.
@@ -78,7 +81,6 @@ class ProblemTypeTestBase(ProblemsTest, EventsTestMixin):
Additionally, the default values for factory_kwargs and status_indicators
may need to be overridden for some problem types.
"""
__metaclass__ = ProblemTypeTestBaseMeta
problem_name = None
problem_type = None

View File

@@ -1,4 +1,5 @@
"""Acceptance tests for LMS-hosted Programs pages"""
from __future__ import absolute_import
from common.test.acceptance.fixtures.catalog import CatalogFixture, CatalogIntegrationMixin
from common.test.acceptance.fixtures.course import CourseFixture
from common.test.acceptance.fixtures.programs import ProgramsConfigMixin

View File

@@ -3,6 +3,8 @@
End-to-end tests for the LMS that utilize the
progress page.
"""
from __future__ import absolute_import
from six.moves import range
from contextlib import contextmanager
import ddt

View File

@@ -1,6 +1,7 @@
"""
Acceptance tests for the teams feature.
"""
from __future__ import absolute_import
import json
import random
import time
@@ -29,6 +30,8 @@ from common.test.acceptance.pages.lms.teams import (
)
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest, get_modal_alert
from openedx.core.lib.tests import attr
from six.moves import map
from six.moves import range
TOPICS_PER_PAGE = 12
@@ -47,12 +50,12 @@ class TeamsTabBase(EventsTestMixin, ForumsConfigMixin, UniqueCourseTest):
def create_topics(self, num_topics):
"""Create `num_topics` test topics."""
return [{u"description": i, u"name": i, u"id": i} for i in map(str, xrange(num_topics))]
return [{u"description": i, u"name": i, u"id": i} for i in map(str, range(num_topics))]
def create_teams(self, topic, num_teams, time_between_creation=0):
"""Create `num_teams` teams belonging to `topic`."""
teams = []
for i in xrange(num_teams):
for i in range(num_teams):
team = {
'course_id': self.course_id,
'topic_id': topic['id'],
@@ -83,7 +86,7 @@ class TeamsTabBase(EventsTestMixin, ForumsConfigMixin, UniqueCourseTest):
"""Create `num_memberships` users and assign them to `team_id`. The
last user created becomes the current user."""
memberships = []
for __ in xrange(num_memberships):
for __ in range(num_memberships):
user_info = AutoAuthPage(self.browser, course_id=self.course_id).visit().user_info
memberships.append(user_info)
self.create_membership(user_info['username'], team_id)
@@ -142,7 +145,7 @@ class TeamsTabBase(EventsTestMixin, ForumsConfigMixin, UniqueCourseTest):
team_card_names = page.team_names
team_card_descriptions = page.team_descriptions
map(assert_team_equal, expected_teams, team_card_names, team_card_descriptions)
list(map(assert_team_equal, expected_teams, team_card_names, team_card_descriptions))
def verify_my_team_count(self, expected_number_of_teams):
""" Verify the number of teams shown on "My Team". """

View File

@@ -3,6 +3,7 @@
End-to-end tests for admin change view.
"""
from __future__ import absolute_import
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.lms.admin import ChangeUserAdminPage
from common.test.acceptance.tests.helpers import AcceptanceTest