Commit Graph

25 Commits

Author SHA1 Message Date
cahrens
040f96223c Update for split modulestore as default. 2015-02-09 10:00:14 -05:00
Calen Pennington
b353ed2ea2 Better support specifying of modulestore configuration in test cases
The existing pattern of using `override_settings(MODULESTORE=...)` prevented
us from having more than one layer of subclassing in modulestore tests.

In a structure like:

    @override_settings(MODULESTORE=store_a)
    class BaseTestCase(ModuleStoreTestCase):
        def setUp(self):
            # use store

    @override_settings(MODULESTORE=store_b)
    class ChildTestCase(BaseTestCase):
        def setUp(self):
            # use store

In this case, the store actions performed in `BaseTestCase` on behalf of
`ChildTestCase` would still use `store_a`, even though the `ChildTestCase`
had specified to use `store_b`. This is because the `override_settings`
decorator would be the innermost wrapper around the `BaseTestCase.setUp` method,
no matter what `ChildTestCase` does.

To remedy this, we move the call to `override_settings` into the
`ModuleStoreTestCase.setUp` method, and use a cleanup to remove the override.
Subclasses can just defined the `MODULESTORE` class attribute to specify which
modulestore to use _for the entire `setUp` chain_.

[PLAT-419]
2015-02-04 09:09:14 -05:00
Jesse Zoldak
bf3b87bc64 Clean up all modulestore testcases
Move modulestore config for tests to an importable location
Disable pylnt warning for lms imports in common tests
Refactor all testcases that loaded all xml courses
TE-610
TE-489
2014-12-02 07:09:36 -05:00
Jason Bau
f12fa05ae1 removing thread-local cache for branch_setting 2014-07-17 11:05:47 -04:00
Mat Peterson
638a1aaec4 Fixed test that hardcoded url to deprecated format 2014-07-11 15:40:08 -04:00
Nimisha Asthagiri
eecff6e0aa ModulestoreEnum class. 2014-06-27 14:37:35 -04:00
Nimisha Asthagiri
a9213509c3 Enable Mixed Modulestore STUD-1540
Refactor get_parent_locations STUD-1663
2014-06-26 18:00:11 -04:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Calen Pennington
240d91daeb Merge remote-tracking branch 'edx/master' into opaque-keys-merge-master
Conflicts:
	cms/djangoapps/contentstore/management/commands/tests/test_import.py
	cms/djangoapps/contentstore/tests/test_import.py
	common/lib/xmodule/xmodule/modulestore/tests/test_mongo.py
	common/lib/xmodule/xmodule/modulestore/xml_importer.py
	lms/djangoapps/bulk_email/tests/test_course_optout.py
	lms/djangoapps/bulk_email/tests/test_email.py
	lms/djangoapps/bulk_email/tests/test_err_handling.py
	lms/djangoapps/class_dashboard/tests/test_dashboard_data.py
	lms/djangoapps/courseware/courses.py
	lms/djangoapps/django_comment_client/base/views.py
	lms/djangoapps/instructor/tests/test_email.py
	lms/djangoapps/instructor/tests/test_legacy_anon_csv.py
	lms/djangoapps/instructor/tests/test_legacy_download_csv.py
	lms/djangoapps/instructor/tests/test_legacy_email.py
	lms/djangoapps/instructor/tests/test_legacy_enrollment.py
	lms/djangoapps/instructor/tests/test_legacy_forum_admin.py
	lms/djangoapps/instructor/tests/test_legacy_gradebook.py
	lms/djangoapps/instructor/tests/test_legacy_raw_download_csv.py
	lms/djangoapps/instructor/tests/test_legacy_reset.py
	lms/djangoapps/instructor/views/api.py
	lms/djangoapps/instructor/views/instructor_dashboard.py
	lms/djangoapps/instructor/views/legacy.py
	lms/templates/courseware/instructor_dashboard.html
