Commit Graph

987 Commits

Author SHA1 Message Date
David Ormsbee
2051c90924 Test Speedup: Isolate Modulestore Signals
There are a number of Django Signals that are on the modulestore's
SignalHandler class, such as SignalHandler.course_published. These
signals can trigger very expensive processes to occur, such as course
overview or block structures generation. Most of the time, the test
author doesn't care about these side-effects.

This commit does a few things:

* Converts the signals on SignalHandler to be instances of a new
  SwitchedSignal class, that allows signal sending to be disabled.

* Creates a SignalIsolationMixin helper similar in spirit to the
  CacheIsolationMixin, and adds it to the ModuleStoreIsolationMixin
  (and thus to ModuleStoreTestCase and SharedModuleStoreTestCase).

* Converts our various tests to use this new mechanism. In some cases,
  this means adjusting query counts downwards because they no longer
  have to account for publishing listener actions.

Modulestore generated signals are now muted by default during test runs.
Calls to send() them will result in no-ops. You can choose to enable
specific signals for a given subclass of ModuleStoreTestCase or
SharedModuleStoreTestCase by specifying an ENABLED_SIGNALS class
attribute, like the following example:

    from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase

    class MyPublishTestCase(ModuleStoreTestCase):
        ENABLED_SIGNALS = ['course_published', 'pre_publish']

You should take great care when disabling signals outside of a
ModuleStoreTestCase or SharedModuleStoreTestCase, since they can leak
out into other tests. Be sure to always clean up, and never disable
signals outside of testing. Because signals are essentially process
globals, it can have a lot of unpleasant side-effects if we start
mucking around with them during live requests.

Overall, this change has cut the total test execution time for
edx-platform by a bit over a third, though we still spend a lot in
pre-test setup during our test builds.

[PERF-413]
2017-02-23 10:31:16 -05:00
Ayesha Baig
61f2067935 [YONK-513]: Add feature flag which allows for disabling of account creation 2017-02-13 12:28:57 +05:00
jagonzalr
d112c0b81b show button new library in studio depending on flags and user staff status
add flag DISABLE_LIBRARY_CREATION

add comma

use CourseCreatorRole to determine if user can create a library

add disable library creation feature flag

Conflicts:
	cms/djangoapps/contentstore/views/course.py

ENABLE_CONTENT_LIBRARIES flag

check for course creator role for library creation

Conflicts:
	cms/djangoapps/contentstore/views/course.py

add unit tests

make check of creation of library a true/false for forntend, add security in api call, clean tests

update tests

fix docstring of tests

fixed quality violation

fixed broken unit test and quality violations

Feedback changes and unit test to assert libraries are visible to non staff users too

fixed quality violation and feedback changes
2017-01-30 12:51:35 +05:00
noraiz-anwar
7494e5e6c8 Revert "Error while exporting course with too long filename" 2017-01-05 23:07:56 +05:00
noraiz-anwar
9c139a87a6 Error while exporting course with too long filename 2017-01-05 14:43:48 +05:00
Hasnain
4454899821 WL-615 | Fix the preview certificate link. 2016-11-10 14:15:03 +00:00
Eric Fischer
8f0134b7e4 update_course_in_cache should retry on exceptions
Previously, retry() was never called, so the task was never retried despite
defining several retry-related variables.
2016-10-19 14:09:28 -04:00
Andy Armstrong
684aec8740 Move contentserver to openedx/core 2016-10-11 12:49:33 -04:00
Deepa
39ec546e12 Lower case the term partner manager in UI strings 2016-09-28 00:18:19 +05:30
Matjaz Gregoric
344c72b3e2 Use non-ascii PLATFORM_NAME in tests.
It should help catch unicode encoding problems earlier.

