summaryrefslogtreecommitdiff
path: root/heat/tests/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'heat/tests/utils.py')
-rw-r--r--heat/tests/utils.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/heat/tests/utils.py b/heat/tests/utils.py
index cf3e383f8..19fc1a06f 100644
--- a/heat/tests/utils.py
+++ b/heat/tests/utils.py
@@ -220,15 +220,19 @@ class JsonRepr(object):
class ForeignKeyConstraintFixture(fixtures.Fixture):
- def __init__(self, sqlite_fk=True):
- self.enable_fkc = sqlite_fk
- def _setUp(self):
- new_context = db_api.db_context.make_new_manager()
- new_context.configure(sqlite_fk=self.enable_fkc)
+ def __init__(self):
+ self.engine = get_engine()
- self.useFixture(fixtures.MockPatchObject(db_api, '_facade', None))
- self.addCleanup(db_api.db_context.patch_factory(new_context._factory))
+ def _setUp(self):
+ if self.engine.name == 'sqlite':
+ self.engine.execute("PRAGMA foreign_keys=ON")
+
+ def disable_fks():
+ with self.engine.connect() as conn:
+ conn.connection.rollback()
+ conn.execute("PRAGMA foreign_keys=OFF")
+ self.addCleanup(disable_fks)
class AnyInstance(object):