diff options
| author | Aurélien Bompard | 2014-10-06 14:47:38 +0200 |
|---|---|---|
| committer | Aurélien Bompard | 2014-10-06 14:47:38 +0200 |
| commit | cbbac03083357ca928d104d386d9e3008c937581 (patch) | |
| tree | 28b9296f92666896a2c2dbd5ef39922ee0bb6573 /src/mailman/database/tests/test_factory.py | |
| parent | ee21bba194822d347f008dc7a2ddda3d9af39b4e (diff) | |
| download | mailman-cbbac03083357ca928d104d386d9e3008c937581.tar.gz mailman-cbbac03083357ca928d104d386d9e3008c937581.tar.zst mailman-cbbac03083357ca928d104d386d9e3008c937581.zip | |
Diffstat (limited to 'src/mailman/database/tests/test_factory.py')
| -rw-r--r-- | src/mailman/database/tests/test_factory.py | 54 |
1 files changed, 19 insertions, 35 deletions
diff --git a/src/mailman/database/tests/test_factory.py b/src/mailman/database/tests/test_factory.py index 7becdbfde..42a05fe1b 100644 --- a/src/mailman/database/tests/test_factory.py +++ b/src/mailman/database/tests/test_factory.py @@ -40,6 +40,7 @@ from mailman.database.model import Model class TestSchemaManager(unittest.TestCase): + layer = DatabaseLayer def setUp(self): @@ -55,23 +56,22 @@ class TestSchemaManager(unittest.TestCase): Model.metadata.remove(version) - def _db_is_setup(self): - md = MetaData() - md.reflect(bind=config.db.engine) - return "mailinglist" in md.tables and "alembic_version" in md.tables - def _table_exists(self, tablename): md = MetaData() md.reflect(bind=config.db.engine) return tablename in md.tables - def _create_storm_version_table(self): - table = Table("version", Model.metadata, - Column("id", Integer, primary_key=True), - Column("component", Unicode), - Column("version", Unicode), - ) - table.create(config.db.engine) + def _create_storm_version_table(self, revision): + version_table = Table("version", Model.metadata, + Column("id", Integer, primary_key=True), + Column("component", Unicode), + Column("version", Unicode), + ) + version_table.create(config.db.engine) + config.db.store.execute(version_table.insert().values( + component='schema', version=revision)) + config.db.commit() + def test_current_db(self): """The database is already at the latest version""" @@ -84,27 +84,19 @@ class TestSchemaManager(unittest.TestCase): def test_initial(self): """No existing database""" - self.assertFalse(self._table_exists("mailinglist") - and self._table_exists("alembic_version")) + self.assertFalse(self._table_exists("mailinglist")) + self.assertFalse(self._table_exists("alembic_version")) self.schema_mgr._upgrade = Mock() self.schema_mgr.setup_db() self.assertFalse(self.schema_mgr._upgrade.called) - self.assertTrue(self._table_exists("mailinglist") - and self._table_exists("alembic_version")) + self.assertTrue(self._table_exists("mailinglist")) + self.assertTrue(self._table_exists("alembic_version")) def test_storm(self): """Existing Storm database""" Model.metadata.create_all(config.db.engine) - version_table = Table("version", Model.metadata, - Column("id", Integer, primary_key=True), - Column("component", Unicode), - Column("version", Unicode), - ) - version_table.create(config.db.engine) - config.db.store.execute(version_table.insert().values( - component='schema', - version=self.schema_mgr.LAST_STORM_SCHEMA_VERSION)) - config.db.commit() + self._create_storm_version_table( + self.schema_mgr.LAST_STORM_SCHEMA_VERSION) self.schema_mgr._create = Mock() self.schema_mgr.setup_db() self.assertFalse(self.schema_mgr._create.called) @@ -115,15 +107,7 @@ class TestSchemaManager(unittest.TestCase): def test_old_storm(self): """Existing Storm database in an old version""" Model.metadata.create_all(config.db.engine) - version_table = Table("version", Model.metadata, - Column("id", Integer, primary_key=True), - Column("component", Unicode), - Column("version", Unicode), - ) - version_table.create(config.db.engine) - config.db.store.execute(version_table.insert().values( - component='schema', version='001')) - config.db.commit() + self._create_storm_version_table("001") self.schema_mgr._create = Mock() self.assertRaises(RuntimeError, self.schema_mgr.setup_db) self.assertFalse(self.schema_mgr._create.called) |
