Merge "Fix tests for sqlalchemy utils"
This commit is contained in:
@@ -19,7 +19,6 @@ from migrate.changeset import UniqueConstraint
|
|||||||
from sqlalchemy import Integer, DateTime, String
|
from sqlalchemy import Integer, DateTime, String
|
||||||
from sqlalchemy import MetaData, Table, Column
|
from sqlalchemy import MetaData, Table, Column
|
||||||
from sqlalchemy.exc import NoSuchTableError
|
from sqlalchemy.exc import NoSuchTableError
|
||||||
from sqlalchemy.exc import OperationalError
|
|
||||||
from sqlalchemy.exc import SAWarning
|
from sqlalchemy.exc import SAWarning
|
||||||
from sqlalchemy.sql import select
|
from sqlalchemy.sql import select
|
||||||
from sqlalchemy.types import UserDefinedType
|
from sqlalchemy.types import UserDefinedType
|
||||||
@@ -92,9 +91,9 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
{'id': 3, 'a': 1, 'foo': 30}
|
{'id': 3, 'a': 1, 'foo': 30}
|
||||||
]
|
]
|
||||||
|
|
||||||
for key, engine in self.engines.items():
|
engine = self.engines['sqlite']
|
||||||
meta = MetaData()
|
meta = MetaData(bind=engine)
|
||||||
meta.bind = engine
|
|
||||||
test_table = Table(table_name, meta,
|
test_table = Table(table_name, meta,
|
||||||
Column('id', Integer, primary_key=True,
|
Column('id', Integer, primary_key=True,
|
||||||
nullable=False),
|
nullable=False),
|
||||||
@@ -105,7 +104,6 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
test_table.create()
|
test_table.create()
|
||||||
|
|
||||||
engine.execute(test_table.insert(), values)
|
engine.execute(test_table.insert(), values)
|
||||||
if key == "sqlite":
|
|
||||||
warnings.simplefilter("ignore", SAWarning)
|
warnings.simplefilter("ignore", SAWarning)
|
||||||
# NOTE(boris-42): Missing info about column `foo` that has
|
# NOTE(boris-42): Missing info about column `foo` that has
|
||||||
# unsupported type CustomType.
|
# unsupported type CustomType.
|
||||||
@@ -117,8 +115,7 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
# instance of sqlalchemy.Column.
|
# instance of sqlalchemy.Column.
|
||||||
self.assertRaises(exception.NovaException,
|
self.assertRaises(exception.NovaException,
|
||||||
utils.drop_unique_constraint,
|
utils.drop_unique_constraint,
|
||||||
engine, table_name, uc_name, 'foo',
|
engine, table_name, uc_name, 'foo', foo=Integer())
|
||||||
foo=Integer())
|
|
||||||
|
|
||||||
foo = Column('foo', CustomType, default=0)
|
foo = Column('foo', CustomType, default=0)
|
||||||
utils.drop_unique_constraint(engine, table_name, uc_name, 'foo',
|
utils.drop_unique_constraint(engine, table_name, uc_name, 'foo',
|
||||||
@@ -132,8 +129,7 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
self.assertEqual((v['id'], v['a'], v['foo']), rows[i])
|
self.assertEqual((v['id'], v['a'], v['foo']), rows[i])
|
||||||
|
|
||||||
# NOTE(boris-42): Update data about Table from DB.
|
# NOTE(boris-42): Update data about Table from DB.
|
||||||
meta = MetaData()
|
meta = MetaData(bind=engine)
|
||||||
meta.bind = engine
|
|
||||||
test_table = Table(table_name, meta, autoload=True)
|
test_table = Table(table_name, meta, autoload=True)
|
||||||
constraints = filter(lambda c: c.name == uc_name,
|
constraints = filter(lambda c: c.name == uc_name,
|
||||||
test_table.constraints)
|
test_table.constraints)
|
||||||
@@ -160,7 +156,7 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
nullable=False),
|
nullable=False),
|
||||||
Column('a', Integer),
|
Column('a', Integer),
|
||||||
Column('b', Integer),
|
Column('b', Integer),
|
||||||
Column('c', String),
|
Column('c', String(255)),
|
||||||
Column('deleted', Integer, default=0),
|
Column('deleted', Integer, default=0),
|
||||||
Column('deleted_at', DateTime),
|
Column('deleted_at', DateTime),
|
||||||
Column('updated_at', DateTime))
|
Column('updated_at', DateTime))
|
||||||
@@ -296,9 +292,8 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
|
|
||||||
def test_check_shadow_table_with_unsupported_type(self):
|
def test_check_shadow_table_with_unsupported_type(self):
|
||||||
table_name = 'abc'
|
table_name = 'abc'
|
||||||
for key, engine in self.engines.items():
|
engine = self.engines['sqlite']
|
||||||
meta = MetaData()
|
meta = MetaData(bind=engine)
|
||||||
meta.bind = engine
|
|
||||||
|
|
||||||
table = Table(table_name, meta,
|
table = Table(table_name, meta,
|
||||||
Column('id', Integer, primary_key=True),
|
Column('id', Integer, primary_key=True),
|
||||||
@@ -342,10 +337,9 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
|
|
||||||
def test_create_shadow_table_not_supported_type(self):
|
def test_create_shadow_table_not_supported_type(self):
|
||||||
table_name = 'abc'
|
table_name = 'abc'
|
||||||
for key, engine in self.engines.items():
|
engine = self.engines['sqlite']
|
||||||
meta = MetaData()
|
meta = MetaData()
|
||||||
meta.bind = engine
|
meta.bind = engine
|
||||||
|
|
||||||
table = Table(table_name, meta,
|
table = Table(table_name, meta,
|
||||||
Column('id', Integer, primary_key=True),
|
Column('id', Integer, primary_key=True),
|
||||||
Column('a', CustomType))
|
Column('a', CustomType))
|
||||||
@@ -388,6 +382,6 @@ class TestMigrationUtils(test_migrations.BaseMigrationTestCase):
|
|||||||
Column('a', Integer))
|
Column('a', Integer))
|
||||||
table.create()
|
table.create()
|
||||||
utils.create_shadow_table(engine, table_name=table_name)
|
utils.create_shadow_table(engine, table_name=table_name)
|
||||||
self.assertRaises(OperationalError,
|
self.assertRaises(exception.ShadowTableExists,
|
||||||
utils.create_shadow_table,
|
utils.create_shadow_table,
|
||||||
engine, table_name=table_name)
|
engine, table_name=table_name)
|
||||||
|
|||||||
Reference in New Issue
Block a user