Unverified Commit 9911c8d0 by Brian Mesick Committed by GitHub

Merge pull request #16649 from edx/bmedx/django111_tag_test_failures_lms_1

Tag LMS Unit 1 tests that fail in Django 1.11
parents 3d5fef78 5fbbf497
"""
Tests for the Badges app models.
"""
import pytest
from django.core.exceptions import ValidationError
from django.core.files.images import ImageFile
from django.core.files.storage import default_storage
......@@ -37,6 +38,7 @@ class BadgeImageConfigurationTest(TestCase):
Test the validation features of BadgeImageConfiguration.
"""
@pytest.mark.django111_expected_failure
def test_no_double_default(self):
"""
Verify that creating two configurations as default is not permitted.
......
......@@ -3,6 +3,7 @@ Tests for branding page
"""
import datetime
import pytest
from django.conf import settings
from django.contrib.auth.models import AnonymousUser
from django.core.urlresolvers import reverse
......@@ -156,6 +157,7 @@ class PreRequisiteCourseCatalog(ModuleStoreTestCase, LoginEnrollmentTestCase, Mi
@attr(shard=1)
@pytest.mark.django111_expected_failure
class IndexPageCourseCardsSortingTests(ModuleStoreTestCase):
"""
Test for Index page course cards sorting
......@@ -291,6 +293,7 @@ class IndexPageCourseCardsSortingTests(ModuleStoreTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class IndexPageProgramsTests(SiteMixin, ModuleStoreTestCase):
"""
Tests for Programs List in Marketing Pages.
......
"""Tests for the resubmit_error_certificates management command. """
import ddt
import pytest
from django.core.management import call_command
from django.core.management.base import CommandError
from django.test.utils import override_settings
......@@ -138,6 +139,7 @@ class ResubmitErrorCertificatesTest(CertificateManagementTest):
with self.assertRaisesRegexp(CommandError, invalid_key):
call_command(self.command, course_key_list=[invalid_key])
@pytest.mark.django111_expected_failure
def test_course_does_not_exist(self):
phantom_course = CourseLocator(org='phantom', course='phantom', run='phantom')
self._create_cert(phantom_course, self.user, 'error')
......
......@@ -2,6 +2,7 @@
import json
import ddt
import pytest
from django.conf import settings
from django.core.exceptions import ValidationError
from django.core.files.uploadedfile import SimpleUploadedFile
......@@ -263,6 +264,7 @@ class TestCertificateGenerationHistory(TestCase):
({"statuses_to_regenerate": ['downloadable', 'not_readable']}, 'already received', False),
)
@ddt.unpack
@pytest.mark.django111_expected_failure
def test_get_certificate_generation_candidates(self, task_input, expected, is_regeneration):
staff = AdminFactory.create()
instructor_task = InstructorTaskFactory.create(
......@@ -284,6 +286,7 @@ class TestCertificateGenerationHistory(TestCase):
@ddt.data((True, "regenerated"), (False, "generated"))
@ddt.unpack
@pytest.mark.django111_expected_failure
def test_get_task_name(self, is_regeneration, expected):
staff = AdminFactory.create()
instructor_task = InstructorTaskFactory.create(
......
......@@ -5,6 +5,7 @@ from uuid import uuid4
import ddt
import datetime
import pytest
from django.conf import settings
from django.core.cache import cache
from django.core.urlresolvers import reverse
......@@ -260,6 +261,7 @@ class MicrositeCertificatesViewsTests(ModuleStoreTestCase):
self.store.update_item(self.course, self.user.id)
@override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED)
@pytest.mark.django111_expected_failure
def test_html_view_for_microsite(self):
test_configuration_string = """{
"default": {
......@@ -309,6 +311,7 @@ class MicrositeCertificatesViewsTests(ModuleStoreTestCase):
self.assertIn('Microsite title', response.content)
@override_settings(FEATURES=FEATURES_WITH_CERTS_ENABLED)
@pytest.mark.django111_expected_failure
def test_html_view_microsite_configuration_missing(self):
test_configuration_string = """{
"default": {
......
# -*- coding: utf-8 -*-
"""Tests for certificates views. """
import datetime
import json
from collections import OrderedDict
from urllib import urlencode
from uuid import uuid4
import ddt
import datetime
import pytest
from django.conf import settings
from django.core.urlresolvers import reverse
from django.test.client import Client, RequestFactory
from django.test.utils import override_settings
from util.date_utils import strftime_localized
from mock import patch
from nose.plugins.attrib import attr
import ddt
from certificates.api import get_certificate_url
from certificates.models import (
CertificateGenerationCourseSetting,
......@@ -40,6 +38,7 @@ from lms.djangoapps.badges.tests.factories import (
CourseCompleteImageConfigurationFactory
)
from lms.djangoapps.grades.tests.utils import mock_passing_grade
from nose.plugins.attrib import attr
from openedx.core.djangoapps.certificates.config import waffle
from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
from openedx.core.lib.tests.assertions.events import assert_event_matches
......@@ -47,6 +46,7 @@ from student.roles import CourseStaffRole
from student.tests.factories import CourseEnrollmentFactory, UserFactory
from track.tests import EventTrackingTestCase
from util import organizations_helpers as organizations_api
from util.date_utils import strftime_localized
from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory
......@@ -243,6 +243,7 @@ class CommonCertificatesTestCase(ModuleStoreTestCase):
@attr(shard=1)
@ddt.ddt
@pytest.mark.django111_expected_failure
class CertificatesViewsTests(CommonCertificatesTestCase):
"""
Tests for the certificates web/html views
......
......@@ -2,6 +2,7 @@
Tests for wiki middleware.
"""
import pytest
from django.test.client import Client
from nose.plugins.attrib import attr
from wiki.models import URLPath
......@@ -13,6 +14,7 @@ from xmodule.modulestore.tests.factories import CourseFactory
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestWikiAccessMiddleware(ModuleStoreTestCase):
"""Tests for WikiAccessMiddleware."""
......
"""
Tests for course wiki
"""
import pytest
from django.core.urlresolvers import reverse
from mock import patch
from nose.plugins.attrib import attr
......@@ -9,6 +14,7 @@ from xmodule.modulestore.tests.factories import CourseFactory
@attr(shard=1)
@pytest.mark.django111_expected_failure
class WikiRedirectTestCase(EnterpriseTestConsentRequired, LoginEnrollmentTestCase, ModuleStoreTestCase):
"""
Tests for wiki course redirection.
......
......@@ -3,6 +3,7 @@ Test the about xblock
"""
import datetime
import pytest
import pytz
from ccx_keys.locator import CCXLocator
from django.conf import settings
......@@ -38,6 +39,7 @@ SHIB_ERROR_STR = "The currently logged-in user account does not have permission
@attr(shard=1)
@pytest.mark.django111_expected_failure
class AboutTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase, EventTrackingTestCase, MilestonesTestCaseMixin):
"""
Tests about xblock.
......@@ -192,6 +194,7 @@ class AboutTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase, EventTra
@attr(shard=1)
@pytest.mark.django111_expected_failure
class AboutTestCaseXML(LoginEnrollmentTestCase, ModuleStoreTestCase):
"""
Tests for the course about page
......@@ -240,6 +243,7 @@ class AboutTestCaseXML(LoginEnrollmentTestCase, ModuleStoreTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class AboutWithCappedEnrollmentsTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
"""
This test case will check the About page when a course has a capped enrollment
......@@ -287,6 +291,7 @@ class AboutWithCappedEnrollmentsTestCase(LoginEnrollmentTestCase, SharedModuleSt
@attr(shard=1)
@pytest.mark.django111_expected_failure
class AboutWithInvitationOnly(SharedModuleStoreTestCase):
"""
This test case will check the About page when a course is invitation only.
......@@ -334,6 +339,7 @@ class AboutWithInvitationOnly(SharedModuleStoreTestCase):
@attr(shard=1)
@patch.dict(settings.FEATURES, {'RESTRICT_ENROLL_BY_REG_METHOD': True})
@pytest.mark.django111_expected_failure
class AboutTestCaseShibCourse(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
"""
Test cases covering about page behavior for courses that use shib enrollment domain ("shib courses")
......@@ -374,6 +380,7 @@ class AboutTestCaseShibCourse(LoginEnrollmentTestCase, SharedModuleStoreTestCase
@attr(shard=1)
@pytest.mark.django111_expected_failure
class AboutWithClosedEnrollment(ModuleStoreTestCase):
"""
This test case will check the About page for a course that has enrollment start/end
......@@ -419,6 +426,7 @@ class AboutWithClosedEnrollment(ModuleStoreTestCase):
@attr(shard=1)
@patch.dict(settings.FEATURES, {'ENABLE_SHOPPING_CART': True})
@patch.dict(settings.FEATURES, {'ENABLE_PAID_COURSE_REGISTRATION': True})
@pytest.mark.django111_expected_failure
class AboutPurchaseCourseTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
"""
This test class runs through a suite of verifications regarding
......
......@@ -6,6 +6,7 @@ import datetime
import itertools
import ddt
import pytest
import pytz
from ccx_keys.locator import CCXLocator
from django.contrib.auth.models import User
......@@ -158,6 +159,7 @@ class CoachAccessTestCaseCCX(SharedModuleStoreTestCase, LoginEnrollmentTestCase)
@attr(shard=1)
@ddt.ddt
@pytest.mark.django111_expected_failure
class AccessTestCase(LoginEnrollmentTestCase, ModuleStoreTestCase, MilestonesTestCaseMixin):
"""
Tests for the various access controls on the student dashboard
......@@ -631,6 +633,7 @@ class AccessTestCase(LoginEnrollmentTestCase, ModuleStoreTestCase, MilestonesTes
self.assertEqual(bool(access._has_access_course(self.staff, 'load_mobile', descriptor)), staff_expected)
@patch.dict("django.conf.settings.FEATURES", {'ENABLE_PREREQUISITE_COURSES': True, 'MILESTONES_APP': True})
@pytest.mark.django111_expected_failure
def test_courseware_page_unfulfilled_prereqs(self):
"""
Test courseware access when a course has pre-requisite course yet to be completed
......
......@@ -3,11 +3,13 @@
Test the course_info xblock
"""
import mock
from ccx_keys.locator import CCXLocator
import pytest
from django.conf import settings
from django.core.urlresolvers import reverse
from django.http import QueryDict
from django.test.utils import override_settings
from ccx_keys.locator import CCXLocator
from lms.djangoapps.ccx.tests.factories import CcxFactory
from nose.plugins.attrib import attr
from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
......@@ -33,6 +35,7 @@ QUERY_COUNT_TABLE_BLACKLIST = WAFFLE_TABLES
@attr(shard=1)
@pytest.mark.django111_expected_failure
class CourseInfoTestCase(EnterpriseTestConsentRequired, LoginEnrollmentTestCase, SharedModuleStoreTestCase):
"""
Tests for the Course Info page
......@@ -142,6 +145,7 @@ class CourseInfoTestCase(EnterpriseTestConsentRequired, LoginEnrollmentTestCase,
@attr(shard=1)
@pytest.mark.django111_expected_failure
class CourseInfoLastAccessedTestCase(LoginEnrollmentTestCase, ModuleStoreTestCase):
"""
Tests of the CourseInfo last accessed link.
......@@ -300,6 +304,7 @@ class CourseInfoTestCaseCCX(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class CourseInfoTestCaseXML(LoginEnrollmentTestCase, ModuleStoreTestCase):
"""
Tests for the Course Info page for an XML course
......@@ -349,6 +354,7 @@ class CourseInfoTestCaseXML(LoginEnrollmentTestCase, ModuleStoreTestCase):
@attr(shard=1)
@override_settings(FEATURES=dict(settings.FEATURES, EMBARGO=False))
@pytest.mark.django111_expected_failure
class SelfPacedCourseInfoTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
"""
Tests for the info page of self-paced courses.
......
......@@ -5,6 +5,7 @@ Python tests for the Survey workflows
from collections import OrderedDict
from copy import deepcopy
import pytest
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from nose.plugins.attrib import attr
......@@ -17,6 +18,7 @@ from xmodule.modulestore.tests.factories import CourseFactory
@attr(shard=1)
@pytest.mark.django111_expected_failure
class SurveyViewsTests(LoginEnrollmentTestCase, SharedModuleStoreTestCase, XssTestMixin):
"""
All tests for the views.py file
......
......@@ -3,6 +3,7 @@
from datetime import datetime, timedelta
import ddt
import pytest
import waffle
from django.contrib.messages.middleware import MessageMiddleware
from django.core.urlresolvers import reverse
......@@ -45,6 +46,7 @@ from xmodule.modulestore.tests.factories import CourseFactory
@attr(shard=1)
@ddt.ddt
@pytest.mark.django111_expected_failure
class CourseDateSummaryTest(SharedModuleStoreTestCase):
"""Tests for course date summary blocks."""
......
......@@ -5,13 +5,14 @@ import urllib
from collections import OrderedDict
import mock
import oauthlib
import pytest
from django.conf import settings
from django.core.urlresolvers import reverse
from nose.plugins.attrib import attr
import oauthlib
from courseware.tests.helpers import BaseTestXmodule
from courseware.views.views import get_course_lti_endpoints
from nose.plugins.attrib import attr
from openedx.core.lib.url_utils import quote_slashes
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
......@@ -188,6 +189,7 @@ class TestLTIModuleListing(SharedModuleStoreTestCase):
response = self.client.get(lti_rest_endpoints_url)
self.assertEqual(404, response.status_code)
@pytest.mark.django111_expected_failure
def test_lti_rest_listing(self):
"""tests that the draft lti module is part of the endpoint response"""
request = mock.Mock()
......
......@@ -5,30 +5,24 @@ import json
import pickle
from datetime import datetime
import pytest
from django.conf import settings
from django.core.urlresolvers import reverse
from django.test import TestCase
from pytz import UTC
from mock import patch
from nose.plugins.attrib import attr
from xblock.runtime import DictKeyValueStore
from pytz import UTC
from capa.tests.response_xml_factory import OptionResponseXMLFactory
from courseware.masquerade import (
CourseMasquerade,
MasqueradingKeyValueStore,
get_masquerading_user_group,
)
from courseware.masquerade import CourseMasquerade, MasqueradingKeyValueStore, get_masquerading_user_group
from courseware.tests.factories import StaffFactory
from courseware.tests.helpers import LoginEnrollmentTestCase, masquerade_as_group_member
from courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin
from nose.plugins.attrib import attr
from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
from openedx.core.djangoapps.user_api.preferences.api import (
get_user_preference,
set_user_preference
)
from openedx.core.djangoapps.user_api.preferences.api import get_user_preference, set_user_preference
from student.tests.factories import UserFactory
from xblock.runtime import DictKeyValueStore
from xmodule.modulestore.django import modulestore
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
......@@ -180,6 +174,7 @@ class NormalStudentVisibilityTest(MasqueradeTestCase):
return UserFactory()
@patch.dict('django.conf.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_staff_debug_not_visible(self):
"""
Tests that staff debug control is not present for a student.
......@@ -229,6 +224,7 @@ class TestStaffMasqueradeAsStudent(StaffMasqueradeTestCase):
Check for staff being able to masquerade as student.
"""
@patch.dict('django.conf.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_staff_debug_with_masquerade(self):
"""
Tests that staff debug control is not visible when masquerading as a student.
......@@ -318,6 +314,7 @@ class TestStaffMasqueradeAsSpecificStudent(StaffMasqueradeTestCase, ProblemSubmi
)
@patch.dict('django.conf.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_masquerade_as_specific_user_on_self_paced(self):
"""
Test masquerading as a specific user for course info page when self paced configuration
......@@ -342,6 +339,7 @@ class TestStaffMasqueradeAsSpecificStudent(StaffMasqueradeTestCase, ProblemSubmi
self.assertIn("OOGIE BLOOGIE", content)
@patch.dict('django.conf.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_masquerade_as_specific_student(self):
"""
Test masquerading as a specific user.
......
"""
Tests related to the Site Configuration feature
"""
import pytest
from bs4 import BeautifulSoup
from contextlib import contextmanager
from django.conf import settings
......@@ -17,6 +19,7 @@ from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestSites(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
"""
This is testing of the Site Configuration feature
......
......@@ -8,6 +8,7 @@ from datetime import datetime
from functools import partial
import ddt
import pytest
import pytz
from bson import ObjectId
from django.conf import settings
......@@ -222,6 +223,7 @@ class ModuleRenderTestCase(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
# note if the URL mapping changes then this assertion will break
self.assertIn('/courses/' + self.course_key.to_deprecated_string() + '/jump_to_id/vertical_test', html)
@pytest.mark.django111_expected_failure
def test_xqueue_callback_success(self):
"""
Test for happy-path xqueue_callback
......@@ -690,6 +692,7 @@ class TestHandleXBlockCallback(SharedModuleStoreTestCase, LoginEnrollmentTestCas
BlockCompletion.objects.get(block_key=block.scope_ids.usage_id)
@patch.dict('django.conf.settings.FEATURES', {'ENABLE_XBLOCK_VIEW_ENDPOINT': True})
@pytest.mark.django111_expected_failure
def test_xblock_view_handler(self):
args = [
'edX/toy/2012_Fall',
......@@ -823,6 +826,7 @@ class TestTOC(ModuleStoreTestCase):
@attr(shard=1)
@ddt.ddt
@patch.dict('django.conf.settings.FEATURES', {'ENABLE_SPECIAL_EXAMS': True})
@pytest.mark.django111_expected_failure
class TestProctoringRendering(SharedModuleStoreTestCase):
@classmethod
def setUpClass(cls):
......@@ -1238,6 +1242,7 @@ class TestGatedSubsectionRendering(SharedModuleStoreTestCase, MilestonesTestCase
@attr(shard=1)
@ddt.ddt
@pytest.mark.django111_expected_failure
class TestHtmlModifiers(ModuleStoreTestCase):
"""
Tests to verify that standard modifications to the output of XModule/XBlock
......@@ -1402,6 +1407,7 @@ class XBlockWithJsonInitData(XBlock):
@attr(shard=1)
@ddt.ddt
@pytest.mark.django111_expected_failure
class JsonInitDataTest(ModuleStoreTestCase):
"""Tests for JSON data injected into the JS init function."""
......@@ -1486,6 +1492,7 @@ class ViewInStudioTest(ModuleStoreTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class MongoViewInStudioTest(ViewInStudioTest):
"""Test the 'View in Studio' link visibility in a mongo backed course."""
......@@ -1515,6 +1522,7 @@ class MongoViewInStudioTest(ViewInStudioTest):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class MixedViewInStudioTest(ViewInStudioTest):
"""Test the 'View in Studio' link visibility in a mixed mongo backed course."""
......@@ -1549,6 +1557,7 @@ class DetachedXBlock(XBlock):
@attr(shard=1)
@patch.dict('django.conf.settings.FEATURES', {'DISPLAY_DEBUG_INFO_TO_STAFF': True, 'DISPLAY_HISTOGRAMS_TO_STAFF': True})
@patch('courseware.module_render.has_access', Mock(return_value=True, autospec=True))
@pytest.mark.django111_expected_failure
class TestStaffDebugInfo(SharedModuleStoreTestCase):
"""Tests to verify that Staff Debug Info panel and histograms are displayed to staff."""
......@@ -1896,6 +1905,7 @@ class TestModuleTrackingContext(SharedModuleStoreTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestXmoduleRuntimeEvent(TestSubmittingProblems):
"""
Inherit from TestSubmittingProblems to get functionality that set up a course and problems structure
......@@ -1965,6 +1975,7 @@ class TestXmoduleRuntimeEvent(TestSubmittingProblems):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestRebindModule(TestSubmittingProblems):
"""
Tests to verify the functionality of rebinding a module.
......
......@@ -3,13 +3,15 @@ This test file will run through some LMS test scenarios regarding access and nav
"""
import time
from courseware.tests.factories import GlobalStaffFactory
from courseware.tests.helpers import LoginEnrollmentTestCase
import pytest
from django.conf import settings
from django.core.urlresolvers import reverse
from django.test.utils import override_settings
from mock import patch
from nose.plugins.attrib import attr
from courseware.tests.factories import GlobalStaffFactory
from courseware.tests.helpers import LoginEnrollmentTestCase
from openedx.core.djangoapps.waffle_utils.testutils import override_waffle_flag
from openedx.features.course_experience import COURSE_OUTLINE_PAGE_FLAG
from student.tests.factories import UserFactory
......@@ -19,6 +21,7 @@ from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestNavigation(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
"""
Check that navigation state is saved properly.
......
......@@ -6,6 +6,7 @@ from datetime import timedelta
from uuid import uuid4
import ddt
import pytest
from django.contrib.auth.models import User
from django.contrib.auth.tokens import default_token_generator
from django.core.urlresolvers import reverse
......@@ -23,6 +24,7 @@ from student.models import PasswordHistory
@attr(shard=1)
@patch.dict("django.conf.settings.FEATURES", {'ADVANCED_SECURITY': True})
@ddt.ddt
@pytest.mark.django111_expected_failure
class TestPasswordHistory(LoginEnrollmentTestCase):
"""
Go through some of the PasswordHistory use cases
......
"""
Test for split test XModule
"""
import pytest
from django.core.urlresolvers import reverse
from mock import MagicMock
from nose.plugins.attrib import attr
......@@ -142,6 +143,7 @@ class SplitTestBase(SharedModuleStoreTestCase):
self.assertIn(visible, content)
@pytest.mark.django111_expected_failure
class TestSplitTestVert(SplitTestBase):
"""
Tests a sequential whose top-level vertical is determined by a split test.
......@@ -210,6 +212,7 @@ class TestSplitTestVert(SplitTestBase):
]
@pytest.mark.django111_expected_failure
class TestVertSplitTestVert(SplitTestBase):
"""
Tests a sequential whose top-level vertical contains a split test determining content within that vertical.
......
......@@ -10,6 +10,7 @@ import os
from textwrap import dedent
import ddt
import pytest
from django.conf import settings
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
......@@ -779,6 +780,7 @@ class ProblemWithUploadedFilesTest(TestSubmittingProblems):
# re-fetch the course from the database so the object is up to date
self.refresh_course()
@pytest.mark.django111_expected_failure
def test_three_files(self):
# Open the test files, and arrange to close them later.
filenames = "prog1.py prog2.py prog3.py"
......@@ -807,6 +809,7 @@ class ProblemWithUploadedFilesTest(TestSubmittingProblems):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestPythonGradedResponse(TestSubmittingProblems):
"""
Check that we can submit a schematic and custom response, and it answers properly.
......@@ -1174,6 +1177,7 @@ class TestConditionalContent(TestSubmittingProblems):
# Submit answers for problem in Section 1, which is visible to all students.
self.submit_question_answer('H1P1', {'2_1': 'Correct', '2_2': 'Incorrect'})
@pytest.mark.django111_expected_failure
def test_split_different_problems_group_0(self):
"""
Tests that users who see different problems in a split_test module instance are graded correctly.
......@@ -1193,6 +1197,7 @@ class TestConditionalContent(TestSubmittingProblems):
homework_2_score = (1.0 + 2.0) / 4
self.check_grade_percent(round((homework_1_score + homework_2_score) / 2, 2))
@pytest.mark.django111_expected_failure
def test_split_different_problems_group_1(self):
"""
Tests that users who see different problems in a split_test module instance are graded correctly.
......@@ -1229,6 +1234,7 @@ class TestConditionalContent(TestSubmittingProblems):
self.submit_question_answer('H1P1', {'2_1': 'Correct'})
@pytest.mark.django111_expected_failure
def test_split_one_group_no_problems_group_0(self):
"""
Tests what happens when a given group has no problems in it (students receive 0 for that section).
......@@ -1244,6 +1250,7 @@ class TestConditionalContent(TestSubmittingProblems):
homework_2_score = 0.0
self.check_grade_percent(round((homework_1_score + homework_2_score) / 2, 2))
@pytest.mark.django111_expected_failure
def test_split_one_group_no_problems_group_1(self):
"""
Verifies students in the group that DOES have a problem receive a score for their problem.
......
......@@ -2,6 +2,7 @@
Test cases for tabs.
"""
import pytest
from django.core.urlresolvers import reverse
from django.http import Http404
from milestones.tests.utils import MilestonesTestCaseMixin
......@@ -245,6 +246,7 @@ class StaticTabDateTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
cls.course.tabs.append(xmodule_tabs.CourseTab.load('static_tab', name='New Tab', url_slug='new_tab'))
cls.course.save()
@pytest.mark.django111_expected_failure
def test_logged_in(self):
self.setup_user()
url = reverse('static_tab', args=[self.course.id.to_deprecated_string(), 'new_tab'])
......@@ -258,12 +260,14 @@ class StaticTabDateTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
self.assertEqual(resp.status_code, 200)
self.assertIn("OOGIE BLOOGIE", resp.content)
@pytest.mark.django111_expected_failure
def test_invalid_course_key(self):
self.setup_user()
request = get_mock_request(self.user)
with self.assertRaises(Http404):
StaticCourseTabView().get(request, course_id='edX/toy', tab_slug='new_tab')
@pytest.mark.django111_expected_failure
def test_get_static_tab_fragment(self):
self.setup_user()
course = get_course_by_id(self.course.id)
......@@ -319,6 +323,7 @@ class StaticTabDateTestCaseXML(LoginEnrollmentTestCase, ModuleStoreTestCase):
self.xml_url = "8e4cce2b4aaf4ba28b1220804619e41f"
@patch.dict('django.conf.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_logged_in_xml(self):
self.setup_user()
url = reverse('static_tab', args=[self.xml_course_key.to_deprecated_string(), self.xml_url])
......@@ -336,6 +341,7 @@ class StaticTabDateTestCaseXML(LoginEnrollmentTestCase, ModuleStoreTestCase):
@attr(shard=1)
@patch.dict('django.conf.settings.FEATURES', {'ENTRANCE_EXAMS': True})
@pytest.mark.django111_expected_failure
class EntranceExamsTabsTestCase(LoginEnrollmentTestCase, ModuleStoreTestCase, MilestonesTestCaseMixin):
"""
Validate tab behavior when dealing with Entrance Exams
......@@ -443,6 +449,7 @@ class EntranceExamsTabsTestCase(LoginEnrollmentTestCase, ModuleStoreTestCase, Mi
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TextBookCourseViewsTestCase(LoginEnrollmentTestCase, SharedModuleStoreTestCase):
"""
Validate tab behavior when dealing with textbooks.
......@@ -690,6 +697,7 @@ class CourseTabListTestCase(TabListTestCase):
# get tab by id
self.assertEquals(xmodule_tabs.CourseTabList.get_tab_by_id(self.course.tabs, tab.tab_id), tab)
@pytest.mark.django111_expected_failure
def test_course_tabs_staff_only(self):
"""
Tests the static tabs that available only for instructor
......@@ -721,6 +729,7 @@ class CourseTabListTestCase(TabListTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class ProgressTestCase(TabTestCase):
"""Test cases for Progress Tab."""
......@@ -751,6 +760,7 @@ class ProgressTestCase(TabTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class StaticTabTestCase(TabTestCase):
"""Test cases for Static Tab."""
......@@ -770,6 +780,7 @@ class StaticTabTestCase(TabTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class CourseInfoTabTestCase(TabTestCase):
"""Test cases for the course info tab."""
def setUp(self):
......@@ -798,6 +809,7 @@ class CourseInfoTabTestCase(TabTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class DiscussionLinkTestCase(TabTestCase):
"""Test cases for discussion link tab."""
......
import datetime
import pytz
import pytest
from django.core.urlresolvers import reverse
from mock import patch
from nose.plugins.attrib import attr
......@@ -163,6 +164,7 @@ class TestViewAuth(EnterpriseTestConsentRequired, ModuleStoreTestCase, LoginEnro
self.org_staff_user = OrgStaffFactory(course_key=self.course.id)
self.org_instructor_user = OrgInstructorFactory(course_key=self.course.id)
@pytest.mark.django111_expected_failure
def test_redirection_unenrolled(self):
"""
Verify unenrolled student is redirected to the 'about' section of the chapter
......@@ -179,6 +181,7 @@ class TestViewAuth(EnterpriseTestConsentRequired, ModuleStoreTestCase, LoginEnro
)
)
@pytest.mark.django111_expected_failure
def test_redirection_enrolled(self):
"""
Verify enrolled student is redirected to the 'Welcome' section of
......@@ -302,6 +305,7 @@ class TestViewAuth(EnterpriseTestConsentRequired, ModuleStoreTestCase, LoginEnro
self.assert_request_status_code(200, url)
@patch.dict('courseware.access.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_dark_launch_enrolled_student(self):
"""
Make sure that before course start, students can't access course
......@@ -329,6 +333,7 @@ class TestViewAuth(EnterpriseTestConsentRequired, ModuleStoreTestCase, LoginEnro
self._check_non_staff_dark(self.test_course)
@patch.dict('courseware.access.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_dark_launch_instructor(self):
"""
Make sure that before course start instructors can access the
......@@ -352,6 +357,7 @@ class TestViewAuth(EnterpriseTestConsentRequired, ModuleStoreTestCase, LoginEnro
self._check_non_staff_dark(self.test_course)
@patch.dict('courseware.access.settings.FEATURES', {'DISABLE_START_DATES': False})
@pytest.mark.django111_expected_failure
def test_dark_launch_global_staff(self):
"""
Make sure that before course start staff can access
......
......@@ -115,6 +115,7 @@ class TestJumpTo(ModuleStoreTestCase):
response = self.client.get(jumpto_url)
self.assertRedirects(response, expected, status_code=302, target_status_code=302)
@pytest.mark.django111_expected_failure
def test_jumpto_from_section(self):
course = CourseFactory.create()
chapter = ItemFactory.create(category='chapter', parent_location=course.location)
......@@ -133,6 +134,7 @@ class TestJumpTo(ModuleStoreTestCase):
response = self.client.get(jumpto_url)
self.assertRedirects(response, expected, status_code=302, target_status_code=302)
@pytest.mark.django111_expected_failure
def test_jumpto_from_module(self):
course = CourseFactory.create()
chapter = ItemFactory.create(category='chapter', parent_location=course.location)
......@@ -170,6 +172,7 @@ class TestJumpTo(ModuleStoreTestCase):
response = self.client.get(jumpto_url)
self.assertRedirects(response, expected, status_code=302, target_status_code=302)
@pytest.mark.django111_expected_failure
def test_jumpto_from_nested_module(self):
course = CourseFactory.create()
chapter = ItemFactory.create(category='chapter', parent_location=course.location)
......@@ -1114,6 +1117,7 @@ class TestProgressDueDate(BaseDueDateTests):
# TODO: LEARNER-71: Delete entire TestAccordionDueDate class
@pytest.mark.django111_expected_failure
class TestAccordionDueDate(BaseDueDateTests):
"""
Test that the accordion page displays due dates correctly
......@@ -1186,6 +1190,7 @@ class StartDateTests(ModuleStoreTestCase):
@patch('util.date_utils.ugettext', fake_ugettext(translations={
"SHORT_DATE_FORMAT": "%Y-%b-%d",
}))
@pytest.mark.django111_expected_failure
def test_format_localized_in_studio_course(self):
course = self.set_up_course()
response = self.get_about_response(course.id)
......@@ -2193,6 +2198,7 @@ class ViewCheckerBlock(XBlock):
@attr(shard=1)
@ddt.ddt
@pytest.mark.django111_expected_failure
class TestIndexView(ModuleStoreTestCase):
"""
Tests of the courseware.views.index view.
......@@ -2530,6 +2536,7 @@ class TestIndexViewCrawlerStudentStateWrites(SharedModuleStoreTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class EnterpriseConsentTestCase(EnterpriseTestConsentRequired, ModuleStoreTestCase):
"""
Ensure that the Enterprise Data Consent redirects are in place only when consent is required.
......
......@@ -5,6 +5,7 @@ from textwrap import dedent
from unittest import TestCase
import mock
import pytest
from django.core.urlresolvers import reverse
from nose.plugins.attrib import attr
from opaque_keys.edx.keys import CourseKey
......@@ -18,6 +19,7 @@ from xmodule.modulestore.tests.factories import ToyCourseFactory
@attr(shard=1)
@pytest.mark.django111_expected_failure
class ActivateLoginTest(LoginEnrollmentTestCase):
"""
Test logging in and logging out.
......@@ -122,6 +124,7 @@ class PageLoaderTestCase(LoginEnrollmentTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestMongoCoursesLoad(ModuleStoreTestCase, PageLoaderTestCase):
"""
Check that all pages in test courses load properly from Mongo.
......
......@@ -4,6 +4,8 @@ import json
import ddt
import mock
import pytest
from django.core.urlresolvers import reverse
from django.test import RequestFactory, TestCase
from mock import Mock, patch
......@@ -70,6 +72,7 @@ class DictionaryTestCase(TestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class AccessUtilsTestCase(ModuleStoreTestCase):
"""
Base testcase class for access and roles for the
......
......@@ -11,6 +11,7 @@ import shutil
import tempfile
import ddt
import pytest
from boto.exception import BotoServerError
from django.conf import settings
from django.contrib.auth.models import User
......@@ -2860,6 +2861,7 @@ class TestInstructorAPILevelsDataDump(SharedModuleStoreTestCase, LoginEnrollment
decorated_func(request, self.course.id.to_deprecated_string())
self.assertTrue(func.called)
@pytest.mark.django111_expected_failure
def test_enrollment_report_features_csv(self):
"""
test to generate enrollment report.
......@@ -2900,6 +2902,7 @@ class TestInstructorAPILevelsDataDump(SharedModuleStoreTestCase, LoginEnrollment
response = self.client.post(url, {})
self.assertIn('The detailed enrollment report is being created.', response.content)
@pytest.mark.django111_expected_failure
def test_bulk_purchase_detailed_report(self):
"""
test to generate detailed enrollment report.
......@@ -2955,6 +2958,7 @@ class TestInstructorAPILevelsDataDump(SharedModuleStoreTestCase, LoginEnrollment
response = self.client.post(url, {})
self.assertIn('The detailed enrollment report is being created.', response.content)
@pytest.mark.django111_expected_failure
def test_create_registration_code_without_invoice_and_order(self):
"""
test generate detailed enrollment report,
......@@ -2977,6 +2981,7 @@ class TestInstructorAPILevelsDataDump(SharedModuleStoreTestCase, LoginEnrollment
response = self.client.post(url, {})
self.assertIn('The detailed enrollment report is being created.', response.content)
@pytest.mark.django111_expected_failure
def test_invoice_payment_is_still_pending_for_registration_codes(self):
"""
test generate enrollment report
......@@ -3630,6 +3635,7 @@ class TestEntranceExamInstructorAPIRegradeTask(SharedModuleStoreTestCase, LoginE
@attr(shard=1)
@patch('bulk_email.models.html_to_text', Mock(return_value='Mocking CourseEmail.text_message', autospec=True))
@pytest.mark.django111_expected_failure
class TestInstructorSendEmail(SiteMixin, SharedModuleStoreTestCase, LoginEnrollmentTestCase):
"""
Checks that only instructors have access to email endpoints, and that
......@@ -4515,6 +4521,7 @@ class TestCourseIssuedCertificatesData(SharedModuleStoreTestCase):
@attr(shard=1)
@override_settings(REGISTRATION_CODE_LENGTH=8)
@pytest.mark.django111_expected_failure
class TestCourseRegistrationCodes(SharedModuleStoreTestCase):
"""
Test data dumps for E-commerce Course Registration Codes.
......
......@@ -4,6 +4,7 @@ Unit tests for Ecommerce feature flag in new instructor dashboard.
import datetime
import pytest
import pytz
from django.core.urlresolvers import reverse
from nose.plugins.attrib import attr
......@@ -18,6 +19,7 @@ from xmodule.modulestore.tests.factories import CourseFactory
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestECommerceDashboardViews(SiteMixin, SharedModuleStoreTestCase):
"""
Check for E-commerce view on the new instructor dashboard
......
......@@ -5,6 +5,7 @@ import unittest
from datetime import datetime
import ddt
import pytest
import pytz
from dateutil import parser
from django.conf import settings
......@@ -79,6 +80,7 @@ class TestDashboard(SharedModuleStoreTestCase):
response = self.client.get(self.teams_url)
self.assertEqual(404, response.status_code)
@pytest.mark.django111_expected_failure
def test_not_enrolled_staff(self):
"""
Verifies that a user with global access who is not enrolled in the course can access the team dashboard.
......@@ -89,6 +91,7 @@ class TestDashboard(SharedModuleStoreTestCase):
response = staff_client.get(self.teams_url)
self.assertContains(response, "TeamsTabFactory", status_code=200)
@pytest.mark.django111_expected_failure
def test_enrolled_not_staff(self):
"""
Verifies that a user without global access who is enrolled in the course can access the team dashboard.
......
......@@ -4,6 +4,7 @@ Test scenarios for the crowdsource hinter xblock.
import json
import unittest
import pytest
from django.conf import settings
from django.core.urlresolvers import reverse
from nose.plugins.attrib import attr
......@@ -135,6 +136,7 @@ class TestCrowdsourceHinter(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestHinterFunctions(TestCrowdsourceHinter):
"""
Check that the essential functions of the hinter work as expected.
......
......@@ -9,13 +9,14 @@ import StringIO
import unittest
from copy import deepcopy
from ddt import data, ddt
import pytest
from django.conf import settings
from django.core.urlresolvers import reverse
from nose.plugins.attrib import attr
from ddt import data, ddt
from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
from nose.plugins.attrib import attr
from openedx.core.lib.url_utils import quote_slashes
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
......@@ -196,6 +197,7 @@ class TestRecommender(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestRecommenderCreateFromEmpty(TestRecommender):
"""
Check whether we can add resources to an empty database correctly
......@@ -256,6 +258,7 @@ class TestRecommenderResourceBase(TestRecommender):
@attr(shard=1)
@pytest.mark.django111_expected_failure
class TestRecommenderWithResources(TestRecommenderResourceBase):
"""
Check whether we can add/edit/flag/export resources correctly
......@@ -422,6 +425,7 @@ class TestRecommenderWithResources(TestRecommenderResourceBase):
@attr(shard=1)
@ddt
@pytest.mark.django111_expected_failure
class TestRecommenderVoteWithResources(TestRecommenderResourceBase):
"""
Check whether we can vote resources correctly
......@@ -536,6 +540,7 @@ class TestRecommenderVoteWithResources(TestRecommenderResourceBase):
@attr(shard=1)
@ddt
@pytest.mark.django111_expected_failure
class TestRecommenderStaffFeedbackWithResources(TestRecommenderResourceBase):
"""
Check whether we can remove/endorse resources correctly
......@@ -631,6 +636,7 @@ class TestRecommenderStaffFeedbackWithResources(TestRecommenderResourceBase):
@attr(shard=1)
@ddt
@pytest.mark.django111_expected_failure
class TestRecommenderFileUploading(TestRecommender):
"""
Check whether we can handle file uploading correctly
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment