Merge pull request #7850 from edx/benp/bok-choy-shard-5
Add bok-choy shards 4 and 5. New default is 'shard 6'
This commit is contained in:
@@ -20,7 +20,7 @@ from ...pages.studio.settings_group_configurations import GroupConfigurationsPag
|
||||
import uuid
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
@attr('shard_5')
|
||||
class CohortConfigurationTest(EventsTestMixin, UniqueCourseTest, CohortTestMixin):
|
||||
"""
|
||||
Tests for cohort management on the LMS Instructor Dashboard
|
||||
@@ -619,7 +619,7 @@ class CohortConfigurationTest(EventsTestMixin, UniqueCourseTest, CohortTestMixin
|
||||
self.assertEquals(expected_message, messages[0])
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
@attr('shard_5')
|
||||
class CohortDiscussionTopicsTest(UniqueCourseTest, CohortTestMixin):
|
||||
"""
|
||||
Tests for cohorting the inline and course-wide discussion topics.
|
||||
@@ -910,7 +910,7 @@ class CohortDiscussionTopicsTest(UniqueCourseTest, CohortTestMixin):
|
||||
self.verify_discussion_topics_after_reload(self.inline_key, cohorted_topics_after)
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
@attr('shard_5')
|
||||
class CohortContentGroupAssociationTest(UniqueCourseTest, CohortTestMixin):
|
||||
"""
|
||||
Tests for linking between content groups and cohort in the instructor dashboard.
|
||||
|
||||
@@ -76,7 +76,7 @@ class DiscussionTabSingleThreadTest(BaseDiscussionTestCase):
|
||||
self.thread_page.wait_for_page()
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_5')
|
||||
class CohortedDiscussionTabSingleThreadTest(DiscussionTabSingleThreadTest, CohortedDiscussionTestMixin):
|
||||
"""
|
||||
Tests for the discussion page displaying a single cohorted thread.
|
||||
@@ -85,7 +85,7 @@ class CohortedDiscussionTabSingleThreadTest(DiscussionTabSingleThreadTest, Cohor
|
||||
pass
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_5')
|
||||
class NonCohortedDiscussionTabSingleThreadTest(DiscussionTabSingleThreadTest, NonCohortedDiscussionTestMixin):
|
||||
"""
|
||||
Tests for the discussion page displaying a single non-cohorted thread.
|
||||
@@ -134,7 +134,7 @@ class InlineDiscussionTest(UniqueCourseTest):
|
||||
self.show_thread(thread_id)
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_5')
|
||||
class CohortedInlineDiscussionTest(InlineDiscussionTest, CohortedDiscussionTestMixin):
|
||||
"""
|
||||
Tests for cohorted inline discussions.
|
||||
@@ -143,7 +143,7 @@ class CohortedInlineDiscussionTest(InlineDiscussionTest, CohortedDiscussionTestM
|
||||
pass
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_5')
|
||||
class NonCohortedInlineDiscussionTest(InlineDiscussionTest, NonCohortedDiscussionTestMixin):
|
||||
"""
|
||||
Tests for non-cohorted inline discussions.
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
End-to-end tests for the Account Settings page.
|
||||
"""
|
||||
from unittest import skip
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from bok_choy.web_app_test import WebAppTest
|
||||
|
||||
@@ -13,6 +14,7 @@ from ...pages.lms.dashboard import DashboardPage
|
||||
from ..helpers import EventsTestMixin
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class AccountSettingsTestMixin(EventsTestMixin, WebAppTest):
|
||||
"""
|
||||
Mixin with helper methods to test the account settings page.
|
||||
@@ -57,6 +59,7 @@ class AccountSettingsTestMixin(EventsTestMixin, WebAppTest):
|
||||
)
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class DashboardMenuTest(AccountSettingsTestMixin, WebAppTest):
|
||||
"""
|
||||
Tests that the dashboard menu works correctly with the account settings page.
|
||||
@@ -79,6 +82,7 @@ class DashboardMenuTest(AccountSettingsTestMixin, WebAppTest):
|
||||
dashboard_page.click_account_settings_link()
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest):
|
||||
"""
|
||||
Tests that verify behaviour of the Account Settings page.
|
||||
|
||||
@@ -4,6 +4,7 @@ End-to-end tests for Student's Profile Page.
|
||||
"""
|
||||
from datetime import datetime
|
||||
from bok_choy.web_app_test import WebAppTest
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from ...pages.common.logout import LogoutPage
|
||||
from ...pages.lms.account_settings import AccountSettingsPage
|
||||
@@ -146,6 +147,7 @@ class LearnerProfileTestMixin(EventsTestMixin):
|
||||
)
|
||||
|
||||
|
||||
@attr('shard_4')
|
||||
class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
|
||||
"""
|
||||
Tests that verify a student's own profile page.
|
||||
@@ -627,6 +629,7 @@ class OwnLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
|
||||
self.assert_event_emitted_num_times(user_id, 'profile_image_uploaded_at', 2)
|
||||
|
||||
|
||||
@attr('shard_4')
|
||||
class DifferentUserLearnerProfilePageTest(LearnerProfileTestMixin, WebAppTest):
|
||||
"""
|
||||
Tests that verify viewing the profile page of a different user.
|
||||
|
||||
@@ -37,7 +37,7 @@ from ...pages.lms.course_wiki import CourseWikiPage, CourseWikiEditPage
|
||||
from ...fixtures.course import CourseFixture, XBlockFixtureDesc, CourseUpdateDesc
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_4')
|
||||
class ForgotPasswordPageTest(UniqueCourseTest):
|
||||
"""
|
||||
Test that forgot password forms is rendered if url contains 'forgot-password-modal'
|
||||
@@ -57,7 +57,7 @@ class ForgotPasswordPageTest(UniqueCourseTest):
|
||||
self.assertTrue(self.reset_password_page.is_form_visible())
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_4')
|
||||
class LoginFromCombinedPageTest(UniqueCourseTest):
|
||||
"""Test that we can log in using the combined login/registration page.
|
||||
|
||||
@@ -153,7 +153,7 @@ class LoginFromCombinedPageTest(UniqueCourseTest):
|
||||
return (email, password)
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_4')
|
||||
class RegisterFromCombinedPageTest(UniqueCourseTest):
|
||||
"""Test that we can register a new user from the combined login/registration page. """
|
||||
|
||||
@@ -227,7 +227,7 @@ class RegisterFromCombinedPageTest(UniqueCourseTest):
|
||||
self.assertEqual(self.register_page.current_form, "login")
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_4')
|
||||
class PayAndVerifyTest(EventsTestMixin, UniqueCourseTest):
|
||||
"""Test that we can proceed through the payment and verification flow."""
|
||||
def setUp(self):
|
||||
@@ -391,6 +391,7 @@ class PayAndVerifyTest(EventsTestMixin, UniqueCourseTest):
|
||||
self.assertEqual(enrollment_mode, 'verified')
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class CourseWikiTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests that verify the course wiki.
|
||||
@@ -444,6 +445,7 @@ class CourseWikiTest(UniqueCourseTest):
|
||||
self.assertEqual(content, actual_content)
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class HighLevelTabTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests that verify each of the high-level tabs available within a course.
|
||||
@@ -629,6 +631,7 @@ class PDFTextBooksTabTest(UniqueCourseTest):
|
||||
self.tab_nav.go_to_tab("PDF Book {}".format(i))
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class VideoTest(UniqueCourseTest):
|
||||
"""
|
||||
Navigate to a video in the courseware and play it.
|
||||
@@ -699,6 +702,7 @@ class VideoTest(UniqueCourseTest):
|
||||
self.assertGreaterEqual(self.video.duration, self.video.elapsed_time)
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class VisibleToStaffOnlyTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests that content with visible_to_staff_only set to True cannot be viewed by students.
|
||||
@@ -783,6 +787,7 @@ class VisibleToStaffOnlyTest(UniqueCourseTest):
|
||||
self.assertEqual(["Html Child in visible unit"], self.course_nav.sequence_items)
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class TooltipTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests that tooltips are displayed
|
||||
@@ -827,6 +832,7 @@ class TooltipTest(UniqueCourseTest):
|
||||
self.assertTrue(self.courseware_page.tooltips_displayed())
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class PreRequisiteCourseTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests that pre-requisite course messages are displayed
|
||||
@@ -911,6 +917,7 @@ class PreRequisiteCourseTest(UniqueCourseTest):
|
||||
self.settings_page.save_changes()
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class ProblemExecutionTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests of problems.
|
||||
@@ -989,6 +996,7 @@ class ProblemExecutionTest(UniqueCourseTest):
|
||||
self.assertFalse(problem_page.is_correct())
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class EntranceExamTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests that course has an entrance exam.
|
||||
|
||||
@@ -4,6 +4,8 @@ Test courseware search
|
||||
import os
|
||||
import json
|
||||
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from ..helpers import UniqueCourseTest
|
||||
from ...pages.common.logout import LogoutPage
|
||||
from ...pages.studio.utils import add_html_component, click_css, type_in_codemirror
|
||||
@@ -14,6 +16,7 @@ from ...pages.lms.courseware_search import CoursewareSearchPage
|
||||
from ...fixtures.course import CourseFixture, XBlockFixtureDesc
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class CoursewareSearchTest(UniqueCourseTest):
|
||||
"""
|
||||
Test courseware search.
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
End-to-end tests for the LMS Instructor Dashboard.
|
||||
"""
|
||||
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from ..helpers import UniqueCourseTest, get_modal_alert
|
||||
from ...pages.common.logout import LogoutPage
|
||||
from ...pages.lms.auto_auth import AutoAuthPage
|
||||
@@ -10,6 +12,7 @@ from ...pages.lms.instructor_dashboard import InstructorDashboardPage
|
||||
from ...fixtures.course import CourseFixture
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class AutoEnrollmentWithCSVTest(UniqueCourseTest):
|
||||
"""
|
||||
End-to-end tests for Auto-Registration and enrollment functionality via CSV file.
|
||||
@@ -87,6 +90,7 @@ class AutoEnrollmentWithCSVTest(UniqueCourseTest):
|
||||
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_5')
|
||||
class EntranceExamGradeTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests for Entrance exam specific student grading tasks.
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
Tests the "preview" selector in the LMS that allows changing between Staff, Student, and Content Groups.
|
||||
"""
|
||||
|
||||
from nose.plugins.attrib import attr
|
||||
from ..helpers import UniqueCourseTest, create_user_partition_json
|
||||
from ...pages.studio.auto_auth import AutoAuthPage
|
||||
from ...pages.lms.courseware import CoursewarePage
|
||||
@@ -14,7 +13,6 @@ from xmodule.partitions.partitions import Group
|
||||
from textwrap import dedent
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
class StaffViewTest(UniqueCourseTest):
|
||||
"""
|
||||
Tests that verify the staff view.
|
||||
@@ -52,7 +50,6 @@ class StaffViewTest(UniqueCourseTest):
|
||||
return staff_page
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
class CourseWithoutContentGroupsTest(StaffViewTest):
|
||||
"""
|
||||
Setup for tests that have no content restricted to specific content groups.
|
||||
@@ -83,7 +80,6 @@ class CourseWithoutContentGroupsTest(StaffViewTest):
|
||||
)
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
class StaffViewToggleTest(CourseWithoutContentGroupsTest):
|
||||
"""
|
||||
Tests for the staff view toggle button.
|
||||
@@ -100,7 +96,6 @@ class StaffViewToggleTest(CourseWithoutContentGroupsTest):
|
||||
self.assertFalse(course_page.has_tab('Instructor'))
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
class StaffDebugTest(CourseWithoutContentGroupsTest):
|
||||
"""
|
||||
Tests that verify the staff debug info.
|
||||
@@ -232,7 +227,6 @@ class StaffDebugTest(CourseWithoutContentGroupsTest):
|
||||
'for user {}'.format(self.USERNAME), msg)
|
||||
|
||||
|
||||
@attr('shard_3')
|
||||
class CourseWithContentGroupsTest(StaffViewTest):
|
||||
"""
|
||||
Verifies that changing the "View this course as" selector works properly for content groups.
|
||||
|
||||
@@ -3,6 +3,7 @@ Acceptance tests for Content Libraries in Studio
|
||||
"""
|
||||
from ddt import ddt, data
|
||||
from flaky import flaky
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from .base_studio_test import StudioLibraryTest
|
||||
from ...fixtures.course import XBlockFixtureDesc
|
||||
@@ -12,6 +13,7 @@ from ...pages.studio.library import LibraryEditPage
|
||||
from ...pages.studio.users import LibraryUsersPage
|
||||
|
||||
|
||||
@attr('shard_4')
|
||||
@ddt
|
||||
class LibraryEditPageTest(StudioLibraryTest):
|
||||
"""
|
||||
@@ -183,6 +185,7 @@ class LibraryEditPageTest(StudioLibraryTest):
|
||||
self.assertIn("Checkboxes", problem_block.name)
|
||||
|
||||
|
||||
@attr('shard_4')
|
||||
@ddt
|
||||
class LibraryNavigationTest(StudioLibraryTest):
|
||||
"""
|
||||
|
||||
@@ -3,6 +3,7 @@ Acceptance tests for Library Content in LMS
|
||||
"""
|
||||
import ddt
|
||||
from flaky import flaky
|
||||
from nose.plugins.attrib import attr
|
||||
import textwrap
|
||||
|
||||
from .base_studio_test import StudioLibraryTest
|
||||
@@ -17,6 +18,7 @@ SUBSECTION_NAME = 'Test Subsection'
|
||||
UNIT_NAME = 'Test Unit'
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
@ddt.ddt
|
||||
class StudioLibraryContainerTest(StudioLibraryTest, UniqueCourseTest, TestWithSearchIndexMixin):
|
||||
"""
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
Acceptance tests for Studio's Setting pages
|
||||
"""
|
||||
|
||||
from nose.plugins.attrib import attr
|
||||
|
||||
from base_studio_test import StudioCourseTest
|
||||
from bok_choy.promise import EmptyPromise
|
||||
from ...fixtures.course import XBlockFixtureDesc
|
||||
@@ -16,7 +14,6 @@ from textwrap import dedent
|
||||
from xmodule.partitions.partitions import Group
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
class ContentGroupConfigurationTest(StudioCourseTest):
|
||||
"""
|
||||
Tests for content groups in the Group Configurations Page.
|
||||
@@ -228,7 +225,6 @@ class ContentGroupConfigurationTest(StudioCourseTest):
|
||||
).fulfill()
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
class AdvancedSettingsValidationTest(StudioCourseTest):
|
||||
"""
|
||||
Tests for validation feature in Studio's advanced settings tab
|
||||
|
||||
@@ -20,7 +20,7 @@ from ..tests.lms.test_lms_user_preview import verify_expected_problem_visibility
|
||||
from bok_choy.promise import EmptyPromise
|
||||
|
||||
|
||||
@attr('shard_1')
|
||||
@attr('shard_5')
|
||||
class EndToEndCohortedCoursewareTest(ContainerBase):
|
||||
|
||||
def setUp(self, is_staff=True):
|
||||
|
||||
@@ -126,7 +126,7 @@ class CMSVideoBaseTest(UniqueCourseTest):
|
||||
self.unit_page.xblocks[1].save_settings()
|
||||
|
||||
|
||||
@attr('shard_2')
|
||||
@attr('shard_4')
|
||||
class CMSVideoTest(CMSVideoBaseTest):
|
||||
"""
|
||||
CMS Video Test Class
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
"""
|
||||
Acceptance tests for CMS Video Handout.
|
||||
"""
|
||||
from nose.plugins.attrib import attr
|
||||
from .test_studio_video_module import CMSVideoBaseTest
|
||||
|
||||
|
||||
@attr('shard_5')
|
||||
class VideoHandoutTest(CMSVideoBaseTest):
|
||||
"""
|
||||
CMS Video Handout Test Class
|
||||
|
||||
@@ -30,7 +30,7 @@ HTML5_SOURCES_INCORRECT = [
|
||||
]
|
||||
|
||||
|
||||
@attr('shard_2')
|
||||
@attr('shard_4')
|
||||
@skipIf(is_youtube_available() is False, 'YouTube is not available!')
|
||||
class VideoBaseTest(UniqueCourseTest):
|
||||
"""
|
||||
|
||||
@@ -179,7 +179,15 @@ END
|
||||
;;
|
||||
|
||||
"4")
|
||||
paver test_bokchoy --extra_args="-a shard_1=False,shard_2=False,shard_3=False --with-flaky" || { EXIT=1; }
|
||||
paver test_bokchoy --extra_args="-a 'shard_4' --with-flaky" || { EXIT=1; }
|
||||
;;
|
||||
|
||||
"5")
|
||||
paver test_bokchoy --extra_args="-a 'shard_5' --with-flaky" || { EXIT=1; }
|
||||
;;
|
||||
|
||||
"6")
|
||||
paver test_bokchoy --extra_args="-a shard_1=False,shard_2=False,shard_3=False,shard_4=False,shard_5=False --with-flaky" || { EXIT=1; }
|
||||
;;
|
||||
|
||||
# Default case because if we later define another bok-choy shard on Jenkins
|
||||
|
||||
Reference in New Issue
Block a user