This also updates python-saml dependency to a version that includes a
patch for unicode strings.
2016-09-23 15:38:23 +02:00
Ehtesham
31be6fad43 make CAPA dropdown problems accessible 2016-09-02 19:44:24 +05:00
muhammad-ammar
d14928cc61 separation based on responsetypes poc
FEDX-176
2016-09-02 19:44:22 +05:00
M. Rehan
ffbaf1fe54 Merge pull request #12813 from edx/aj/TNL4826-lib-problems-not-update-with-import
Refersh library children for the block during import.
2016-08-16 00:52:58 +05:00
Qubad786
aca82be335 Move fix to importer module and fix branch_setting in MixedModuleStore. 2016-08-15 18:50:50 +05:00
Awais Jibran
4bc5ded768 Make studio case-insensitive for course keys for creating courses.
ECOM-4890
2016-08-10 14:34:35 +05:00
Sanford Student
fc943ff539 moving milestones check to access.py and upgrading milestones version 2016-08-04 14:47:15 -04:00
Ned Batchelder
8571ceabeb Fix many wrong-assert-type errors 2016-08-03 12:44:41 -04:00
Ned Batchelder
8b1978ba6c Fix unused-import errors 2016-08-03 12:44:41 -04:00
wajeeha-khalid
986dcff626 MA-2536: get 'course_about' url in enrollment 2016-07-29 14:58:54 +05:00
Christina Roberts
467bc55d27 Merge pull request #12950 from edx/christina/studio-support-levels
Studio support level of components/xblocks
2016-07-21 17:13:58 -04:00
cahrens
d4cc7b8ffd Support level support for Studio xblock creation.
TNL-4670
2016-07-21 15:44:59 -04:00
Kevin Kim
1ab52f8b0a Merge pull request #12945 from edx/kkim/ora_tz_date
Convert ORA Due Dates
2016-07-21 10:52:07 -04:00
Kevin Kim
94100f5944 Convert ORA due dates to user preferred time zone 2016-07-21 13:57:20 +00:00
Toby Lawrence
4e22affb24 [PERF-344] Add versioning of cached course assets to allow graceful cache invalidation
When releasing the versioned assets work, we stumbled on a problem with old pickled
versions of the StaticContent objects residing in cache, which triggered a bug in the
code. Not wanting to blow away all cached items, we ended up having to revert and add
in some backwards-compatible helper code to ease the transition.

With this, we'll now utilize the version argument that Django's caching interface
allows, in conjunction with a constant value that can be modified when breaking changes
are being made, to let us gracefully ignore older cached course assets.
2016-07-05 15:15:47 -04:00
Sylvia Pearce
8b1f28d317 Account registration and activation text string revisions 2016-06-27 13:32:53 -04:00
Nimisha Asthagiri
74a3665289 Update query and mongo counts 2016-06-23 20:22:32 -04:00
Toby Lawrence
bb29ad5f30 Revert "Revert "[PERF-325] Add versioned course asset URLs when canonicalizing asset paths.""
This reverts commit 9967b6fd58.
2016-06-23 13:27:15 -04:00
Kevin Falcone
9967b6fd58 Revert "[PERF-325] Add versioned course asset URLs when canonicalizing asset paths."
We're seeing errors in NR from objects read out of the cache lacking the
'StaticContent' object has no attribute 'content_digest'
File "/edx/app/edxapp/edx-platform/common/djangoapps/contentserver/middleware.py",
    line 70, in process_request

