Commit Graph

24 Commits

Author SHA1 Message Date
Mike Edmunds
5fdc285e82 CI/Docs: move to anymail.dev
Move all integration tests and contact emails to anymail.dev. 
(Stop using anymail.info.)
2022-02-02 13:59:09 -08:00
Mike Edmunds
5cbaa24002 Move CI testing to GitHub Actions
Related changes:
* remove Travis-CI config; stop running tests on Travis
* rename live integration test environment variables
  to all start with `ANYMAIL_TEST_` (simplifies tox config)
2020-11-28 18:08:01 -08:00
medmunds
61660cd5ff SparkPost: call HTTP API directly [breaking]
Switch from the (now unmaintained) python-sparkpost
client library to a requests-based backend that calls
SparkPost's Transmissions API directly.

Also adds support for text/x-amp-html alternative parts
(which are supported by the SparkPost API, but weren't
by the client library).

Closes #203
2020-09-11 11:10:24 -07:00
medmunds
7d726734eb Rename git default branch to "main" 2020-08-14 17:58:06 -07:00
Mike Edmunds
85cec5e9dc Drop Python 2 and Django 1.11 support
Minimum supported versions are now Django 2.0, Python 3.5.

This touches a lot of code, to:
* Remove obsolete portability code and workarounds
  (six, backports of email parsers, test utils, etc.)
* Use Python 3 syntax (class defs, raise ... from, etc.)
* Correct inheritance for mixin classes
* Fix outdated docs content and links
* Suppress Python 3 "unclosed SSLSocket" ResourceWarnings
  that are beyond our control (in integration tests due to boto3, 
  python-sparkpost)
2020-08-01 14:53:10 -07:00
medmunds
3167a74d35 Upgrade dev tooling
(Drop detox, which is built into tox 3.7 and later.)
2019-09-27 11:54:40 -07:00
Mike Edmunds
978996d7b8 Test without optional packages
Tox:
* Add Tox factor for extras (all, none, individual ESP).
  For now, only break out ESPs that have specific extra
  dependencies (amazon_ses, sparkpost).
* Install most package dependencies (including extras)
  through the package itself.
* Use new runtests.py environment vars to limit test tags
  when Tox isn't installing all extras.

Travis:
* Rework matrix to request specific TOXENVs directly;
  drop tox-travis.

Test runner (runtests.py):
* Centralize RUN_LIVE_TESTS logic in runtests.py
* Add ANYMAIL_ONLY_TEST and ANYMAIL_SKIP_TESTS env vars
  (comma-separated lists of tags)

Test implementations:
* Tag all ESP-specific tests with ESP
* Tag live tests with "live"
* Don't import ESP-specific packages at test module level. 
  (Test discovery imports test modules before tag-based filtering.)

Closes #104
2019-02-09 15:04:08 -08:00
Mike Edmunds
ef69fa3bf7 Amazon SES support
Integrate Amazon SES.

Closes #54.
2018-04-11 10:35:23 -07:00
medmunds
b06d684dd5 Use tox for running tests and building docs
* Set up tox for testing supported Django/Python combinations
* Also include tox env for checking and building docs
* Use tox-travis for Travis CI integration
* Add tests against Django master
* Document building docs and running tests with tox
2018-03-15 13:08:07 -07:00
medmunds
0b50f278b5 Docs: add contact email for security issues 2017-05-22 11:46:37 -07:00
medmunds
d4f6ffbb41 Show DeprecationWarning, etc. in runtests
Install default warnings filter in test runs, to avoid
python's default suppression of DeprecationWarning
and other "intended for developer" warnings.

(Avoids need to provide -Wd or -Wall arg to runtests.)
2016-05-12 17:42:44 -07:00
medmunds
d3f914be12 Event-tracking webhooks
Closes #3
2016-04-29 18:10:50 -07:00
medmunds
385d76b53a Move tests out of app module
(Directory structure as suggested in
[Django testing docs][1].)

[1]: https://docs.djangoproject.com/en/1.9/topics/testing/advanced/#using-the-django-test-runner-to-test-reusable-applications
2016-03-21 11:38:58 -07:00
medmunds
20c6350140 Update (almost) all the docs 2016-03-09 18:37:11 -08:00
medmunds
ef0051dd36 Docs: point to Django stable docs
Avoid pointing Djrill users toward Django dev docs.

[ci skip]
2015-05-13 18:56:15 -07:00
medmunds
46dea8d595 Fix missing Sphinx labels
(So we don't send would-be Djrill contributors
to Django's "Contributors Guide".)
2015-05-13 18:46:07 -07:00
medmunds
7c46bc7d96 Add troubleshooting docs 2015-05-13 18:03:28 -07:00
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
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
medmunds
019a37d7f5 Docs: update list of testing configurations
(That list is practically guaranteed to become outdated, so
just point to the Travis config file.)

[ci skip]
2014-09-29 15:56:34 -07:00
medmunds
49ad853ab3 Docs: suggest checking Mandrill error logs for API errors
[ci skip]
2014-09-29 15:48:31 -07:00
Zbigniew Siciarz
30b5ef3016 Fixed link to Github in the docs. 2013-11-26 11:30:36 +01:00
medmunds
b1b049962c Django 1.6 released 2013-11-09 10:43:40 -08:00
medmunds
28538a5391 Docs: break apart the lengthy readme into organized docs
Also sphinx-ify where appropriate, and lots of general cleanup/editing.
2013-03-04 20:24:26 -08:00