Commit Graph

26 Commits

Author SHA1 Message Date
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
Calen Pennington
03a05fd9d4 Always call super(..).setUp() from setUp 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
Sarina Canelake
b127d2844b s/pylint: disable=C0103/pylint: disable=invalid-name/ 2014-12-01 11:22:09 -05:00
muhammad-ammar
fcaa783e43 Unit Test Improvements
TE-489
2014-10-31 11:55:13 +00:00
Calen Pennington
cfcbdc0145 Move to OpaqueKey implementations from the external library
[LMS-2757]
2014-05-29 17:03:35 -04:00
Sarina Canelake
110719deae StaffFactories accept course_keys, not courses. Make that clear in the interface. 2014-05-24 18:49:06 -04:00
Calen Pennington
cd746bf8e5 Make course ids and usage ids opaque to LMS and Studio [partial commit]
This commit adds the non-courseware lms/djangoapps and lms/lib.

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-08 12:09:23 -04:00
Usman Khalid
f591b1db28 Fixed transform_url function in WikiAccessMiddleware.
In the current implementation if the path prefix contains the
wiki_path value it gets deleted. For example if the prefix is
'/courses/edx/math101/2014' and wiki_path is '101/' the final
prefix becomes '/courses/edx/math2014'.

LMS-2556
2014-04-28 20:33:01 +05:00
Dave St.Germain
660244201f Refactored course_nav middleware to isolate the django-wiki hack,
remove unnecessary code, and clarify what it's doing.
2014-04-08 15:24:48 -04:00
Adam
2e174f2aa7 Merge pull request #3070 from edx/adam/middleware
wiki middleware fix (LMS-2461)
2014-03-26 16:36:17 -04:00
Usman Khalid
7b185db751 Refactored permissions check for course_wiki pages.
CourseRole names have a new format (type_org.number.run). Previously
when checking if a user was staff for a course wiki type_org/number/run
and type_number format role names were checked by parsing user group names.

This logic has been refactored to first fetch all courses which use the
particular wiki_slug and then use courseware.access.has_access to check if the
user has staff permissions on any of the courses.

LMS-2136
2014-03-10 16:13:17 +05:00
Chris Dodge
10465e3eb0 add some authorization checks to the Wiki 2014-02-28 13:36:18 -05:00
Ned Batchelder
1bd213beba Remove unused imports. 2014-02-10 14:07:50 -05:00
Don Mitchell
3ebac80778 Replace authz fns with roles.py ones
STUD-1006
2014-01-14 17:04:44 -05:00
Calen Pennington
061a46beef Formalize various access roles as objects
This centralizes the logic for group membership, and means that we
don't need to make queries to find out whether the legacy groups names exist.
2013-11-13 13:42:37 -05:00
Usman Khalid
9542230afd Added granular permissions for managing wiki articles
LMS-1355
2013-11-13 01:40:23 +05:00
Will Daly
48c6daacb8 Removed unnecessary settings wrangling from ModuleStoreTestCase.
Modified navigation tests to use MixedModulestore
Updated factories to find editable modulestore

Updated test_submitting_problems

Updated test_tabs.py

Updated test_view_authentication

Updated test_views

Updated courseware/tests/tests.py

Updated test_masquerade

Updated test_module_render

Pylint fixes

Updated video and word cloud tests

Updated course wiki tests

Updated license and open_ended tests.
One open_ended test still failing due to Mako initialization issues

Updated staticbook

Updated django_comment_client tests

Updated instructor tests

Updated instructor task tests

Updated external_auth tests

Updated course_groups
2013-08-21 09:36:45 -04:00
Calen Pennington
0d3c44996a LMS i18n from Tsinghua 2013-07-31 19:39:15 -04:00
JonahStanley
7fb5f505d6 Refactored out full from the lms tests 2013-07-11 10:12:06 -04:00
Brian Wilson
99778b1b5b add fixes for 500 bugs (lighthouse 287 and 293) by requiring login for accessing licenses and inline discussions. Add unit tests for licenses, and rearrange tests based off of (the former) PageLoad. Also cleanups for pylint and pep8. 2013-03-27 17:59:56 -04:00
Ned Batchelder
aa2d0ecaf2 We no longer need override_settings, Django has a better one. 2013-02-11 17:06:35 -05:00
Calen Pennington
cfae1cdf62 Pep8 autofixes 2013-02-06 11:13:50 -05:00
Bridger Maxwell
70c7ee42ed Fixed tests from profile->progress rename. 2012-08-20 14:08:42 -04:00
Bridger Maxwell
099f499efa Fixed access methods for wiki nav. Added tests. 2012-08-15 13:00:17 -04:00
Bridger Maxwell
102dcc08e0 Added a test for the wiki course redirection. 2012-08-15 11:14:57 -04:00