summaryrefslogtreecommitdiff
path: root/src/mailman/utilities/tests
Commit message (Collapse)AuthorAgeFilesLines
...
| * Don't send welcome messages on importAurélien Bompard2015-02-211-0/+11
| |
| * Don't import invalid emailsAurélien Bompard2015-02-211-0/+24
|/
* We don't need the 'six' package any more.Barry Warsaw2015-01-041-3/+2
|
* Bump copyright years.Barry Warsaw2015-01-045-5/+5
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-225-26/+18
|
* test_import passes.Barry Warsaw2014-12-161-4/+8
|
* Fix some of the import tests. Python 2 str types seem to always unpickle asBarry Warsaw2014-12-161-27/+30
| | | | str types in Python 3.
* Checkpointing.Barry Warsaw2014-11-301-7/+8
| | | | | | | | | | By using `six` I think I have most of the imports squared away. There's probably still uses of `unicode` built-ins that need fixing. The idea is to first get the test suite running (which it doesn't yet), and then to fix tests. There's a bug in lazr.config which requires us to patch it for now.
* Improve coverage:Barry Warsaw2014-11-171-6/+3
| | | | | * Remove some unused code * pragma: no cover
* Tox-ify the test suite. Now you don't have to create a virtualenv separately.Barry Warsaw2014-11-071-2/+3
| | | | | | | | | | | To do this, we have to handle random test ordering, since tox explicitly sets PYTHONHASHSEED. That's a good thing for the future Python 3 port. Removed `mailman conf -t/--sort`; now the output is always sorted. RFC 2369 headers are now sorted before being added. etag repr dicts are sorted using pprint.pformat().
* Merge abompard's fixes to the importer for encode_ascii_prefixes.Barry Warsaw2014-10-301-0/+10
|
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-282-7/+18
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* IUserManager.create_address() is a better API to create unlinked addresses.Barry Warsaw2014-04-141-29/+5
|
* Trunk mergeBarry Warsaw2014-04-145-5/+5
|\
| * Bump copyright years.Barry Warsaw2014-01-015-5/+5
| |
* | Aurélien Bompard's import-from-2.1 branch, with cleanup and fixes.Barry Warsaw2014-04-141-6/+725
|\ \ | |/ |/|
| * Minor pyflakes fixesAurélien Bompard2013-10-221-2/+1
| |
| * Merge from the main branchAurélien Bompard2013-10-221-80/+107
| |\ | |/ |/|
| * Text templates should be in UTF-8Aurélien Bompard2013-10-211-2/+19
| |
| * Handle acceptable_aliases being a list in the pickleAurélien Bompard2013-10-151-0/+13
| |
| * Better handling of mixed case email addressesAurélien Bompard2013-10-111-1/+49
| |
| * Handle 'local-part-only' acceptable aliasesAurélien Bompard2013-10-111-1/+17
| |
| * Don't change the mail_host when importingAurélien Bompard2013-10-111-3/+4
| |
| * Use the full language code in the configuration hintAurélien Bompard2013-10-111-4/+2
| |
| * Deal with non-ascii bans and aliasesAurélien Bompard2013-10-091-5/+12
| |
| * Make sure the imported preferred_language exists, and work around Python ↵Aurélien Bompard2013-10-081-1/+38
| | | | | | | | issue 9666
| * Some more unicode checks when importingAurélien Bompard2013-10-081-1/+16
| |
| * More unicode fixes in the import scriptAurélien Bompard2013-10-031-1/+21
| |
| * Strings are almost always bytestrings in the pickle, test for thatAurélien Bompard2013-10-031-55/+55
| |
| * Import most list parameters from the 2.1 pickleAurélien Bompard2013-09-301-1/+567
| |
| * When importing from 2.1, handle the archiving policyAurélien Bompard2013-09-201-0/+32
| |
* | * Fix importation from MM2.1 to MM3 of the archive policy. Given by AurélienBarry Warsaw2013-10-181-0/+55
|/ | | | Bompard. (LP: #1227658)
* Bump copyright years.Barry Warsaw2013-01-015-5/+5
|
* ConfigurationBarry Warsaw2012-11-041-1/+1
| | | | | | | | | | | | | | | ------------- * `[passlib]path` configuration variable renamed to `[passlib]configuration`. * Postfix-specific configurations in the `[mta]` section are moved to a separate file, named by the `[mta]configuration` variable. * In the new `postfix.cfg` file, `postfix_map_cmd` is renamed to `postmap_command`. Also: * More Python 2.7-isms, use assertMultiLineEqual() directly. * Added external_configuration() and load_external() to mailman.config.config * ConfigLayer does a blanket set of [postfix]postmap_command so subtests generally won't have to.
* * Python 2.7 is not required. Python 2.6 is no longer officially supported.Barry Warsaw2012-10-311-6/+2
| | | | | The code base is now also `python2.7 -3` clean, although there are still some warnings in 3rd party dependencies. LP: #1073506
* * The link between members and the mailing lists they are subscribed to, isBarry Warsaw2012-09-041-1/+1
| | | | | | | | | | | | | | | now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting address). This is because while the posting address can change if the mailing list is moved to a new server, the list id is fixed. (LP: #1024509) + IListManager.get_by_list_id() added. + IListManager.list_ids added. + IMailingList.list_id added. + Several internal APIs that accepted fqdn list names now require list ids, e.g. ISubscriptionService.join() and .find_members(). + IMember.list_id attribute added; .mailing_list is now an alias that retrieves and returns the IMailingList. - list_id added (LP: #1024509)
* * The policy for archiving has now been collapsed into a single enum, calledBarry Warsaw2012-07-261-3/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ArchivePolicy. This describes the three states of never archive, archive privately, and archive_publicly. (LP: #967238) Database -------- * Schema migrations (LP: #971013) - include_list_post_header -> allow_list_posts - news_prefix_subject_too -> nntp_prefix_subject_too - news_moderation -> newsgroup_moderation - archive and archive_private have been collapsed into archive_policy. - nntp_host has been removed. * The PostgreSQL port of the schema accidentally added a moderation_callback column to the mailinglist table. Since this is unused in Mailman, it was simply commented out of the base schema for PostgreSQL.
| * Working for SQLite:Barry Warsaw2012-07-251-2/+2
|/ | | | | | include_list_post_header -> allow_list_posts Also add a bunch more migration tests.
* * `passlib`_ is now used for all password hashing instead of flufl.password.Barry Warsaw2012-07-021-0/+60
| | | | | | | | | | | | | | | | | | | | | | | The default hash is `sha512_crypt`. * Events renamed and moved: * `mailman.chains.accept.AcceptNotification` * `mailman.chains.base.ChainNotification` * `mailman.chains.discard.DiscardNotification` * `mailman.chains.hold.HoldNotification` * `mailman.chains.owner.OwnerNotification` * `mailman.chains.reject.RejectNotification` changed to (respectively): * `mailman.interfaces.chains.AcceptEvent` * `mailman.interfaces.chains.ChainEvent` * `mailman.interfaces.chains.DiscardEvent` * `mailman.interfaces.chains.HoldEvent` * `mailman.interfaces.chains.AcceptOwnerEvent` * `mailman.interfaces.chains.RejectEvent` * A `ConfigurationUpdatedEvent` is triggered when the system-wide global configuration stack is pushed or popped. * With the switch to `passlib`_, `[passwords]password_scheme` has been removed. Instead use `[passwords]path` to specify where to find the `passlib.cfg` file. See the comments in `schema.cfg` for details.
* Schema change. After discussion at Pycon, we decided to change "real_name" toBarry Warsaw2012-03-151-4/+4
| | | | | | | | | | | "display_name" across the board. * `IMailingList.real_name` -> `IMailingList.display_name` * `IUser.real_name` -> `IUser.display_name` * `IAddress.real_name` -> `IAddress.display_name` * Schema changes: - real_name -> display_name (mailinglist, user, address)
* * The LMTP server now requires that the incoming message have a `Message-ID`,Barry Warsaw2012-03-131-3/+72
| | | | | | | | | | | otherwise it rejects the message with a 550 error. Also, the LMTP server adds the `X-Message-ID-Hash` header automatically. The `inject` cli command will also add the `X-Message-ID-Hash` header, but it will craft a `Message-ID` header first if one is missing from the injected text. Also, `inject` will always set the correct value for the `original_size` attribute on the message object, instead of trusting a possibly incorrect value if it's already set. The individual `IArchiver` implementations no longer set the `X-Message-ID-Hash` header.
* * Major redesign of the template search system, fixing LP: #788309. $var_dirBarry Warsaw2012-03-031-112/+133
| | | | | | is now used when search for all template overrides, site, domain, or mailing list. The in-tree English templates are used only as a last fallback.
* copybumpBarry Warsaw2012-01-014-4/+4
|
* Replace the password stuff with flufl.password.Barry Warsaw2012-01-011-204/+0
|
* Remove extraneous `test_suite()` functions. zope.testrunner willBarry Warsaw2011-10-305-56/+7
| | | | | | | | | automatically do the right thing in most cases. Keep test_suite() in test_documentation.py since these dynamically set up docs tests properly. Refactor test_passwords.py so that base class tests aren't bogusly run. Also, remove test_membership.py which was essentially disabled because it was testing the MM2 membership API.
* * The IMailingList attribute ``host_name`` has been renamed to ``mail_host``Barry Warsaw2011-06-161-4/+4
| | | | | for consistency. This changes the REST API for mailing list resources. (LP: #787599)
* Start the enablement of bounce detection.Barry Warsaw2011-05-011-0/+49
| | | | | | | | | | * Move VERP header extraction to mailman.app.bounces, and ports the implementation to the get_verp() function. * Restore the [mta] verp_regexp value which got lost along the way. * Move mailman.email.utils to mailman.utilities.email and add a test for split_email() * Move specialized_message_from_string() from test_documentation to mailman.testing.helpers.
* encrypt_password(): New convenience function for ensuring that a password isBarry Warsaw2011-04-081-0/+34
| | | | | | | | | | | | | | | both encrypted according to a scheme, and a bytes object. add_member(): Use encrypt_password(). cli_members: Give the user a default, user-friendly password. Of course, this will be encrypted so it can't be retrieved, but it can be reset. Passwords are stored as bytes objects, not unicode now. ConfigLayer: Set the default test password scheme to cleartext. General test repair.
* make_user_friendly_password(): Ported from Mailman 2.1.Barry Warsaw2011-04-071-0/+35
|
* Reimplement wrap() using modern techniques, and finally get rid of Utils.py!Barry Warsaw2011-03-172-6/+155
|