This reverts commit 849ebc5f22.
2016-06-22 12:11:35 -04:00
Eric Fischer
fdc6d91588 update_in_cache on lms worker (#12689)
This commit "undoes"a previous hotfix, and allows a cms course_publish
signal to trigger a block_structure update_course_in_cache task, which
is run on an lms worker queue.

Changes:
    -exposes ALTERNATE_QUEUE_ENVS
    -adds routing layer in celery.py
    -moves prior dev_with_worker settings file to devstack_with_worker
    -moves course_block api functionality into openedx/core/djangoapps/content/block_structure
2016-06-16 18:01:06 -04:00
Toby Lawrence
9abce102ff Merge pull request #12573 from edx/PERF-325
[PERF-325] Add versioned course asset URLs when canonicalizing asset paths.
2016-06-15 09:05:13 -04:00
Toby Lawrence
849ebc5f22 [PERF-325] Add versioned course asset URLs when canonicalizing asset paths. 2016-06-15 08:04:52 -04:00
Awais Jibran
ba6ef624c2 PLAT-1032 2016-06-10 11:38:20 +05:00
Calen Pennington
105308e129 Use translation.deactivate, rather than explicitly activating the current settings LANGUAGE_CODE 2016-06-02 11:06:59 -04:00
Awais Jibran
db05aeb7e0 Merge pull request #12384 from edx/aj/fix-cms-dashboard-for-ccx
Studio Edge cannot load the Course Dashboard for CCX courses.
2016-05-10 17:29:01 +05:00
Awais Jibran
38f1c200ca Fixing test 2016-05-09 17:35:41 +05:00
Calen Pennington
853bfe7a36 Add a TestCase mixin for enabling caches in tests
By default, disable all caching in tests, to preserve test independence.
In order to enable caching, inherit from CacheSetupMixin, and specify
which cache configuration is needed.

[EV-32]
2016-05-04 14:51:30 -04:00
Calen Pennington
18e1610043 Remove the create_user argument to setUp.
Instead, use a class attribute to define test behavior. This allows for
easier addition of new mixins over time.
2016-05-04 11:35:55 -04:00
John Eskew
b5ab64505a Merge pull request #11331 from CredoReference/invalid-studio-user-permissions
Invalid StudioPermissionsService object in API to show/save xblock settings in CMS
2016-05-03 13:16:43 -04:00
Ibrahim
f7f281b65b WL-398 Add Course Background Image and Video Thumbnail Image Fields to Studio 2016-04-30 15:25:17 -04:00
Eric Fischer
ea77c3ec42 Hide After Due setting for Timed Exams
TNL-4366
Changes in studio to allow the hide_after_due setting to be utilized.

Includes:
    -python changes to contentstore, where the data is stored.
    -refactoring of timed-examination-preference-editor.underscore, to add this
        setting and make the editor more accessible.
    -javascript changes to link the new setting to the correct data model.
    -sass updates to fix a11y issues on the editor modal.
    -addition of post-due visibility information to course outline in studio.
    -new tests: python, js, acceptance, and a11y
2016-04-28 13:27:19 -04:00
John Eskew
0899871958 Merge pull request #11042 from edx/jeskew/xml_removal
Remove XML modulestore code from most tests.
2016-04-27 11:20:02 -04:00
Ibrahim Ahmed
8b014f2650 Merge pull request #12107 from edx/ibrahimahmed443/WL-309-new-fields-in-studio
WL-309 Add new text fields to Studio schedule and details settings page
2016-04-26 14:30:43 +05:00
Ibrahim
720bde1da9 add new text fields to schedule and details settings page 2016-04-25 23:44:13 -04:00
Dmitry Viskov
bab4428297 Invalid StudioPermissionsService object in API to show/save xblock settings in CMS.
Randomized Content Block editor did not check Studio user's permissions
2016-04-21 19:52:25 +03:00
Adam Palay
26377a5732 fix issue with pre-1900 course setting dates (TNL-4397) 2016-04-20 10:44:13 -04:00
Omar Khan
6fc4b38ea0 Disallow free verified course modes
The verification workflow assumes that all verified courses will have a
price. Free verified course modes cause a 404 when the user attempts to
enroll or upgrade.
2016-04-12 18:06:16 -07:00
John Eskew
f9a85c4471 Remove XML modulestore code - discovery work 2016-04-12 11:49:32 -04:00
Ned Batchelder
2e1238b83e Remove unused imports 2016-04-08 11:23:05 -04:00
asadiqbal
7ae40dced8 asadiqbal08/WL-388: ModuleI18nService for Descriptor System
mattdrayer: Default to XBlock class if no unmixed class
2016-04-06 11:53:14 -04:00
Régis Behmo
e850ef2db2 Fix broken French i18n in CMS tests
French ugettext method was being monkey-patched with a "XYZ " prefix in
all tests. This introduces a context manager to guarantee that the
function reverts to its original state after the unit test has ended
(successfuly or not).
2016-04-04 18:28:26 +02:00