diff options
| author | Barry Warsaw | 2014-09-23 09:09:45 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2014-09-23 09:09:45 -0400 |
| commit | ea124d4fba3e94d0d8885d898500c9a06d7daad0 (patch) | |
| tree | 8400340d122d3e19ef719ea01a29a2c68021db29 /src/mailman/database/postgresql.py | |
| parent | 67315dbbeb781921c7eb530b996e1020ad84e91b (diff) | |
| download | mailman-ea124d4fba3e94d0d8885d898500c9a06d7daad0.tar.gz mailman-ea124d4fba3e94d0d8885d898500c9a06d7daad0.tar.zst mailman-ea124d4fba3e94d0d8885d898500c9a06d7daad0.zip | |
Diffstat (limited to 'src/mailman/database/postgresql.py')
| -rw-r--r-- | src/mailman/database/postgresql.py | 51 |
1 files changed, 1 insertions, 50 deletions
diff --git a/src/mailman/database/postgresql.py b/src/mailman/database/postgresql.py index bdc3c930c..59fff0865 100644 --- a/src/mailman/database/postgresql.py +++ b/src/mailman/database/postgresql.py @@ -22,32 +22,17 @@ from __future__ import absolute_import, print_function, unicode_literals __metaclass__ = type __all__ = [ 'PostgreSQLDatabase', - 'make_temporary', ] -import types - -from functools import partial -from operator import attrgetter -from urlparse import urlsplit, urlunsplit - from mailman.database.base import SABaseDatabase -from mailman.testing.helpers import configuration +from operator import attrgetter class PostgreSQLDatabase(SABaseDatabase): """Database class for PostgreSQL.""" - def _database_exists(self, store): - """See `BaseDatabase`.""" - table_query = ('SELECT table_name FROM information_schema.tables ' - "WHERE table_schema = 'public'") - results = store.execute(table_query) - table_names = set(item[0] for item in results) - return 'version' in table_names - def _post_reset(self, store): """PostgreSQL-specific test suite cleanup. @@ -67,37 +52,3 @@ class PostgreSQLDatabase(SABaseDatabase): max("id") IS NOT null) FROM "{0}"; """.format(model_class.__storm_table__)) - - - -# Test suite adapter for ITemporaryDatabase. - -def _cleanup(self, store, tempdb_name): - from mailman.config import config - store.rollback() - store.close() - # From the original database connection, drop the now unused database. - config.db.store.execute('DROP DATABASE {0}'.format(tempdb_name)) - - -def make_temporary(database): - """Adapts by monkey patching an existing PostgreSQL IDatabase.""" - from mailman.config import config - parts = urlsplit(config.database.url) - assert parts.scheme == 'postgres' - new_parts = list(parts) - new_parts[2] = '/mmtest' - url = urlunsplit(new_parts) - # Use the existing database connection to create a new testing - # database. - config.db.store.execute('ABORT;') - config.db.store.execute('CREATE DATABASE mmtest;') - with configuration('database', url=url): - database.initialize() - database._cleanup = types.MethodType( - partial(_cleanup, store=database.store, tempdb_name='mmtest'), - database) - # bool column values in PostgreSQL. - database.FALSE = 'False' - database.TRUE = 'True' - return database |
