summaryrefslogtreecommitdiff
path: root/src/mailman/testing/helpers.py
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a typo in add_member() which prevented subscribing an email address thatBarry Warsaw2011-01-311-0/+30
| | | | | | | | was already linked to a user. Found by Florian Fuchs who also provided the fix, though I implemented the test differently. LP: #710182 Also, refactor the "reset the world" functionality ConfigLayer.testTearDown() so that it could be used by other test code.
* Split member and nonmember moderation.Barry Warsaw2011-01-021-7/+16
| | | | | | | | | | | | | | | | * member-moderation happens at the same place in the built-in chain that the previously named moderation rule happens. nonmember-moderation happens after all the other normal moderation rules. * Handle unsubscribed nonmember posts. Other changes: * Message.senders now filters out Nones and empty strings. * Various test cleanups and simplifications. * More `address` -> `email` fixes. * Give Link class a useful repr. * Fix a potential UnboundLocalError. * Various other small changes.
* Fix the obvious errors identified by pyflakes. Skip false positives (mostlyBarry Warsaw2010-10-081-2/+0
| | | | | due to _() interpolation) and a few other problems that did not have immediately obvious fixes.
* * Fix the bin/test -e/--stderr option to work with the currentBarry Warsaw2010-06-181-0/+18
| | | | | | | | | | | | | zope.testrunner. Actually, divorce it from the latter and handle the sys.argv sequence ourselves. * Added IMailingList.get_roster() which returns the named roster (from a MemberRole enum). * The start of an IMailingList doctest. This needs much more detail. * Move the subscribe() function from membership.txt into the mailman.testing.helpers. * Added new REST interface for getting all the members of a roster for a specific mailing list: .../lists/<list>/roster/<role>. Note that <role> is the plural form of the MemberRole enum.
* Chains now fire Zope events in their _process() implementation.Barry Warsaw2010-02-161-1/+24
| | | | Clean up the chains.txt doctest to use this and other recent improvements.
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* The delivery agent requires that the message object have a .original_sizeBarry Warsaw2009-12-041-1/+0
| | | | attribute. Add this for UserNotifications.
* Use lazr.smtptest instead of our own SMTPServer and test SMTPd.Barry Warsaw2009-10-151-60/+0
| | | | | Update the lazr.restful IWebServiceConfiguration implementation to include the new hop_by_hop_headers attribute, by way of BaseWSGIWebServiceConfiguration.
* When testing, the signal.pause() is a problem because the TestableMaster isBarry Warsaw2009-10-151-1/+7
| | | | | never killed with a signal. In the real-world, it is though. So put the .pause() in a method that can be overridden by TestableMaster.
* Set testing threads as daemon so they won't hang.Barry Warsaw2009-06-291-0/+2
| | | | Fix system absolute url.
* More tests for the REST server, this time, for the queue runner.Barry Warsaw2009-05-101-1/+28
| | | | | | | | | | | Add logging to the RESTRunner. Also, use pkg_resources.resource_stream() instead of .resource_string() where appropriate. Add a bunch of XXX comments for things I need to figure out about the Zope-ish parts of the lazr.restful implementation. Change __getitem__() api to _lookup().
* Minor cleanupsBarry Warsaw2009-03-051-2/+5
|
* Massive digester rework.Barry Warsaw2009-02-041-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This moves actual digest creation and sending into a new queue runner. That way, digest creation does not block the main incoming processor. Lots of code clean up and reorganization too, and many fixes. digest_last_sent_at: Make this a DateTime digest_size_threshold: Make this a Float digest_volume_frequency: Make this an Enum DigestFrequency: new enum Fix up IMailingList interface to reflect reality. In Runner base class, allow for msg.get_sender() to return a False value. If this happens (as it can with the empty marker messages used to signal the digester that there's work to do), just use the list's preferred language. Give the retry.py and incoming.py queue runner modules some proper epilogues. The EmptyingRunner (for testing) logs itself as the runner its wrapping. The digest file name now ends in .mmdf since that's the format we're using. Add 'create_list' to doctest globals. Add a Mailbox class to add support for the context manager protocol.
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-251-0/+248
correctly regardless of how it's used.