Resolve compatibility with oslo.db future
Change I468048c01455d9dfe12004736c181806dc218e37 in oslo.db means that the table returned from 'oslo_db.utils.get_table' is no longer bound to a 'Connection' or 'Engine'. Get out ahead of this breaking change by creating out own 'Connection' as part of the test. Note that we use 'Connection.execute' instead of 'Engine.execute' as the latter is deprecated in SQLAlchemy 1.4 for removal in 2.0. Related-Bug: #1939716 Change-Id: I957d2a9d7c875120bed0022ce1e953b2ec9f97cd Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
This commit is contained in:

committed by
Abhishek Kekane

parent
2fef2e6c4f
commit
f374022359
@@ -21,8 +21,8 @@ from glance.tests.functional.db import test_migrations
|
||||
class TestMitaka02Mixin(test_migrations.AlembicMigrationsMixin):
|
||||
|
||||
def _pre_upgrade_mitaka02(self, engine):
|
||||
metadef_resource_types = db_utils.get_table(engine,
|
||||
'metadef_resource_types')
|
||||
metadef_resource_types = db_utils.get_table(
|
||||
engine, 'metadef_resource_types')
|
||||
now = datetime.datetime.now()
|
||||
db_rec1 = dict(id='9580',
|
||||
name='OS::Nova::Instance',
|
||||
@@ -35,20 +35,24 @@ class TestMitaka02Mixin(test_migrations.AlembicMigrationsMixin):
|
||||
created_at=now,
|
||||
updated_at=now,)
|
||||
db_values = (db_rec1, db_rec2)
|
||||
metadef_resource_types.insert().values(db_values).execute()
|
||||
with engine.connect() as conn, conn.begin():
|
||||
conn.execute(metadef_resource_types.insert().values(db_values))
|
||||
|
||||
def _check_mitaka02(self, engine, data):
|
||||
metadef_resource_types = db_utils.get_table(engine,
|
||||
'metadef_resource_types')
|
||||
result = (metadef_resource_types.select()
|
||||
.where(metadef_resource_types.c.name == 'OS::Nova::Instance')
|
||||
.execute().fetchall())
|
||||
self.assertEqual(0, len(result))
|
||||
metadef_resource_types = db_utils.get_table(
|
||||
engine, 'metadef_resource_types')
|
||||
with engine.connect() as conn:
|
||||
result = conn.execute(
|
||||
metadef_resource_types.select()
|
||||
.where(metadef_resource_types.c.name == 'OS::Nova::Instance')
|
||||
).fetchall()
|
||||
self.assertEqual(0, len(result))
|
||||
|
||||
result = (metadef_resource_types.select()
|
||||
.where(metadef_resource_types.c.name == 'OS::Nova::Server')
|
||||
.execute().fetchall())
|
||||
self.assertEqual(1, len(result))
|
||||
result = conn.execute(
|
||||
metadef_resource_types.select()
|
||||
.where(metadef_resource_types.c.name == 'OS::Nova::Server')
|
||||
).fetchall()
|
||||
self.assertEqual(1, len(result))
|
||||
|
||||
|
||||
class TestMitaka02MySQL(TestMitaka02Mixin,
|
||||
|
Reference in New Issue
Block a user