Merge pull request #18731 from edx/jmbowman/TE-2524

TE-2524 Remove remaining nose.plugins usage
This commit is contained in:
Jeremy Bowman
2018-08-07 10:34:54 -04:00
committed by GitHub
43 changed files with 87 additions and 123 deletions

View File

@@ -6,7 +6,6 @@ import unittest
from django.conf import settings
from django.core import mail
from django.test.utils import override_settings
from nose.plugins.attrib import attr
from rest_framework.test import APITestCase
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory
@@ -18,7 +17,6 @@ from student.tests.factories import UserFactory
from .test_views import EnrollmentTestMixin
@attr(shard=3)
@override_settings(EDX_API_KEY="i am a key")
@unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
@override_settings(ENROLLMENT_NOTIFICATION_EMAIL="some_admins@example.com")
@@ -35,6 +33,7 @@ class EnrollmentEmailNotificationTest(EnrollmentTestMixin,
ENABLED_CACHES = ['default', 'mongo_metadata_inheritance', 'loc_cache']
ENABLED_SIGNALS = ['course_published']
shard = 3
def setUp(self):
""" Create a course and user, then log in. Also creates a course mode."""

View File

@@ -2,7 +2,6 @@
Single page performance tests for LMS.
"""
from bok_choy.web_app_test import with_cache
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import CourseFixture, CourseUpdateDesc, XBlockFixtureDesc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
@@ -15,13 +14,13 @@ from common.test.acceptance.pages.lms.progress import ProgressPage
from common.test.acceptance.tests.helpers import UniqueCourseTest, load_data_str
@attr(har_mode='explicit')
class LmsPerformanceTest(UniqueCourseTest):
"""
Base class to capture LMS performance with HTTP Archives.
"""
username = 'test_student'
email = 'student101@example.com'
har_mode = 'explicit'
def setUp(self):
"""

View File

@@ -2,7 +2,6 @@
Single page performance tests for Studio.
"""
from bok_choy.web_app_test import with_cache
from nose.plugins.attrib import attr
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage
@@ -10,7 +9,6 @@ from common.test.acceptance.pages.studio.overview import CourseOutlinePage
from ..tests.helpers import AcceptanceTest
@attr(har_mode='explicit')
class StudioPagePerformanceTest(AcceptanceTest):
"""
Base class to capture studio performance with HTTP Archives.
@@ -21,6 +19,7 @@ class StudioPagePerformanceTest(AcceptanceTest):
course_org = 'edX'
course_num = 'Open_DemoX'
course_run = 'edx_demo_course'
har_mode = 'explicit'
def setUp(self):
"""

View File

@@ -5,8 +5,8 @@ End-to-end tests for the Account Settings page.
from datetime import datetime
from unittest import skip
import pytest
from bok_choy.page_object import XSS_INJECTION
from nose.plugins.attrib import attr
from pytz import timezone, utc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage, FULL_NAME
@@ -98,11 +98,12 @@ class AccountSettingsTestMixin(EventsTestMixin, AcceptanceTest):
self.assert_no_matching_events_were_emitted({'event_type': self.USER_SETTINGS_CHANGED_EVENT_NAME})
@attr(shard=8)
class DashboardMenuTest(AccountSettingsTestMixin, AcceptanceTest):
"""
Tests that the dashboard menu works correctly with the account settings page.
"""
shard = 8
def test_link_on_dashboard_works(self):
"""
Scenario: Verify that the "Account" link works from the dashboard.
@@ -121,12 +122,12 @@ class DashboardMenuTest(AccountSettingsTestMixin, AcceptanceTest):
dashboard_page.click_account_settings_link()
@attr(shard=8)
class AccountSettingsPageTest(AccountSettingsTestMixin, AcceptanceTest):
"""
Tests that verify behaviour of the Account Settings page.
"""
SUCCESS_MESSAGE = 'Your changes have been saved.'
shard = 8
def setUp(self):
"""
@@ -575,7 +576,7 @@ class AccountSettingsDeleteAccountTest(AccountSettingsTestMixin, AcceptanceTest)
)
@attr('a11y')
@pytest.mark.a11y
class AccountSettingsA11yTest(AccountSettingsTestMixin, AcceptanceTest):
"""
Class to test account settings accessibility.

View File

@@ -5,8 +5,8 @@ End-to-end tests for the courseware unit bookmarks.
import json
from unittest import skip
import pytest
import requests
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
from common.test.acceptance.pages.common import BASE_URL
@@ -127,11 +127,11 @@ class BookmarksTestMixin(EventsTestMixin, UniqueCourseTest):
self._bookmark_unit(xblocks[index].locator)
@attr(shard=8)
class BookmarksTest(BookmarksTestMixin):
"""
Tests to verify bookmarks functionality.
"""
shard = 8
def _breadcrumb(self, num_units, modified_name=None):
"""
@@ -586,7 +586,7 @@ class BookmarksTest(BookmarksTestMixin):
)
@attr('a11y')
@pytest.mark.a11y
class BookmarksA11yTests(BookmarksTestMixin):
"""
Tests for checking the a11y of the bookmarks page.

View File

@@ -2,21 +2,19 @@
"""
End-to-end tests for the CCX dashboard.
"""
from nose.plugins.attrib import attr
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
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest
@attr(shard=7)
class CreateCCXCoachTest(EventsTestMixin, UniqueCourseTest):
"""
Test ccx end to end process.
"""
USERNAME = "coach_tester"
EMAIL = "coach_tester@example.com"
shard = 7
def setUp(self):
super(CreateCCXCoachTest, self).setUp()

View File

@@ -1,24 +1,18 @@
"""
Acceptance tests for the certificate web view feature.
"""
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.certificates import CertificateConfigFixture
from common.test.acceptance.fixtures.course import CourseFixture, CourseUpdateDesc, XBlockFixtureDesc
from common.test.acceptance.fixtures.course import CourseFixture
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.lms.certificate_page import CertificatePage
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.lms.tab_nav import TabNavPage
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest, get_element_padding, load_data_str
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest
@attr(shard=5)
class CertificateWebViewTest(EventsTestMixin, UniqueCourseTest):
"""
Tests for verifying certificate web view features
"""
shard = 5
def setUp(self):
super(CertificateWebViewTest, self).setUp()

View File

@@ -6,7 +6,7 @@ from contextlib import contextmanager
from datetime import datetime
from unittest import skip
from nose.plugins.attrib import attr
import pytest
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.common.logout import LogoutPage
@@ -182,11 +182,11 @@ class LearnerProfileTestMixin(EventsTestMixin):
return username, user_id
@attr(shard=4)
class OwnLearnerProfilePageTest(LearnerProfileTestMixin, AcceptanceTest):
"""
Tests that verify a student's own profile page.
"""
shard = 4
def verify_profile_forced_private_message(self, username, birth_year, message=None):
"""
@@ -611,11 +611,12 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, AcceptanceTest):
profile_page.upload_file(filename='image.jpg', wait_for_upload_button=False)
@attr(shard=4)
class DifferentUserLearnerProfilePageTest(LearnerProfileTestMixin, AcceptanceTest):
"""
Tests that verify viewing the profile page of a different user.
"""
shard = 4
def test_different_user_private_profile(self):
"""
Scenario: Verify that desired fields are shown when looking at a different user's private profile.
@@ -678,7 +679,7 @@ class DifferentUserLearnerProfilePageTest(LearnerProfileTestMixin, AcceptanceTes
badge.close_modal()
@attr('a11y')
@pytest.mark.a11y
class LearnerProfileA11yTest(LearnerProfileTestMixin, AcceptanceTest):
"""
Class to test learner profile accessibility.

View File

@@ -5,7 +5,6 @@ End-to-end tests for LibraryContent block in LMS
import textwrap
import ddt
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
from common.test.acceptance.fixtures.library import LibraryFixture
@@ -23,7 +22,6 @@ SUBSECTION_NAME = 'Test Subsection'
UNIT_NAME = 'Test Unit'
@attr(shard=10)
class LibraryContentTestBase(UniqueCourseTest):
""" Base class for library content block tests """
USERNAME = "STUDENT_TESTER"
@@ -31,6 +29,7 @@ class LibraryContentTestBase(UniqueCourseTest):
STAFF_USERNAME = "STAFF_TESTER"
STAFF_EMAIL = "staff101@example.com"
shard = 10
def populate_library_fixture(self, library_fixture):
"""
@@ -147,11 +146,12 @@ class LibraryContentTestBase(UniqueCourseTest):
@ddt.ddt
@attr(shard=10)
class LibraryContentTest(LibraryContentTestBase):
"""
Test courseware.
"""
shard = 10
def populate_library_fixture(self, library_fixture):
"""
Populates library fixture with XBlock Fixtures
@@ -200,11 +200,12 @@ class LibraryContentTest(LibraryContentTestBase):
@ddt.ddt
@attr(shard=10)
class StudioLibraryContainerCapaFilterTest(LibraryContentTestBase, TestWithSearchIndexMixin):
"""
Test Library Content block in LMS
"""
shard = 10
def setUp(self):
""" SetUp method """
self._create_search_index()

View File

@@ -5,8 +5,6 @@ Test courseware search
import json
import uuid
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
from common.test.acceptance.pages.common.logout import LogoutPage
@@ -21,12 +19,11 @@ from common.test.acceptance.tests.helpers import remove_file
from common.test.acceptance.tests.studio.base_studio_test import ContainerBase
@attr(shard=1)
class CoursewareSearchCohortTest(ContainerBase, CohortTestMixin):
"""
Test courseware search.
"""
shard = 1
TEST_INDEX_FILENAME = "test_root/index_file.dat"
def setUp(self, is_staff=True):

View File

@@ -7,7 +7,8 @@ import json
from datetime import datetime, timedelta
import ddt
from nose.plugins.attrib import attr
from openedx.core.lib.tests import attr
from ...fixtures.course import CourseFixture, XBlockFixtureDesc
from ...pages.common.auto_auth import AutoAuthPage
@@ -19,7 +20,6 @@ from ...pages.lms.dashboard import DashboardPage
from ...pages.lms.pay_and_verify import FakePaymentPage, FakeSoftwareSecureVerificationPage, PaymentAndVerificationFlow
from ...pages.lms.problem import ProblemPage
from ...pages.lms.progress import ProgressPage
from ...pages.lms.staff_view import StaffCoursewarePage
from ...pages.lms.track_selection import TrackSelectionPage
from ...pages.studio.overview import CourseOutlinePage as StudioCourseOutlinePage
from ..helpers import EventsTestMixin, UniqueCourseTest, auto_auth, create_multiple_choice_problem

View File

@@ -3,8 +3,6 @@ Test courseware search
"""
import json
from nose.plugins.attrib import attr
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
@@ -17,7 +15,6 @@ from common.test.acceptance.pages.studio.utils import add_html_component, type_i
from common.test.acceptance.tests.helpers import UniqueCourseTest, remove_file
@attr(shard=5)
class CoursewareSearchTest(UniqueCourseTest):
"""
Test courseware search.
@@ -41,6 +38,7 @@ class CoursewareSearchTest(UniqueCourseTest):
EDITED_SEARCH_STRING = "edited"
TEST_INDEX_FILENAME = "test_root/index_file.dat"
shard = 5
def setUp(self):
"""

View File

@@ -4,7 +4,7 @@ End-to-end tests for the main LMS Dashboard (aka, Student Dashboard).
"""
import datetime
from nose.plugins.attrib import attr
import pytest
from common.test.acceptance.fixtures.course import CourseFixture
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
@@ -141,9 +141,9 @@ class BaseLmsDashboardTestMultiple(UniqueCourseTest):
self.dashboard_page.visit()
@attr(shard=9)
class LmsDashboardPageTest(BaseLmsDashboardTest):
""" Test suite for the LMS Student Dashboard page """
shard = 9
def setUp(self):
super(LmsDashboardPageTest, self).setUp()
@@ -399,7 +399,7 @@ class LmsDashboardCourseUnEnrollDialogMessageTest(BaseLmsDashboardTestMultiple):
self.assertEqual(dialog_message['refund-info'][0], expected_refund_message)
@attr('a11y')
@pytest.mark.a11y
class LmsDashboardA11yTest(BaseLmsDashboardTestMultiple):
"""
Class to test lms student dashboard accessibility.

View File

@@ -6,8 +6,6 @@ from datetime import datetime
from unittest import skip
from uuid import uuid4
from nose.plugins.attrib import attr
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,6 +13,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.lms.edxnotes import EdxNotesPage, EdxNotesPageNoContent, EdxNotesUnitPage
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest
from openedx.core.lib.tests import attr
class EdxNotesTestMixin(UniqueCourseTest):

View File

@@ -5,7 +5,6 @@ End-to-end tests for the LMS Instructor Dashboard.
import ddt
from bok_choy.promise import EmptyPromise
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.certificates import CertificateConfigFixture
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
@@ -31,6 +30,7 @@ from common.test.acceptance.tests.helpers import (
disable_animations,
get_modal_alert
)
from openedx.core.lib.tests import attr
class BaseInstructorDashboardTest(EventsTestMixin, UniqueCourseTest):

View File

@@ -6,14 +6,13 @@ See also old lettuce tests in lms/djangoapps/courseware/features/problems.featur
"""
from textwrap import dedent
from nose.plugins.attrib import attr
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.courseware import CoursewarePage
from common.test.acceptance.pages.lms.login_and_register import CombinedLoginAndRegisterPage
from common.test.acceptance.pages.lms.problem import ProblemPage
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest
from openedx.core.lib.tests import attr
class ProblemsTest(UniqueCourseTest):

View File

@@ -3,17 +3,15 @@
Tests the "preview" selector in the LMS that allows changing between Staff, Learner, and Content Groups.
"""
from textwrap import dedent
from nose.plugins.attrib import attr
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.courseware import CoursewarePage
from common.test.acceptance.pages.lms.instructor_dashboard import InstructorDashboardPage
from common.test.acceptance.pages.lms.staff_view import StaffCoursewarePage
from common.test.acceptance.tests.helpers import UniqueCourseTest, 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

View File

@@ -1,5 +1,5 @@
"""Acceptance tests for LMS-hosted Programs pages"""
from nose.plugins.attrib import attr
import pytest
from common.test.acceptance.fixtures.catalog import CatalogFixture, CatalogIntegrationMixin
from common.test.acceptance.fixtures.course import CourseFixture
@@ -74,9 +74,10 @@ class ProgramPageBase(ProgramsConfigMixin, CatalogIntegrationMixin, UniqueCourse
cache_programs_page.visit()
@attr(shard=21)
class ProgramListingPageTest(ProgramPageBase):
"""Verify user-facing behavior of the program listing page."""
shard = 21
def setUp(self):
super(ProgramListingPageTest, self).setUp()
@@ -108,7 +109,7 @@ class ProgramListingPageTest(ProgramPageBase):
self.assertFalse(self.listing_page.are_cards_present)
@attr('a11y')
@pytest.mark.a11y
class ProgramListingPageA11yTest(ProgramPageBase):
"""Test program listing page accessibility."""
def setUp(self):
@@ -143,7 +144,7 @@ class ProgramListingPageA11yTest(ProgramPageBase):
self.listing_page.a11y_audit.check_for_accessibility_errors()
@attr('a11y')
@pytest.mark.a11y
class ProgramDetailsPageA11yTest(ProgramPageBase):
"""Test program details page accessibility."""
def setUp(self):

View File

@@ -6,7 +6,7 @@ progress page.
from contextlib import contextmanager
import ddt
from nose.plugins.attrib import attr
import pytest
from ...fixtures.course import CourseFixture, XBlockFixtureDesc
from ...pages.common.logout import LogoutPage
@@ -127,13 +127,14 @@ class ProgressPageBaseTest(UniqueCourseTest):
self.logout_page.visit()
@attr(shard=22)
@ddt.ddt
class PersistentGradesTest(ProgressPageBaseTest):
"""
Test that grades for completed assessments are persisted
when various edits are made.
"""
shard = 22
def setUp(self):
super(PersistentGradesTest, self).setUp()
self.instructor_dashboard_page = InstructorDashboardPage(self.browser, self.course_id)
@@ -275,12 +276,13 @@ class PersistentGradesTest(ProgressPageBaseTest):
self.assertEqual(self._get_section_score(), (0, 2))
@attr(shard=22)
class SubsectionGradingPolicyTest(ProgressPageBaseTest):
"""
Tests changing a subsection's 'graded' field
and the effect it has on the progress page.
"""
shard = 22
def setUp(self):
super(SubsectionGradingPolicyTest, self).setUp()
self._set_policy_for_subsection("Homework", 0)
@@ -417,7 +419,7 @@ class SubsectionGradingPolicyTest(ProgressPageBaseTest):
self._check_scores_and_page_text([(1, 1), (0, 1)], (1, 2), "Homework 1 - Test Subsection 1 - 50% (1/2)")
@attr('a11y')
@pytest.mark.a11y
class ProgressPageA11yTest(ProgressPageBaseTest):
"""
Class to test the accessibility of the progress page.

View File

@@ -8,7 +8,6 @@ from uuid import uuid4
import ddt
from dateutil.parser import parse
from nose.plugins.attrib import attr
from selenium.common.exceptions import TimeoutException
from common.test.acceptance.fixtures import LMS_BASE_URL
@@ -29,6 +28,7 @@ from common.test.acceptance.pages.lms.teams import (
TeamsPage
)
from common.test.acceptance.tests.helpers import EventsTestMixin, UniqueCourseTest, get_modal_alert
from openedx.core.lib.tests import attr
TOPICS_PER_PAGE = 12

View File

@@ -4,11 +4,6 @@ Acceptance tests for the Import and Export pages
from abc import abstractmethod
from datetime import datetime
from nose.plugins.attrib import attr
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.staff_view import StaffCoursewarePage
from common.test.acceptance.pages.studio.import_export import (
ExportCoursePage,
ExportLibraryPage,
@@ -18,6 +13,7 @@ from common.test.acceptance.pages.studio.import_export import (
from common.test.acceptance.pages.studio.library import LibraryEditPage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest, StudioLibraryTest
from openedx.core.lib.tests import attr
class ExportTestMixin(object):

View File

@@ -2,7 +2,6 @@
Acceptance tests for adding components in Studio.
"""
import ddt
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
from common.test.acceptance.pages.studio.container import ContainerPage
@@ -11,13 +10,14 @@ from common.test.acceptance.pages.studio.utils import add_component, add_compone
from common.test.acceptance.tests.studio.base_studio_test import ContainerBase
@attr(shard=22)
@ddt.ddt
class AdvancedProblemComponentTest(ContainerBase):
"""
Feature: CMS.Component Adding
As a course author, I want to be able to add a wide variety of components
"""
shard = 22
def setUp(self, is_staff=True):
"""
Create a course with a section, subsection, and unit to which to add the component.
@@ -70,12 +70,13 @@ class AdvancedProblemComponentTest(ContainerBase):
self.assertEqual(problem.name, component)
@attr(shard=22)
class ComponentTest(ContainerBase):
"""
Test class to add different components.
(Not the advanced components)
"""
shard = 22
def setUp(self, is_staff=True):
"""
Create a course with a section, subsection, and unit to which to add the component.

View File

@@ -6,7 +6,6 @@ for displaying containers within units.
import datetime
import ddt
from nose.plugins.attrib import attr
from base_studio_test import ContainerBase
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
@@ -19,6 +18,7 @@ from common.test.acceptance.pages.studio.html_component_editor import HtmlXBlock
from common.test.acceptance.pages.studio.move_xblock import MoveModalView
from common.test.acceptance.pages.studio.utils import add_discussion
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

View File

@@ -5,19 +5,17 @@ import uuid
import random
import string
from nose.plugins.attrib import attr
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.overview import CourseOutlinePage
from common.test.acceptance.tests.helpers import AcceptanceTest
@attr(shard=19)
class CreateCourseTest(AcceptanceTest):
"""
Test that we can create a new course the studio home page.
"""
shard = 19
def setUp(self):
"""

View File

@@ -1,17 +1,16 @@
"""
Acceptance tests for course in studio
"""
from nose.plugins.attrib import attr
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
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest
@attr(shard=2)
class CourseTeamPageTest(StudioCourseTest):
""" As a course author, I want to be able to add others to my team """
shard = 2
def _make_user(self, username):
""" Registers user and returns user representation dictionary as expected by `log_in` function """
user = {

View File

@@ -4,8 +4,6 @@ Test the Studio help links.
from unittest import skip
from nose.plugins.attrib import attr
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
@@ -35,6 +33,7 @@ from common.test.acceptance.tests.helpers import (
url_for_help
)
from common.test.acceptance.tests.studio.base_studio_test import ContainerBase, StudioCourseTest, StudioLibraryTest
from openedx.core.lib.tests import attr
def _get_expected_documentation_url(path):

View File

@@ -2,7 +2,6 @@
Acceptance tests for Content Libraries in Studio
"""
from ddt import data, ddt
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
@@ -10,6 +9,7 @@ from common.test.acceptance.pages.studio.library import LibraryEditPage
from common.test.acceptance.pages.studio.users import LibraryUsersPage
from common.test.acceptance.pages.studio.utils import add_component
from common.test.acceptance.tests.studio.base_studio_test import StudioLibraryTest
from openedx.core.lib.tests import attr
@attr(shard=15)

View File

@@ -4,7 +4,6 @@ Acceptance tests for Library Content in LMS
import textwrap
import ddt
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
from common.test.acceptance.pages.studio.library import StudioLibraryContainerXBlockWrapper, StudioLibraryContentEditor
@@ -17,12 +16,13 @@ SUBSECTION_NAME = 'Test Subsection'
UNIT_NAME = 'Test Unit'
@attr(shard=17)
@ddt.ddt
class StudioLibraryContainerTest(StudioLibraryTest, UniqueCourseTest, TestWithSearchIndexMixin):
"""
Test Library Content block in LMS
"""
shard = 17
def setUp(self):
"""
Install library with some content and a course using fixtures

View File

@@ -7,17 +7,14 @@ import json
from datetime import datetime, timedelta
from unittest import skip
from nose.plugins.attrib import attr
from pytz import UTC
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.common.utils import add_enrollment_course_modes
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.lms.staff_view import StaffCoursewarePage
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
@@ -25,6 +22,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 add_discussion, drag, verify_ordering
from common.test.acceptance.tests.helpers import disable_animations, load_data_str
from openedx.core.lib.tests import attr
SECTION_NAME = 'Test Section'
SUBSECTION_NAME = 'Test Subsection'

View File

@@ -12,7 +12,6 @@ from textwrap import dedent
from bok_choy.promise import EmptyPromise
from mock import patch
from nose.plugins.attrib import attr
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
@@ -24,6 +23,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 openedx.core.lib.tests import attr
from xmodule.partitions.partitions import Group

View File

@@ -3,8 +3,6 @@ Acceptance tests for Studio's Setting pages
"""
import re
from nose.plugins.attrib import attr
from common.test.acceptance.pages.lms.create_mode import ModeCreationPage
from common.test.acceptance.pages.studio.settings_advanced import AdvancedSettingsPage
from common.test.acceptance.pages.studio.settings_certificates import CertificatesPage
@@ -12,11 +10,12 @@ from common.test.acceptance.tests.helpers import skip_if_browser
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest
@attr(shard=22)
class CertificatesTest(StudioCourseTest):
"""
Tests for settings/certificates Page.
"""
shard = 22
def setUp(self): # pylint: disable=arguments-differ
super(CertificatesTest, self).setUp(is_staff=True, test_xss=False)
self.certificates_page = CertificatesPage(

View File

@@ -3,8 +3,6 @@ Acceptance tests for Studio's Settings Details pages
"""
from datetime import datetime, timedelta
from nose.plugins.attrib import attr
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
@@ -18,9 +16,9 @@ from common.test.acceptance.tests.helpers import (
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest
@attr(shard=4)
class StudioSettingsDetailsTest(StudioCourseTest):
"""Base class for settings and details page tests."""
shard = 4
def setUp(self, is_staff=True):
super(StudioSettingsDetailsTest, self).setUp(is_staff=is_staff)
@@ -35,11 +33,12 @@ class StudioSettingsDetailsTest(StudioCourseTest):
self.settings_detail.visit()
@attr(shard=4)
class SettingsMilestonesTest(StudioSettingsDetailsTest):
"""
Tests for milestones feature in Studio's settings tab
"""
shard = 4
def test_page_has_prerequisite_field(self):
"""
Test to make sure page has pre-requisite course field if milestones app is enabled.
@@ -168,9 +167,9 @@ class SettingsMilestonesTest(StudioSettingsDetailsTest):
))
@attr(shard=4)
class CoursePacingTest(StudioSettingsDetailsTest):
"""Tests for setting a course to self-paced."""
shard = 4
def populate_course_fixture(self, __):
ConfigModelFixture('/config/self_paced', {'enabled': True}).install()

View File

@@ -5,7 +5,6 @@ Acceptance tests for Studio related to the split_test module.
import math
from bok_choy.promise import Promise
from nose.plugins.attrib import attr
from selenium.webdriver.support.ui import Select
from base_studio_test import StudioCourseTest
@@ -62,12 +61,12 @@ class SplitTestMixin(object):
Promise(missing_groups_button_not_present, "Add missing groups button should not be showing.").fulfill()
@attr(shard=15)
class SplitTest(ContainerBase, SplitTestMixin):
"""
Tests for creating and editing split test instances in Studio.
"""
__test__ = True
shard = 15
def setUp(self):
super(SplitTest, self).setUp()
@@ -177,11 +176,12 @@ class SplitTest(ContainerBase, SplitTestMixin):
self.verify_groups(container, ['alpha'], [], verify_missing_groups_not_present=False)
@attr(shard=15)
class GroupConfigurationsNoSplitTest(StudioCourseTest):
"""
Tests how the Group Configuration page should look when the split_test module is not enabled.
"""
shard = 15
def setUp(self):
super(GroupConfigurationsNoSplitTest, self).setUp()
self.group_configurations_page = GroupConfigurationsPage(
@@ -202,13 +202,13 @@ class GroupConfigurationsNoSplitTest(StudioCourseTest):
self.assertFalse(self.group_configurations_page.experiment_group_sections_present)
@attr(shard=15)
class GroupConfigurationsTest(ContainerBase, SplitTestMixin):
"""
Tests that Group Configurations page works correctly with previously
added configurations in Studio
"""
__test__ = True
shard = 15
def setUp(self):
super(GroupConfigurationsTest, self).setUp()

View File

@@ -1,12 +1,11 @@
"""
Acceptance tests for Studio related to the textbooks.
"""
from nose.plugins.attrib import attr
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
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest
from openedx.core.lib.tests import attr
class TextbooksTest(StudioCourseTest):

View File

@@ -3,7 +3,6 @@ End-to-end test for cohorted courseware. This uses both Studio and LMS.
"""
from bok_choy.page_object import XSS_INJECTION
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
@@ -20,11 +19,11 @@ AUDIT_TRACK = "Audit"
VERIFIED_TRACK = "Verified"
@attr(shard=5)
class EndToEndCohortedCoursewareTest(ContainerBase, CohortTestMixin):
"""
End-to-end of cohorted courseware.
"""
shard = 5
def setUp(self, is_staff=True):

View File

@@ -4,17 +4,16 @@
Acceptance tests for CMS Video Editor.
"""
import ddt
from nose.plugins.attrib import attr
from common.test.acceptance.pages.common.utils import confirm_prompt
from common.test.acceptance.tests.video.test_studio_video_module import CMSVideoBaseTest
@attr(shard=6)
@ddt.ddt
class VideoEditorTest(CMSVideoBaseTest):
"""
CMS Video Editor Test Class
"""
shard = 6
def _create_video_component(self, subtitles=False):
"""

View File

@@ -6,8 +6,8 @@ Acceptance tests for CMS Video Module.
import os
from unittest import skipIf
import pytest
from mock import patch
from nose.plugins.attrib import attr
from bok_choy.promise import EmptyPromise
@@ -171,11 +171,11 @@ class CMSVideoBaseTest(UniqueCourseTest):
self.unit_page.xblocks[1].save_settings()
@attr(shard=13)
class CMSVideoTest(CMSVideoBaseTest):
"""
CMS Video Test Class
"""
shard = 13
def test_youtube_stub_proxy(self):
"""
@@ -334,7 +334,7 @@ class CMSVideoTest(CMSVideoBaseTest):
self.video.click_player_button('play')
@attr('a11y')
@pytest.mark.a11y
class CMSVideoA11yTest(CMSVideoBaseTest):
"""
CMS Video Accessibility Test Class

View File

@@ -18,16 +18,14 @@ front-end validation will not pass.
one stored on YouTube
t_not_exist - this file does not exist on YouTube; it exists locally
"""
from nose.plugins.attrib import attr
from common.test.acceptance.tests.video.test_studio_video_module import CMSVideoBaseTest
@attr(shard=18)
class VideoTranscriptTest(CMSVideoBaseTest):
"""
CMS Video Transcript Test Class
"""
shard = 18
def _create_video_component(self, subtitles=False, subtitle_id='3_yD_cEKoCk'):
"""

View File

@@ -5,7 +5,6 @@ import json
from unittest import skip
import ddt
from nose.plugins.attrib import attr
from opaque_keys.edx.keys import CourseKey, UsageKey
from common.test.acceptance.pages.lms.video.video import _parse_time_str
@@ -59,9 +58,9 @@ class VideoEventsTestMixin(EventsTestMixin, VideoBaseTest):
)
@attr(shard=21)
class VideoEventsTest(VideoEventsTestMixin):
""" Test video player event emission """
shard = 21
def test_video_control_events(self):
"""
@@ -190,10 +189,10 @@ class VideoHLSEventsTest(VideoEventsTestMixin):
self.assert_events_match(expected_events, captured_events)
@attr(shard=19)
@ddt.ddt
class VideoBumperEventsTest(VideoEventsTestMixin):
""" Test bumper video event emission """
shard = 19
# helper methods
def watch_video_and_skip(self):

View File

@@ -3,16 +3,14 @@
"""
Acceptance tests for CMS Video Handout.
"""
from nose.plugins.attrib import attr
from common.test.acceptance.tests.video.test_studio_video_module import CMSVideoBaseTest
@attr(shard=17)
class VideoHandoutTest(CMSVideoBaseTest):
"""
CMS Video Handout Test Class
"""
shard = 17
def _create_course_unit_with_handout(self, handout_filename, save_settings=True):
"""

View File

@@ -4,20 +4,19 @@ Acceptance tests for licensing of the Video module
"""
from __future__ import unicode_literals
from nose.plugins.attrib import attr
from common.test.acceptance.fixtures.course import XBlockFixtureDesc
from common.test.acceptance.pages.lms.courseware import CoursewarePage
from common.test.acceptance.pages.studio.overview import CourseOutlinePage
from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest
@attr(shard=22)
class VideoLicenseTest(StudioCourseTest):
"""
Tests for video module-level licensing (that is, setting the license,
for a specific video module, to All Rights Reserved or Creative Commons)
"""
shard = 22
def setUp(self): # pylint: disable=arguments-differ
super(VideoLicenseTest, self).setUp()

View File

@@ -8,9 +8,6 @@ from unittest import skipIf
from ddt import data, ddt, unpack
from mock import patch
from nose.plugins.attrib import attr
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from common.test.acceptance.fixtures.course import CourseFixture, XBlockFixtureDesc
from common.test.acceptance.pages.common.auto_auth import AutoAuthPage
@@ -24,6 +21,7 @@ from common.test.acceptance.tests.helpers import (
is_youtube_available,
skip_if_browser
)
from openedx.core.lib.tests import attr
VIDEO_SOURCE_PORT = 8777
VIDEO_HOSTNAME = os.environ.get('BOK_CHOY_HOSTNAME', 'localhost')

View File

@@ -2,6 +2,6 @@
set -e
export LOWER_PYLINT_THRESHOLD=1000
export UPPER_PYLINT_THRESHOLD=3825
export UPPER_PYLINT_THRESHOLD=3800
export ESLINT_THRESHOLD=5590
export STYLELINT_THRESHOLD=973