Commit Graph

176 Commits

Author SHA1 Message Date
Adam
cf8e37b381 Merge pull request #12455 from edx/adam/fix-email-from-addr-length
refine from_addr length limits (TNL-4264)
2016-05-17 08:30:15 -04:00
Eric Fischer
0cf3e39c31 Replace bulk email settings with admin config models
Moves ENABLE_INSTRUCTOR_EMAIL and REQUIRE_COURSE_EMAIL_AUTH from settings files
to admin-accessible configuration models. This allows for the bulk email settings
to be modified without a new AMI deploy. See TNL-4504.

Also updates tests:
    -python tests mock out the new configurations in place of the old settings
    -lettuce test has been moved to bokchoy
        (note that there was some loss of coverage here - the lettuce tests had
        been doing some voodoo to allow for cross-process inspection of emails
        messages being "sent" by the server, from the client! In discussion with
        testeng, this seems outside the realm of a visual acceptance test. So,
        the bokchoy test simply confirm the successful queueing of the message,
        and leaves the validation of sending messages to the relevant unit tests.)
    -bok choy fixture has been added, to replace the settings in acceptance.py
    -lettuce and bok choy databases have been updated to reflect the backend changes

The new default is to have bulk_email disabled, we'll need to call this out in the
next OpenEdx release to ensure administrators enable this feature if needed.
2016-05-16 11:09:39 -04:00
Adam Palay
c9b0e12d39 use markupspace for escaping 2016-05-13 11:15:00 -04:00
Adam Palay
91ae60f5e9 refine from_addr length limits (TNL-4264) 2016-05-12 15:12:41 -04: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
cahrens
76545ef49c HTML-encode string values in keyword substitution.
TNL-4193
2016-05-03 12:36:44 -04:00
Ben Patterson
1db84e79df Additional shard balancing changes for unit tests. 2016-04-28 10:09:32 -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
Adam
bb5874d5a1 truncate email from addresses if >320 chars when encoded (TNL-4264) (#12171)
* truncate email from addresses if >320 chars when encoded (TNL-4264)

* use exact lengths
2016-04-20 08:43:26 -04:00
John Eskew
8a9845c26e Remove ModuleStoreEnum.Type.xml 2016-04-12 11:53:51 -04:00
John Eskew
91c94977d5 Unify usage of a single test mixed modulestore called:
TEST_DATA_MIXED_MODULESTORE
Remove these test mixed modulestores:
TEST_DATA_MIXED_TOY_MODULESTORE
TEST_DATA_MIXED_CLOSED_MODULESTORE
TEST_DATA_MIXED_GRADED_MODULESTORE
2016-04-12 11:53:51 -04:00
John Eskew
415ef3616f Remove XML-backed course-specific test. 2016-04-12 11:53:50 -04:00
Ned Batchelder
2e1238b83e Remove unused imports 2016-04-08 11:23:05 -04:00
Adam Palay
6e43d97fe7 make sure email from addresses don't exceed 320 characters (TNL-4264)
clean up and fix quality violations

since get_course can never return None, we can remove these lines
2016-03-31 14:23:08 -04:00
Ned Batchelder
43ac38aa87 Add autospec to all mocks 2015-12-09 09:44:22 -05:00
Nimisha Asthagiri
d170c92f3b Refactor course_image_url 2015-12-04 11:25:40 -05:00
Ned Batchelder
f5d0f3ff55 Remove useless pylint suppressions 2015-11-22 07:41:19 -05:00
Usman Khalid
6cb62f2697 Rebase upgrade Django to v1.8.5
Please note that this is a squshed commit and the work of:
Symbolist, macdiesel, nedbat, doctoryes, muzaffaryousaf and muhammad-ammar
2015-11-10 15:00:19 -05:00
Ned Batchelder
322ca34b20 Remove pylint pragmas from "class Meta"
Also remove useless docstrings where they were added to keep pylint
quiet.
2015-10-21 07:37:00 -04:00
Giovanni Di Milia
08dfe5e99f Fixed pylint violation for files in lms/djangoapps/bulk_email 2015-10-14 14:45:32 -04:00
Ned Batchelder
ceb5655b2d Merge pull request #9171 from edx/ned/update-pylint
Update pylint and astroid, reduces pylint count by 400
2015-08-04 09:28:35 -04:00
Ned Batchelder
f54fe787c6 Remove needless 'disable=no-member' pragmas 2015-08-03 17:47:44 -04:00
cahrens
614a92957c Correct email settings URL and rename variable.
TNL-2677
2015-07-31 11:39:19 -04:00
Adam
2735b2b5bb Revert "Decorated instructor dashboard with sudo_required." 2015-07-17 12:11:38 -04:00
Waheed Ahmed
bc052db1ee Added DjangoSudo functionality for instructor dashboard and course team page 2015-07-16 11:14:11 +05:00
muzaffaryousaf
0881cdf366 Updating account_settings_url for bulk emails.
TNL-1877
2015-06-09 19:02:42 +05:00
muzaffaryousaf
b185a686d8 Removing course_title from email subject.
TNL-1877
2015-06-09 18:48:55 +05:00
Shrhawk
dd20badcf7 Merge pull request #7996 from edx/shr/bug/TNL-2119-Unicode-error-in-templating-bulk-course
bulk_email fix course_image_unicode name
2015-05-15 23:31:01 +05:00
Syed Hassan Raza
f199c305b9 bulk_email fix course_image_unicode name 2015-05-12 01:49:02 +05:00
Christine Lytwynec
08993aead6 Merge pull request #7959 from edx/clytwynec/split_lms_unittests_into_shards
Clytwynec/split lms unittests into shards
2015-05-08 14:19:25 -04:00
Feanil Patel
3d7a6d8b90 Fix for when celery runs in eager mode.
When celery runs in eager mode, there is a bug and an exception
is not thrown when using retry logic. A PR to fix the bug can
be found here: https://github.com/celery/celery/pull/2607

In the mean time, we have to deal with the fact that in eager mode
celery will not throw the exception but simply return it. So we
raise it ourselves.
2015-05-08 09:01:50 -04:00
Feanil Patel
e4aa91d510 Remove the mock, it doesn't seem like it's needed. 2015-05-08 09:01:49 -04:00
Feanil Patel
95c240d576 Fix a bug in the failure increment. 2015-05-08 09:01:49 -04:00
Christine Lytwynec
ddb1ae667e Split lms unittests into multiple shards 2015-05-07 09:17:26 -04:00
Adam Palay
afb2dae631 Revert "Revert "use different queue for smaller emails (TNL-1591)""
This reverts commit 228cca4e38ec79f5cbb54098c788ab9556f602e2.
2015-04-15 12:03:23 -04:00
Adam Palay
d9a21bdf4d use email context for keyword substitution, cutting down on db queries (TNL-1591) 2015-04-08 11:22:26 -04:00
Ned Batchelder
a84735057d Move common/lib/*.py to openedx/core/lib
This makes these files importable, and puts them into the new best guess
as to where files should live.
2015-03-23 12:40:24 -04:00
Ned Batchelder
81d17c516e Fix or remove tearDown methods that don't use super.
Update edx-lint to the version that checks if tearDown uses super.

Convert a number of tearDown methods into addCleanup.

Remove some unneeded tearDown methods: no need to call patch.stopall if
none of them were started with patch.start.
2015-03-17 15:14:52 -04:00
Ned Batchelder
7d799e34f3 Remove unused imports 2015-03-17 07:10:31 -04:00
stv
6c06f8ce5d Fix Pylint: C1001(old-style-class) 2015-03-13 20:20:04 -07:00
Adam Palay
3aca0d5472 Merge remote-tracking branch 'origin/release' into adam/merge-release-into-master
Conflicts:
	common/djangoapps/student/models.py
	lms/djangoapps/bulk_email/tasks.py
2015-02-23 18:40:45 -05:00
Syed Hassan Raza
cfb2df113d python standard logging 2015-02-23 11:40:41 -05:00
Adam Palay
c12b542136 split up bulk email query for students and unenrolled course staff (TNL-1332) (TNL-1143) 2015-02-23 10:58:37 -05:00
stv
e17504d7b8 Fix Pylint: E0012(bad-option-value) 2015-02-19 19:56:51 -08:00
stv
2e1400f842 Fix Pylint: W0613(unused-argument) 2015-02-19 19:56:51 -08:00
Syed Hassan Raza
8b599ee424 python standard logging 2015-02-18 19:47:07 +05:00
Adam
296167e531 Merge pull request #6950 from edx/release
Release
2015-02-10 16:06:24 -05:00
Syed Hassan Raza
2f7bee4254 add logging for send_email_task 2015-02-10 21:18:12 +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
Calen Pennington
03a05fd9d4 Always call super(..).setUp() from setUp 2015-02-04 09:09:14 -05:00