Created by Barry Warsaw on 2012-04-08 and last modified on 2012-07-26
Get this branch:
bzr branch lp:~barry/mailman/bug-971013
Only Barry Warsaw can upload to this branch. If you are Barry Warsaw please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Barry Warsaw
GNU Mailman

Recent revisions

7168. By Barry Warsaw on 2012-07-26

And now, working for PostgreSQL.

7167. By Barry Warsaw on 2012-07-26

Working for SQLite:

include_list_post_header -> allow_list_posts

Also add a bunch more migration tests.

7166. By Barry Warsaw on 2012-07-26

The final bit of refactoring puts the specifics of making a temporary database
into the hands of the database modules, by using ZCA adapters.

7165. By Barry Warsaw on 2012-07-26

Fix resetting PostgreSQL databases, thus making the full test suite pass with

7164. By Barry Warsaw on 2012-07-25

Add a temporary database factory so we can remove more cruft from the
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.

7163. By Barry Warsaw on 2012-07-25

The version component is no longer necessary.

7162. By Barry Warsaw on 2012-07-25

Refactor a slightly better way of indicating which tables should be reset by
the testing framework.

7161. By Barry Warsaw on 2012-07-25

Refactor to better handling the difference between a testing database and a
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

- 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.

7160. By Barry Warsaw on 2012-07-25

A few more tweaks to get PostgreSQL working.
- store.rollback() is better than store.execute('ABORT;')
- We need to do a commit after the migrations are loaded.

7159. By Barry Warsaw on 2012-07-25

One more refactoring.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
This branch contains Public information 
Everyone can see this information.