Commit Graph

56 Commits

Author SHA1 Message Date
medmunds
6d94e94736 Live API tests
Addresses #41.
(Still need to add a Mandrill test key to the Travis config.)
2015-05-13 16:27:38 -07:00
medmunds
00ddd2f4f6 Improve MandrillAPIError.__str__
* Include formatted response from Mandrill API (if any)
* Clean up recipient address(es)
2015-05-13 15:43:54 -07:00
medmunds
8db86a8274 Fix RuntimeError on sys.modules in reset_warning_registry
Django 1.8's reset_warning_registry (which we backport)
was generating `RuntimeError: dictionary changed size
during iteration` in Travis tests under Python 3.x.

Likely a thread-safety issue on sys.modules.values().
See https://code.djangoproject.com/ticket/21049
for fix applied elsewhere in Django.
2015-05-12 18:42:12 -07:00
medmunds
fd75c4b24d Deprecate DjrillBackendHTTPError 2015-05-12 18:27:29 -07:00
medmunds
8d274e7b16 Deprecate DjrillMessage 2015-05-12 16:14:58 -07:00
medmunds
80895316f1 Deprecate DjrillAdminSite 2015-05-12 15:56:30 -07:00
medmunds
cc56b96efa Improve and document JSON serialization for Mandrill API
* Add some context to exceptions on unserializable
  values (addresses #89).
* Document need to format merge data
  (into something JSON-serializable).
* Add RemovedInDjrill2 DeprecationWarning.
* Deprecate blanket date/datetime serialization.
2015-05-12 13:29:52 -07:00
medmunds
52de627af1 Clean up test warnings for Django 1.8
* Django 1.8 requires TEMPLATES setting (for admin tests)
* Ignore cycle tag deprecation warnings

One remaining PendingDeprecationWarning: "the imp module is
deprecated in favour of importlib" is coming from six, and has a fix
waiting to land: https://bitbucket.org/gutworth/six/issue/112
2015-05-11 18:09:56 -07:00
medmunds
6891b0de91 Fix tests on Python 2.6 2015-02-25 21:13:16 -08:00
medmunds
bbc2e06091 Support Django 1.8 reply_to param. 2015-02-25 16:30:02 -08:00
medmunds
8ab36d2cd0 Django 1.8 alpha 1 support
* Test on Python 2.7, 3.4, pypy.
* Call super.setUpClass in DjrillAdminTests.
  https://docs.djangoproject.com/en/dev/releases/1.8/#overriding-setupclass-teardownclass-in-test-cases

Also clear up some new PendingDeprecationWarnings, where
the changes can easily remain compatible back to Django 1.3:

* Remove deprecated django.conf.urls.patterns.
  (And match Django recommendations in our docs.)
  https://docs.djangoproject.com/en/dev/releases/1.8/#django-conf-urls-patterns
* Remove deprecated SimpleTestCase.urls.
  (We've already back-ported @override_settings
  for testing older Django versions.)
  https://docs.djangoproject.com/en/dev/releases/1.8/#django-test-simpletestcase-urls
2015-01-16 16:17:31 -08:00
medmunds
76e29c0845 Support merge_language option.
Closes #84.
2015-01-16 13:48:39 -08:00
medmunds
1c4ee989f7 Fix "the JSON object must be str, not 'bytes'" on python3.
Closes #82.

* Test mock API responses (with actual content) in admin tests.
  (This exposes failure case, at least under Python 3.4/Django 1.6.)
* Parse json from Response.text, rather than raw Response.content
  bytes, in admin views.
2015-01-16 13:36:00 -08:00
medmunds
11961b57e5 Use real Response object in DjrillBackendMockAPITestCase tests.
(Improves testing accuracy around API response encoding.)

* Add `six` as test dependency (six.BytesIO, six.b)
* Change MockResponse content to bytes (because HTTP responses
  are bytes, not strings)
2015-01-16 13:18:17 -08:00
Patrick Kimber
0063fde2e5 if missing 'from_email', then 'log_message' will fail to build 2014-08-04 15:32:24 +01:00
medmunds
780d4f98f7 use_template_subject and use_template_from
Change "clear_subject" and "clear_from" to clarify expected usage.
Update docs.
Acknowledge contribution.
2014-05-28 21:09:28 -07:00
medmunds
78ff0af229 Merge branch 'feature/use-mandrill-template-defaults' of git://github.com/nikolay-saskovets/Djrill into nikolay-saskovets-feature/use-mandrill-template-defaults 2014-05-28 20:42:36 -07:00
nikolay.saskovets
3eb4582449 fix test 2014-05-16 07:57:53 -04:00
nikolay.saskovets
0e27a62f3c prepare for PR to mainstream (tests, docs, ...) 2014-05-16 07:37:51 -04:00
winhamwr
f2a08894fa Fixed python 3.2 compatibility. 2014-04-23 18:37:46 -04:00
winhamwr
70dc022f77 Handle unicode attachment content in both python 2.X and python3. 2014-04-23 16:59:48 -04:00
winhamwr
4e0a0cca71 Added failing test showing that unicode attachments cause an error 2014-04-23 15:52:05 -04:00
medmunds
8815601b65 Use override_settings rather than mucking with settings in tests
Second attempt to address possible test sequencing issue around tests that alter settings. (Failures in Travis tests not reproducible locally.)

Back-ports override_settings from Django 1.4 for compatibility with Django 1.3.
2014-04-20 16:04:31 -07:00
medmunds
ea2499f92f Fix possible test-sequencing issue in DjrillMandrillSubaccountTests 2014-04-20 15:03:49 -07:00
medmunds
ba2302ae56 Subaccounts: Document setting; verify message option overrides global setting 2014-04-20 12:57:08 -07:00
Sameer Al-Sakran
3c7a69873f fix tests + add base send test 2014-04-14 11:45:24 -07:00
Sameer Al-Sakran
cd8c2b8760 add subaccount support to djrill 2014-04-11 13:15:09 -07:00
medmunds
d7c06bb576 Better handling for cc and bcc recipients.
Fixes #59.
2014-01-25 12:35:23 -08:00
medmunds
1e44392b13 Allow all extra message headers in send.
Mandrill has relaxed previous API restrictions on headers.
Fixes #58.
2014-01-25 11:58:12 -08:00
Eric Hennings
3a6f3ec4c4 Fix tests broken for python 3.0 (no u’strings’) 2014-01-06 08:33:36 -08:00
Eric Hennings
e1c78ec197 Add the Mandrill send API response to EmailMessage as a property, mandrill_response, when a message is sent. For errors, set mandrill_response to None. Add tests & docs. 2013-12-22 14:12:57 -08:00
medmunds
12426204a5 Support important, view_content_link, return_path_domain, subaccount.
Closes #49.
2013-10-19 13:24:56 -07:00
medmunds
b26ba42e77 Support async, ip_pool, and send_at.
Closes #40.
Closes #48.
2013-10-19 13:09:05 -07:00
medmunds
f565a4c294 Mandrill requires template_content field for send-template.
Fixes #47.
2013-10-19 11:41:20 -07:00
crccheck
f5465700a8 Add: failing test for html only messages 2013-09-26 15:31:28 -05:00
Jens Alm
a0da0ea713 Actually handling the correct headers 2013-05-30 13:10:58 +02:00
Jens Alm
4e81e5d5e8 Added byte/str compatibility for python 3 2013-05-30 11:21:05 +02:00
Jens Alm
e73c404427 Added support for signed webhooks
See
http://help.mandrill.com/entries/23704122-Authenticating-webhook-request
s
2013-05-30 10:52:13 +02:00
medmunds
33e1d17ac4 Webhook tests: verify signal handler definitely called, check data arg 2013-04-17 10:55:26 -07:00
José Padilla
2a661a6d8f Add: tests for webhook mixin and view 2013-04-14 20:36:33 -04:00
medmunds
717e048365 Add Mandrill send options auto_html, tracking_domain, signing_domain 2013-03-27 11:08:04 -07:00
medmunds
64f32fbc72 Use python's json rather than Django's
django.utils.simplejson is deprecated; Python 2.6+ includes json.
Fixes #32.
2013-03-13 09:52:51 -07:00
medmunds
13c6125bda Support Mandrill inline_css sending option 2013-03-05 13:57:51 -08:00
medmunds
09de5faebe Support embedded images.
Treat image attachments with a Content-ID header as embedded, rather than ordinary attachments. (Rationale is that you must set the content-id to be able to refer to the image within your html, so that's a reasonable indicator to handle it as embedded.)
2013-03-01 13:58:07 -08:00
medmunds
92d413f5ae Don't filter attachment types
Mandrill dropped filtering on attachment mimetypes, so stop enforcing this in Djrill.
Fixes #26
2013-02-28 17:47:47 -08:00
medmunds
ed3249cede Correct name/content lists for template_content, merge_vars, global_merge_vars.
Fixes #24.
2013-01-13 08:16:40 -08:00
medmunds
860ebcdc44 Python 3.2 (but not 3.3) b64decode requires bytes not str 2013-01-12 14:00:34 -08:00
medmunds
ac0614a633 More Python 3.2 fixes - attachment encoding 2013-01-12 13:32:57 -08:00
medmunds
b4f2866f0f Python 3.2 fixes
- Absolute imports
- Unicode strings
2013-01-12 11:45:44 -08:00
medmunds
8de6b218b9 Handle bcc as Mandrill bcc_address, rather than additional to address 2013-01-12 10:26:42 -08:00