summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | * Show devmode in `bin/mailman info` output. (LP: #1035028)Barry Warsaw2012-08-174-7/+13
| | | | | | | | | | | | Also, allow doctest cleanups to be tuples, in which case the first item is the callable and the subsequent items are the arguments. Makes for config.pop()'ing much nicer.
* | * Non-unicode values in msgdata broke pending requests. (LP: #1031391)Barry Warsaw2012-08-173-6/+33
| |
* | * Clarify the semantics of the noreply_address variable. It's the local-partBarry Warsaw2012-08-153-8/+8
| | | | | | | | | | | | | | | | of an email address. * Rectify an omission in the copyright assignees. * Of course, don't use PostgreSQL by default in the test suite.
* | * The policy for archiving has now been collapsed into a single enum, calledBarry Warsaw2012-07-2642-209/+1472
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | And now, working for PostgreSQL.Barry Warsaw2012-07-251-0/+3
| | |
| * | Working for SQLite:Barry Warsaw2012-07-2513-41/+135
| | | | | | | | | | | | | | | | | | include_list_post_header -> allow_list_posts Also add a bunch more migration tests.
| * | The final bit of refactoring puts the specifics of making a temporary databaseBarry Warsaw2012-07-255-65/+94
| | | | | | | | | | | | into the hands of the database modules, by using ZCA adapters.
| * | Fix resetting PostgreSQL databases, thus making the full test suite pass withBarry Warsaw2012-07-254-45/+38
| | | | | | | | | | | | them.
| * | Add a temporary database factory so we can remove more cruft from theBarry Warsaw2012-07-254-39/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | individual database classes themselves. This does mean that the temporary factory must know something special about the sqlite and postgresql databases, but I think that's an acceptable trade-off. This should make the test code cleaner, and allow me to write better support for temporary PostgreSQL databases.
| * | The version component is no longer necessary.Barry Warsaw2012-07-251-3/+0
| | |
| * | Refactor a slightly better way of indicating which tables should be reset byBarry Warsaw2012-07-251-9/+9
| | | | | | | | | | | | the testing framework.
| * | Refactor to better handling the difference between a testing database and aBarry Warsaw2012-07-2513-137/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | production database. - Add an IDatabaseFactory interface with two named utility implementations. The initialization subsystem will either ask for the 'testing' or 'production' factory utility depending on whether we're in the test suite or not. The testing factory returns an IDatabase that can be _reset(). - initialize_2() now takes an optional `testing` argument, defaulting to False. The test ConfigLayer will pass in True. - Remove _reset() from the base database class. - The ModelMeta now adds a PRESERVE attribute to database classes. This defaults to False, meaning by default the test framework will reset the table. The Version table is preserved because it records the schema migrations. - Because of the above, we no longer need to support pre_reset() and post_reset() on migrations. Also, bin/mailman should allow the standard configuration file search algorithm to be used except when -C/--config is given.
| * | A few more tweaks to get PostgreSQL working.Barry Warsaw2012-07-253-11/+5
| | | | | | | | | | | | | | | - store.rollback() is better than store.execute('ABORT;') - We need to do a commit after the migrations are loaded.
| * | One more refactoring.Barry Warsaw2012-07-254-21/+21
| | |
| * | Refactor once again for SQLite/PostgreSQL differences.Barry Warsaw2012-07-254-68/+46
| | |
| * | No need to parameterize the exceptions, since Storm does this for us.Barry Warsaw2012-07-253-7/+3
| | |
| * | Very nearly there with PostgreSQL support for testing the beta2 migration.Barry Warsaw2012-07-258-62/+205
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Improve migration logging - Disable pre_reset() and post_reset() on migrations, which might need to be re-enabled for SQLite support. - Be sure to record the migration version in PostgreSQL. - Parameterize the Error that will occur. - Better sample data for PostgreSQL and SQLite, which have different formats.
| * | Checkpointing Postgres port of test suite.Barry Warsaw2012-07-239-104/+496
| | | | | | | | | | | | | | | | | | | | | | | | | | | - Refactor load_schema() into a separate load_sql() method. - Add API for test suite to make a temporary database. - Add code to migrate the PostgreSQL database. - Comment out `moderation_callback` from the PostgreSQL SQL; this must have snuck in accidentally via the contributed port. - Refactor test_migrations.py
| * | Add a few more tests.Barry Warsaw2012-07-201-1/+18
| | |
| * | Get test suite completely working:Barry Warsaw2012-07-208-55/+119
| | | | | | | | | | | | | | | | | | | | | - migrations.rst needs to handle new standard migration - Add ResetHelper() to refactor out common migration test cooperation. - Handle temporary database. - Fix some attribute names.
| * | trunk mergeBarry Warsaw2012-07-2041-180/+543
| |\ \ | |/ / |/| |
* | | Update news with bug issue.Barry Warsaw2012-07-031-1/+1
| | |
* | | More consistency in the way post-configuration changes are processed. LessBarry Warsaw2012-07-029-49/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | magic in the _post_process() method, more ConfigurationUpdatedEvents. More centralization of event initialization. Added property Configuration.language_configs. Instead of initializing events in initialize_2(), initialize them in initialize_1() and do it before the configuration is loaded.
* | | Fix NEWS entry.Barry Warsaw2012-07-021-2/+2
| | |
* | | * `passlib`_ is now used for all password hashing instead of flufl.password.Barry Warsaw2012-07-0232-148/+436
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Replace flufl.password with passlib, albeit with a wrapper.Barry Warsaw2012-06-2713-38/+88
| | |
| * | trunk mergeBarry Warsaw2012-06-03131-1008/+1039
| |\ \ | |/ / |/| |
* | | trunk mergeBarry Warsaw2012-05-144-2/+114
|\ \ \
| * | | Add a test to ensure that the re-raising of the exception occurs.Barry Warsaw2012-05-111-3/+7
| | | |
| * | | * When a queue runner gets an exception in its _dispose() method, aBarry Warsaw2012-05-114-2/+110
| | | | | | | | | | | | | | | | | | | | | | | | `RunnerCrashEvent` is triggered, which contains references to the queue runner, mailing list, message, metadata, and exception. Interested parties can subscribe to that `zope.event` for notification.
* | | | False rather than 0Barry Warsaw2012-05-091-1/+1
|/ / /
* | | * List-Post should be NO when posting is not allowed. (LP: #987563)Barry Warsaw2012-04-273-4/+34
| | |
* | | General code cleanup.Barry Warsaw2012-04-25108-464/+430
| | | | | | | | | | | | | | | | | | | | | | | | - Add explicit dependency on zope.event in setup.py. - Use Python 3 compatible syntax for specifying that a class implements an interface, i.e. the @implementer class decorator. - print_function futures. - Whitespace normalization.
* | | - Remove an obsolete script.Barry Warsaw2012-04-222-191/+3
| | | | | | | | | | | | - Fix up one more use of config.db global.
* | | - Modernize the module by using future imports. Some byte literals areBarry Warsaw2012-04-221-8/+19
| | | | | | | | | | | | required due to the SMTP protocol.
* | | - Print functionBarry Warsaw2012-04-221-8/+8
| | | | | | | | | | | | - transaction() context manager.
* | | - Convert the CLI modules to use print_function.Barry Warsaw2012-04-223-22/+21
| | | | | | | | | | | | | | | - Use the @transactional decorator. - Use the transaction context manager.
* | | - Module modernatizations (print function).Barry Warsaw2012-04-2215-187/+245
| | | | | | | | | | | | - Convert direct use of config.db global to use the @dbconnection decorator.
* | | Two more module modernizations and transaction context manager uses.Barry Warsaw2012-04-222-8/+9
| | |
* | | - Module modernization by adding the print_function() import.Barry Warsaw2012-04-228-76/+86
| | | | | | | | | | | | - Update many tests to use the transaction() context manager.
* | | - Modernize the helpers.py module by using print() functions.Barry Warsaw2012-04-221-16/+18
| | | | | | | | | | | | | | | - Rewrite soem of the code to use the new transaction context manager, instead of explicitly accessing the config.db global.
* | | - Modernize the layers.py module by using print().Barry Warsaw2012-04-221-6/+7
| | | | | | | | | | | | | | | - Rewrite a small bit of code to use the transaction context manager instead of accessing config.db directly.
* | | Update the IDatabase interface.Barry Warsaw2012-04-221-2/+5
| | |
* | | - Simplify the transactional() decorator.Barry Warsaw2012-04-221-13/+39
| | | | | | | | | | | | | | | - Add transaction() context manager. - Add dbconnection() decorator.
* | | Rename mailman.database.transaction.txn to ...transactional. Modernize theBarry Warsaw2012-04-203-14/+9
| |/ |/| | | | | module, and use it in another convenient place.
| * Separate out the migration test methods so that the ones testing that theBarry Warsaw2012-04-206-34/+45
| | | | | | | | | | | | | | | | columns got renamed don't in fact check the data in those tables. Better separation of concerns. Rename mailman.database.transaction.txn to ...transactional and use it in a couple of additional spots.
| * newsgroup_moderationBarry Warsaw2012-04-082-1/+8
| |
| * - Rename the model attributes.Barry Warsaw2012-04-0812-49/+54
| | | | | | | | - news_moderation -> newsgroup_moderation
| * - Refactor the way databases are schema-migrated so that load_migrations()Barry Warsaw2012-04-0811-27/+537
|/ | | | | | | | | | | | | | | can be tested separately. - Add an `until` argument to load_migrations() so that we can load only up to a given timestamp. - In load_migrations(), ignore files in which the `version` part of the file name is empty. - In migrations.rst, use the new, better way of ensuring post-test cleanup. - Add tests for partial upgrades. - LP: #971013 - schema migrations for beta 2. - LP: #967238 - IMailingList.archive + IMailingList.archive_private -> IMailingList.archive_policy, and add ArchivePolicy enum. - Move the `chdir` context manager to helpers.py and add `temporary_db` context manager.
* * A `PasswordChangeEvent` is triggered when an `IUser`'s password changes.Barry Warsaw2012-04-075-3/+49
| | | | (LP: #975700)