| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
of an email address.
* Rectify an omission in the copyright assignees.
* Of course, don't use PostgreSQL by default in the test suite.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | | |
include_list_post_header -> allow_list_posts
Also add a bunch more migration tests.
|
| | | |
| | |
| | |
| | | |
into the hands of the database modules, by using ZCA adapters.
|
| | | |
| | |
| | |
| | | |
them.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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 testing framework.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | |
| | | |
- store.rollback() is better than store.execute('ABORT;')
- We need to do a commit after the migrations are loaded.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
- migrations.rst needs to handle new standard migration
- Add ResetHelper() to refactor out common migration test cooperation.
- Handle temporary database.
- Fix some attribute names.
|
| | |\ \
| |/ /
|/| | |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | | |
|
| | |\ \
| |/ /
|/| | |
|
| |\ \ \ |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`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.
|
| |/ / / |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- 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.
|
| | | |
| | |
| | |
| | | |
- Fix up one more use of config.db global.
|
| | | |
| | |
| | |
| | | |
required due to the SMTP protocol.
|
| | | |
| | |
| | |
| | | |
- transaction() context manager.
|
| | | |
| | |
| | |
| | |
| | | |
- Use the @transactional decorator.
- Use the transaction context manager.
|
| | | |
| | |
| | |
| | | |
- Convert direct use of config.db global to use the @dbconnection decorator.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
- Update many tests to use the transaction() context manager.
|
| | | |
| | |
| | |
| | |
| | | |
- Rewrite soem of the code to use the new transaction context manager,
instead of explicitly accessing the config.db global.
|
| | | |
| | |
| | |
| | |
| | | |
- Rewrite a small bit of code to use the transaction context manager instead
of accessing config.db directly.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
- Add transaction() context manager.
- Add dbconnection() decorator.
|
| | |/
|/|
| |
| | |
module, and use it in another convenient place.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| | |
| |
| |
| | |
- news_moderation -> newsgroup_moderation
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
(LP: #975700)
|