summaryrefslogtreecommitdiff
path: root/src/mailman/database/tests/test_factory.py
diff options
context:
space:
mode:
authorBarry Warsaw2014-11-28 20:41:45 -0500
committerBarry Warsaw2014-11-28 20:41:45 -0500
commit0ce134da83e902044b3a664aa39f418b4aed149e (patch)
treee7d6b6938a0b58f5964acc79a907a280d819fdc8 /src/mailman/database/tests/test_factory.py
parent11af7021249c5827c4c2d72a90fb4dd2321395c0 (diff)
parent85e5a1cf9a4e7bc90041d7cd93f4e083276736ef (diff)
downloadmailman-0ce134da83e902044b3a664aa39f418b4aed149e.tar.gz
mailman-0ce134da83e902044b3a664aa39f418b4aed149e.tar.zst
mailman-0ce134da83e902044b3a664aa39f418b4aed149e.zip
Diffstat (limited to 'src/mailman/database/tests/test_factory.py')
-rw-r--r--src/mailman/database/tests/test_factory.py24
1 files changed, 15 insertions, 9 deletions
diff --git a/src/mailman/database/tests/test_factory.py b/src/mailman/database/tests/test_factory.py
index d7c4d8503..597e4d9fe 100644
--- a/src/mailman/database/tests/test_factory.py
+++ b/src/mailman/database/tests/test_factory.py
@@ -47,13 +47,13 @@ class TestSchemaManager(unittest.TestCase):
layer = ConfigLayer
def setUp(self):
- # Drop the existing database.
+ # Drop the existing model tables.
Model.metadata.drop_all(config.db.engine)
+ # Drop leftover tables (e.g. Alembic & Storm schema versions).
md = MetaData()
md.reflect(bind=config.db.engine)
- for tablename in ('alembic_version', 'version'):
- if tablename in md.tables:
- md.tables[tablename].drop(config.db.engine)
+ for table in md.sorted_tables:
+ table.drop(config.db.engine)
self.schema_mgr = SchemaManager(config.db)
def tearDown(self):
@@ -114,15 +114,21 @@ class TestSchemaManager(unittest.TestCase):
self.assertFalse(alembic_command.stamp.called)
self.assertFalse(alembic_command.upgrade.called)
- @patch('alembic.command')
- def test_initial(self, alembic_command):
+ @patch('alembic.command.upgrade')
+ def test_initial(self, alembic_command_upgrade):
# No existing database.
+ #import pdb; pdb.set_trace()
self.assertFalse(self._table_exists('mailinglist'))
self.assertFalse(self._table_exists('alembic_version'))
- self.schema_mgr.setup_database()
- self.assertFalse(alembic_command.upgrade.called)
+ head_rev = self.schema_mgr.setup_database()
+ self.assertFalse(alembic_command_upgrade.called)
self.assertTrue(self._table_exists('mailinglist'))
- self.assertTrue(self._table_exists('alembic_version'))
+ md = MetaData()
+ md.reflect(bind=config.db.engine)
+ self.assertIn('alembic_version', md.tables)
+ current_rev = config.db.engine.execute(
+ md.tables['alembic_version'].select()).scalar()
+ self.assertEqual(current_rev, head_rev)
@patch('alembic.command.stamp')
def test_storm(self, alembic_command_stamp):