2014-05-13 15:30:56 -04:00
Carson Gee
ff1564382d Corrected test names and doc strings 2014-05-12 13:41:23 -04:00
Don Mitchell
69a2d9882e Validate the args to SSCK 2014-05-09 10:26:06 -04:00
Calen Pennington
9811926d97 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit updates lms/djangoapps/courseware.

These keys are now objects with a limited interface, and the particular
internal representation is managed by the data storage layer (the
modulestore).

For the LMS, there should be no outward-facing changes to the system.
The keys are, for now, a change to internal representation only. For
Studio, the new serialized form of the keys is used in urls, to allow
for further migration in the future.

Co-Author: Andy Armstrong <andya@edx.org>
Co-Author: Christina Roberts <christina@edx.org>
Co-Author: David Baumgold <db@edx.org>
Co-Author: Diana Huang <dkh@edx.org>
Co-Author: Don Mitchell <dmitchell@edx.org>
Co-Author: Julia Hansbrough <julia@edx.org>
Co-Author: Nimisha Asthagiri <nasthagiri@edx.org>
Co-Author: Sarina Canelake <sarina@edx.org>

[LMS-2370]
2014-05-06 10:08:32 -04:00
Carson Gee
c4ea338035 Additional logic to handle more course_image URL edge cases
This changes logic to allow more missed use cases of course_image to
work properly.  The cases are:

. XML courses with the course_image attribute set
. Mongo courses that are imported without a contentstore
. Mongo courses that have course_image set but don't have a content store

It also exports default images_static_course.jpg to
images/static_course.jpg to handle a use case where a course author
uploaded an image to the default location in studio without using the
studio interface for adding course images, they then export the course, and then
import it without a contentstore
2014-04-24 16:54:40 -04:00
Giulio Gratta
3456c1173b Added "Edit in CMS" links throughout courseware 2014-04-04 10:23:51 -07:00
Usman Khalid
ae73f3eaa0 Puts module.render() in try statements.
LMS-1192
2014-03-19 19:30:22 +05:00
Calen Pennington
a6035698d5 Correctly compute course image location when using mongo modulestore
[LMS-2073]
[STUD-1197]
2014-01-22 07:17:40 -05:00
Calen Pennington
923c2ff46e Add failing tests for course image names
Tests LMS-2073 (non-ascii course image names) and STUD-1197 (spaces in
course image names)
2014-01-22 07:16:30 -05:00
Adam Palay
4d1eebc557 fixes Edit Course In Studio link on instr dash (LMS-1455)
add DOC_STORE_CONFIG to test settings
2013-11-08 15:42:51 -05:00
Don Mitchell
978c19dd2c Merge pull request #1325 from edx/dhm/paginate_assets
Add asset pagination
2013-10-17 07:16:09 -07:00
Don Mitchell
214a3bd251 pylint/pep8 cleanups 2013-10-17 09:52:13 -04:00
Brian Wilson
03b4330c04 Update tests with more complete coverage. 2013-10-10 15:34:16 -04:00
Chris Dodge
8f9d815f10 add some middleware to determine whether draft modulestore or non-draft modulestore should be used
change to use regex to do the domain mappings. Also add config to AWS to be able to set from configuration file.

handle cases where HTTP_HOST is none, like in unit tests

add linefeed at end

fix up regex matches

switch to use thread local storage to hold the request itself

.

.

convert over to use open source 3rd party library

convert over to use django-cum

add unit test

remove comment

.

add comment to config setting

fix comment

use better regex for localdev

no need to break

no need to wrap an imported function, it's visible to any file that is importing us

add comment

add unit test

clean up test

use a separate env file to set the preview hostname
2013-10-09 11:53:26 -04:00
Jason Bau
ec989e4999 Address review comments for lms_link_to_cms
* Uses override_settings to provide test variable
* Move location of cms link to upper right
* PEP8 / Pylink
2013-09-04 11:29:22 -07:00
Jason Bau
b0f9fd0df5 Add link in lms legacy instructor dashboard to cms course_index
A one-click way of getting to editing the course
2013-08-31 01:07:34 -07:00
Sarina Canelake
f7d6d14946 Catch InvalidLocationError 2013-06-26 15:24:48 -04:00