Merge "Fix SQL fixture to preserve engine facade settings"

This commit is contained in:
Jenkins 2017-04-07 10:22:17 +00:00 committed by Gerrit Code Review
commit de47313025
1 changed files with 7 additions and 5 deletions

View File

@ -99,11 +99,12 @@ class SqlFixture(fixtures.Fixture):
self.sessionmaker = session.get_maker(engine)
self.enginefacade_factory = enginefacade._TestTransactionFactory(
self.engine, self.sessionmaker, apply_global=False)
_restore_factory = db_api.context_manager._root_factory
self.enginefacade_factory = enginefacade._TestTransactionFactory(
self.engine, self.sessionmaker, from_factory=_restore_factory,
apply_global=False)
db_api.context_manager._root_factory = self.enginefacade_factory
engine = db_api.context_manager.writer.get_engine()
@ -160,7 +161,7 @@ class StaticSqlFixture(SqlFixture):
else:
cls._GLOBAL_RESOURCES = True
cls.schema_resource = provision.SchemaResource(
provision.DatabaseResource("sqlite"),
provision.DatabaseResource("sqlite", db_api.context_manager),
cls._generate_schema, teardown=False)
dependency_resources = {}
for name, resource in cls.schema_resource.resources:
@ -183,7 +184,8 @@ class StaticSqlFixtureNoSchema(SqlFixture):
return
else:
cls._GLOBAL_RESOURCES = True
cls.database_resource = provision.DatabaseResource("sqlite")
cls.database_resource = provision.DatabaseResource(
"sqlite", db_api.context_manager)
dependency_resources = {}
for name, resource in cls.database_resource.resources:
dependency_resources[name] = resource.getResource()