Merge pull request #9494 from edx/ned/move-recommender-tests
Move recommender XBlock tests to openedx/tests/external
This commit is contained in:
0
openedx/tests/__init__.py
Normal file
0
openedx/tests/__init__.py
Normal file
7
openedx/tests/xblock_integration/__init__.py
Normal file
7
openedx/tests/xblock_integration/__init__.py
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
"""Tests of XBlocks integrated with edx-platform.
|
||||||
|
|
||||||
|
These tests exercise XBlocks which may live in other repos, to confirm both
|
||||||
|
that the XBlock works, and that edx-platform continues to properly support the
|
||||||
|
XBlock.
|
||||||
|
|
||||||
|
"""
|
||||||
@@ -2,21 +2,24 @@
|
|||||||
This test file will run through some XBlock test scenarios regarding the
|
This test file will run through some XBlock test scenarios regarding the
|
||||||
recommender system
|
recommender system
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from copy import deepcopy
|
||||||
import json
|
import json
|
||||||
import itertools
|
import itertools
|
||||||
import StringIO
|
import StringIO
|
||||||
|
import unittest
|
||||||
|
|
||||||
from ddt import ddt, data
|
from ddt import ddt, data
|
||||||
from copy import deepcopy
|
|
||||||
from nose.plugins.attrib import attr
|
from nose.plugins.attrib import attr
|
||||||
|
|
||||||
|
from django.conf import settings
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
|
|
||||||
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
|
from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
|
||||||
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
|
||||||
|
|
||||||
from courseware.tests.helpers import LoginEnrollmentTestCase
|
from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
|
||||||
from courseware.tests.factories import GlobalStaffFactory
|
from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
|
||||||
|
|
||||||
from lms.djangoapps.lms_xblock.runtime import quote_slashes
|
from lms.djangoapps.lms_xblock.runtime import quote_slashes
|
||||||
|
|
||||||
|
|
||||||
@@ -32,6 +35,12 @@ class TestRecommender(SharedModuleStoreTestCase, LoginEnrollmentTestCase):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def setUpClass(cls):
|
def setUpClass(cls):
|
||||||
|
# Nose runs setUpClass methods even if a class decorator says to skip
|
||||||
|
# the class: https://github.com/nose-devs/nose/issues/946
|
||||||
|
# So, skip the test class here if we are not in the LMS.
|
||||||
|
if settings.ROOT_URLCONF != 'lms.urls':
|
||||||
|
raise unittest.SkipTest('Test only valid in lms')
|
||||||
|
|
||||||
super(TestRecommender, cls).setUpClass()
|
super(TestRecommender, cls).setUpClass()
|
||||||
cls.course = CourseFactory.create(
|
cls.course = CourseFactory.create(
|
||||||
display_name='Recommender_Test_Course'
|
display_name='Recommender_Test_Course'
|
||||||
@@ -145,20 +145,23 @@ class SystemTestSuite(NoseTestSuite):
|
|||||||
# django-nose will import them early in the test process,
|
# django-nose will import them early in the test process,
|
||||||
# thereby making sure that we load any django models that are
|
# thereby making sure that we load any django models that are
|
||||||
# only defined in test files.
|
# only defined in test files.
|
||||||
default_test_id = "{system}/djangoapps/* common/djangoapps/* openedx/core/djangoapps/*".format(
|
default_test_id = (
|
||||||
system=self.root
|
"{system}/djangoapps/*"
|
||||||
|
" common/djangoapps/*"
|
||||||
|
" openedx/core/djangoapps/*"
|
||||||
|
" openedx/tests/*"
|
||||||
)
|
)
|
||||||
|
|
||||||
if self.root in ('lms', 'cms'):
|
if self.root in ('lms', 'cms'):
|
||||||
default_test_id += " {system}/lib/*".format(system=self.root)
|
default_test_id += " {system}/lib/*"
|
||||||
|
|
||||||
if self.root == 'lms':
|
if self.root == 'lms':
|
||||||
default_test_id += " {system}/tests.py".format(system=self.root)
|
default_test_id += " {system}/tests.py"
|
||||||
|
|
||||||
if self.root == 'cms':
|
if self.root == 'cms':
|
||||||
default_test_id += " {system}/tests/*".format(system=self.root)
|
default_test_id += " {system}/tests/*"
|
||||||
|
|
||||||
return default_test_id
|
return default_test_id.format(system=self.root)
|
||||||
|
|
||||||
|
|
||||||
class LibTestSuite(NoseTestSuite):
|
class LibTestSuite(NoseTestSuite):
|
||||||
|
|||||||
Reference in New Issue
Block a user