def setUp(self): super(ModelMigrationTests, self).setUp() Base.metadata.drop_all() # drop the alembic_version table try: version_table.drop(self.engine) except OperationalError: # pragma: no cover pass # create an alembic table fixture version_table.create(self.engine) with transaction.manager: alembic_version = Migration() alembic_version.version_num = 'revid' self.DBSession.add(alembic_version)
def test_get_alembic_revision(self): """ Test the `get_alembic_revision` function with a revision.""" import transaction from anuket.models.migration import Migration version_table.create(self.engine) with transaction.manager: alembic_version = Migration() alembic_version.version_num = u'revid' self.DBSession.add(alembic_version) self.DBSession.remove() from anuket.lib.alembic_utils import get_alembic_revision revision = get_alembic_revision(self.config_uri) self.assertEqual(revision[0], u'revid')
def test_initialize_db_with_revision(self): """ Test than the `initialize_db` method fail if the database is already versioned. """ import transaction from anuket.models.migration import Migration version_table.create(self.engine) with transaction.manager: alembic_version = Migration() alembic_version.version_num = u'revid' self.DBSession.add(alembic_version) self.DBSession.remove() command = self._makeOne() command.args.config_uri = self.config_uri result = command.initialize_db() self.assertEqual(result, 1) self.assertEqual(self.output.getvalue().rstrip("\n"), "This database is versioned. " "Use the upgrade script instead!")
def test_initialize_db_with_revision(self): """ Test than the `initialize_db` method fail if the database is already versioned. """ import transaction from anuket.models.migration import Migration version_table.create(self.engine) with transaction.manager: alembic_version = Migration() alembic_version.version_num = u'revid' self.DBSession.add(alembic_version) self.DBSession.remove() command = self._makeOne() command.args.config_uri = self.config_uri result = command.initialize_db() self.assertEqual(result, 1) self.assertEqual( self.output.getvalue().rstrip("\n"), "This database is versioned. " "Use the upgrade script instead!")