diff --git a/common/test/acceptance/tests/discussion/test_cohort_management.py b/common/test/acceptance/tests/discussion/test_cohort_management.py index 8c7d6a9aee..ce1dd55e91 100644 --- a/common/test/acceptance/tests/discussion/test_cohort_management.py +++ b/common/test/acceptance/tests/discussion/test_cohort_management.py @@ -21,7 +21,7 @@ import unicodecsv import uuid -@attr('shard_6') +@attr('shard_8') class CohortConfigurationTest(EventsTestMixin, UniqueCourseTest, CohortTestMixin): """ Tests for cohort management on the LMS Instructor Dashboard diff --git a/common/test/acceptance/tests/lms/test_account_settings.py b/common/test/acceptance/tests/lms/test_account_settings.py index d010c32994..353b8023b6 100644 --- a/common/test/acceptance/tests/lms/test_account_settings.py +++ b/common/test/acceptance/tests/lms/test_account_settings.py @@ -87,7 +87,7 @@ class AccountSettingsTestMixin(EventsTestMixin, WebAppTest): self.assert_no_matching_events_were_emitted({'event_type': self.USER_SETTINGS_CHANGED_EVENT_NAME}) -@attr('shard_5') +@attr('shard_8') class DashboardMenuTest(AccountSettingsTestMixin, WebAppTest): """ Tests that the dashboard menu works correctly with the account settings page. @@ -110,7 +110,7 @@ class DashboardMenuTest(AccountSettingsTestMixin, WebAppTest): dashboard_page.click_account_settings_link() -@attr('shard_5') +@attr('shard_8') class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest): """ Tests that verify behaviour of the Account Settings page. diff --git a/common/test/acceptance/tests/lms/test_bookmarks.py b/common/test/acceptance/tests/lms/test_bookmarks.py index 8bc0feaa7d..bcc46458ad 100644 --- a/common/test/acceptance/tests/lms/test_bookmarks.py +++ b/common/test/acceptance/tests/lms/test_bookmarks.py @@ -3,6 +3,7 @@ End-to-end tests for the courseware unit bookmarks. """ import json +from nose.plugins.attrib import attr import requests from ...pages.studio.auto_auth import AutoAuthPage as StudioAutoAuthPage from ...pages.lms.auto_auth import AutoAuthPage as LmsAutoAuthPage @@ -59,6 +60,7 @@ class BookmarksTestMixin(EventsTestMixin, UniqueCourseTest): self.assert_events_match(event_data, actual_events) +@attr('shard_8') class BookmarksTest(BookmarksTestMixin): """ Tests to verify bookmarks functionality. diff --git a/common/test/acceptance/tests/lms/test_library.py b/common/test/acceptance/tests/lms/test_library.py index b9df22cc45..7c371cda63 100644 --- a/common/test/acceptance/tests/lms/test_library.py +++ b/common/test/acceptance/tests/lms/test_library.py @@ -21,7 +21,7 @@ SUBSECTION_NAME = 'Test Subsection' UNIT_NAME = 'Test Unit' -@attr('shard_3') +@attr('shard_7') class LibraryContentTestBase(UniqueCourseTest): """ Base class for library content block tests """ USERNAME = "STUDENT_TESTER" @@ -144,7 +144,7 @@ class LibraryContentTestBase(UniqueCourseTest): @ddt.ddt -@attr('shard_3') +@attr('shard_7') class LibraryContentTest(LibraryContentTestBase): """ Test courseware. @@ -197,7 +197,7 @@ class LibraryContentTest(LibraryContentTestBase): @ddt.ddt -@attr('shard_3') +@attr('shard_7') class StudioLibraryContainerCapaFilterTest(LibraryContentTestBase, TestWithSearchIndexMixin): """ Test Library Content block in LMS diff --git a/common/test/acceptance/tests/lms/test_lms.py b/common/test/acceptance/tests/lms/test_lms.py index c3b4024212..1c93f57865 100644 --- a/common/test/acceptance/tests/lms/test_lms.py +++ b/common/test/acceptance/tests/lms/test_lms.py @@ -39,7 +39,7 @@ from ...pages.lms.course_wiki import CourseWikiPage, CourseWikiEditPage from ...fixtures.course import CourseFixture, XBlockFixtureDesc, CourseUpdateDesc -@attr('shard_4') +@attr('shard_8') class ForgotPasswordPageTest(UniqueCourseTest): """ Test that forgot password forms is rendered if url contains 'forgot-password-modal' @@ -59,7 +59,7 @@ class ForgotPasswordPageTest(UniqueCourseTest): self.assertTrue(self.reset_password_page.is_form_visible()) -@attr('shard_4') +@attr('shard_8') class LoginFromCombinedPageTest(UniqueCourseTest): """Test that we can log in using the combined login/registration page. @@ -229,7 +229,7 @@ class LoginFromCombinedPageTest(UniqueCourseTest): return (email, password) -@attr('shard_4') +@attr('shard_8') class RegisterFromCombinedPageTest(UniqueCourseTest): """Test that we can register a new user from the combined login/registration page. """ @@ -344,7 +344,7 @@ class RegisterFromCombinedPageTest(UniqueCourseTest): account_settings.wait_for_message(field_id, "Successfully unlinked") -@attr('shard_4') +@attr('shard_8') class PayAndVerifyTest(EventsTestMixin, UniqueCourseTest): """Test that we can proceed through the payment and verification flow.""" def setUp(self): @@ -694,6 +694,7 @@ class HighLevelTabTest(UniqueCourseTest): self.assertIn(expected, actual_items) +@attr('shard_1') class PDFTextBooksTabTest(UniqueCourseTest): """ Tests that verify each of the textbook tabs available within a course. diff --git a/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py b/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py index 57dcb0e8a8..598064b6a1 100644 --- a/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py +++ b/common/test/acceptance/tests/lms/test_lms_instructor_dashboard.py @@ -46,7 +46,7 @@ class BaseInstructorDashboardTest(EventsTestMixin, UniqueCourseTest): return instructor_dashboard_page -@attr('shard_1') +@attr('shard_7') class AutoEnrollmentWithCSVTest(BaseInstructorDashboardTest): """ End-to-end tests for Auto-Registration and enrollment functionality via CSV file. @@ -119,7 +119,7 @@ class AutoEnrollmentWithCSVTest(BaseInstructorDashboardTest): self.assertEqual(self.auto_enroll_section.first_notification_message(section_type=self.auto_enroll_section.NOTIFICATION_ERROR), "Make sure that the file you upload is in CSV format with no extraneous characters or rows.") -@attr('shard_1') +@attr('shard_7') class ProctoredExamsTest(BaseInstructorDashboardTest): """ End-to-end tests for Proctoring Sections of the Instructor Dashboard. @@ -296,7 +296,7 @@ class ProctoredExamsTest(BaseInstructorDashboardTest): self.assertFalse(exam_attempts_section.is_student_attempt_visible) -@attr('shard_1') +@attr('shard_7') class EntranceExamGradeTest(BaseInstructorDashboardTest): """ Tests for Entrance exam specific student grading tasks. @@ -495,6 +495,7 @@ class EntranceExamGradeTest(BaseInstructorDashboardTest): self.assertTrue(self.student_admin_section.is_background_task_history_table_visible()) +@attr('shard_7') class DataDownloadsTest(BaseInstructorDashboardTest): """ Bok Choy tests for the "Data Downloads" tab. @@ -588,7 +589,7 @@ class DataDownloadsTest(BaseInstructorDashboardTest): self.verify_report_download(report_name) -@attr('shard_1') +@attr('shard_7') class CertificatesTest(BaseInstructorDashboardTest): """ Tests for Certificates functionality on instructor dashboard. @@ -845,7 +846,7 @@ class CertificatesTest(BaseInstructorDashboardTest): ) -@attr('shard_1') +@attr('shard_7') class CertificateInvalidationTest(BaseInstructorDashboardTest): """ Tests for Certificates functionality on instructor dashboard. diff --git a/common/test/acceptance/tests/lms/test_problem_types.py b/common/test/acceptance/tests/lms/test_problem_types.py index 858cd0ab22..4ff0d401a5 100644 --- a/common/test/acceptance/tests/lms/test_problem_types.py +++ b/common/test/acceptance/tests/lms/test_problem_types.py @@ -135,7 +135,7 @@ class ProblemTypeTestMixin(object): """ Test cases shared amongst problem types. """ - @attr('shard_2') + @attr('shard_7') def test_answer_correctly(self): """ Scenario: I can answer a problem correctly @@ -171,7 +171,7 @@ class ProblemTypeTestMixin(object): for event in expected_events: self.wait_for_events(event_filter=event, number_of_matches=1) - @attr('shard_2') + @attr('shard_7') def test_answer_incorrectly(self): """ Scenario: I can answer a problem incorrectly @@ -191,7 +191,7 @@ class ProblemTypeTestMixin(object): self.problem_page.click_check() self.wait_for_status('incorrect') - @attr('shard_2') + @attr('shard_7') def test_submit_blank_answer(self): """ Scenario: I can submit a blank answer diff --git a/common/test/acceptance/tests/studio/test_import_export.py b/common/test/acceptance/tests/studio/test_import_export.py index 8de143f89a..b797cbe000 100644 --- a/common/test/acceptance/tests/studio/test_import_export.py +++ b/common/test/acceptance/tests/studio/test_import_export.py @@ -34,7 +34,7 @@ class ExportTestMixin(object): self.assertTrue(is_tarball_mimetype) -@attr('shard_4') +@attr('shard_7') class TestCourseExport(ExportTestMixin, StudioCourseTest): """ Export tests for courses. @@ -57,7 +57,7 @@ class TestCourseExport(ExportTestMixin, StudioCourseTest): self.assertEqual(self.export_page.header_text, 'Course Export') -@attr('shard_4') +@attr('shard_7') class TestLibraryExport(ExportTestMixin, StudioLibraryTest): """ Export tests for libraries. @@ -106,7 +106,7 @@ class BadExportMixin(object): ) -@attr('shard_4') +@attr('shard_7') class TestLibraryBadExport(BadExportMixin, StudioLibraryTest): """ Verify exporting a bad library causes an error. @@ -130,7 +130,7 @@ class TestLibraryBadExport(BadExportMixin, StudioLibraryTest): ) -@attr('shard_4') +@attr('shard_7') class TestCourseBadExport(BadExportMixin, StudioCourseTest): """ Verify exporting a bad course causes an error. @@ -162,7 +162,7 @@ class TestCourseBadExport(BadExportMixin, StudioCourseTest): ) -@attr('shard_4') +@attr('shard_7') class ImportTestMixin(object): """ Tests to run for both course and library import pages. @@ -277,7 +277,7 @@ class ImportTestMixin(object): self.import_page.wait_for_tasks(fail_on='Updating') -@attr('shard_4') +@attr('shard_7') class TestEntranceExamCourseImport(ImportTestMixin, StudioCourseTest): """ Tests the Course import page @@ -323,7 +323,7 @@ class TestEntranceExamCourseImport(ImportTestMixin, StudioCourseTest): ) -@attr('shard_4') +@attr('shard_7') class TestCourseImport(ImportTestMixin, StudioCourseTest): """ Tests the Course import page @@ -393,7 +393,7 @@ class TestCourseImport(ImportTestMixin, StudioCourseTest): self.assertFalse(self.import_page.is_timestamp_visible()) -@attr('shard_4') +@attr('shard_7') class TestLibraryImport(ImportTestMixin, StudioLibraryTest): """ Tests the Library import page diff --git a/common/test/acceptance/tests/studio/test_studio_course_create.py b/common/test/acceptance/tests/studio/test_studio_course_create.py index c9625b3e52..943ac036a7 100644 --- a/common/test/acceptance/tests/studio/test_studio_course_create.py +++ b/common/test/acceptance/tests/studio/test_studio_course_create.py @@ -3,12 +3,14 @@ Acceptance tests for course creation. """ import uuid from bok_choy.web_app_test import WebAppTest +from nose.plugins.attrib import attr from ...pages.studio.auto_auth import AutoAuthPage from ...pages.studio.index import DashboardPage from ...pages.studio.overview import CourseOutlinePage +@attr('shard_8') class CreateCourseTest(WebAppTest): """ Test that we can create a new course the studio home page. diff --git a/common/test/acceptance/tests/studio/test_studio_settings.py b/common/test/acceptance/tests/studio/test_studio_settings.py index a4f6aea9e6..d050493600 100644 --- a/common/test/acceptance/tests/studio/test_studio_settings.py +++ b/common/test/acceptance/tests/studio/test_studio_settings.py @@ -18,6 +18,7 @@ from textwrap import dedent from xmodule.partitions.partitions import Group +@attr('shard_8') class ContentGroupConfigurationTest(StudioCourseTest): """ Tests for content groups in the Group Configurations Page. @@ -229,6 +230,7 @@ class ContentGroupConfigurationTest(StudioCourseTest): ).fulfill() +@attr('shard_8') class AdvancedSettingsValidationTest(StudioCourseTest): """ Tests for validation feature in Studio's advanced settings tab diff --git a/common/test/acceptance/tests/studio/test_studio_settings_certificates.py b/common/test/acceptance/tests/studio/test_studio_settings_certificates.py index fd7ae62ec2..758b550679 100644 --- a/common/test/acceptance/tests/studio/test_studio_settings_certificates.py +++ b/common/test/acceptance/tests/studio/test_studio_settings_certificates.py @@ -4,12 +4,15 @@ Acceptance tests for Studio's Setting pages import re import uuid +from nose.plugins.attrib import attr + from .base_studio_test import StudioCourseTest from ...pages.lms.create_mode import ModeCreationPage from ...pages.studio.settings_certificates import CertificatesPage from ...pages.studio.settings_advanced import AdvancedSettingsPage +@attr('shard_8') class CertificatesTest(StudioCourseTest): """ Tests for settings/certificates Page. diff --git a/common/test/acceptance/tests/video/test_video_events.py b/common/test/acceptance/tests/video/test_video_events.py index 158e01a0f2..9f03273c40 100644 --- a/common/test/acceptance/tests/video/test_video_events.py +++ b/common/test/acceptance/tests/video/test_video_events.py @@ -2,6 +2,7 @@ import datetime import json +from nose.plugins.attrib import attr import ddt import unittest @@ -150,6 +151,7 @@ class VideoEventsTest(VideoEventsTestMixin): assert_events_equal(static_fields_pattern, load_video_event) +@attr('shard_8') @ddt.ddt class VideoBumperEventsTest(VideoEventsTestMixin): """ Test bumper video event emission """