diff options
Diffstat (limited to 'heat/tests/utils.py')
-rw-r--r-- | heat/tests/utils.py | 18 |
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): |