summaryrefslogtreecommitdiff
path: root/oslo_db/tests/sqlalchemy/test_exc_filters.py
diff options
context:
space:
mode:
Diffstat (limited to 'oslo_db/tests/sqlalchemy/test_exc_filters.py')
-rw-r--r--oslo_db/tests/sqlalchemy/test_exc_filters.py56
1 files changed, 37 insertions, 19 deletions
diff --git a/oslo_db/tests/sqlalchemy/test_exc_filters.py b/oslo_db/tests/sqlalchemy/test_exc_filters.py
index 528d3ed..53789f5 100644
--- a/oslo_db/tests/sqlalchemy/test_exc_filters.py
+++ b/oslo_db/tests/sqlalchemy/test_exc_filters.py
@@ -498,9 +498,15 @@ class TestReferenceErrorSQLite(
self.table_2.create(self.engine)
def test_raise(self):
- with self.engine.connect() as conn:
- conn.execute(sql.text("PRAGMA foreign_keys = ON"))
+ connection = self.engine.raw_connection()
+ try:
+ cursor = connection.cursor()
+ cursor.execute('PRAGMA foreign_keys = ON')
+ cursor.close()
+ finally:
+ connection.close()
+ with self.engine.connect() as conn:
matched = self.assertRaises(
exception.DBReferenceError,
conn.execute,
@@ -521,16 +527,24 @@ class TestReferenceErrorSQLite(
self.assertIsNone(matched.key_table)
def test_raise_delete(self):
- with self.engine.connect() as conn:
- conn.execute(sql.text("PRAGMA foreign_keys = ON"))
- conn.execute(self.table_1.insert().values(id=1234, foo=42))
- conn.execute(self.table_2.insert().values(id=4321, foo_id=1234))
+ connection = self.engine.raw_connection()
+ try:
+ cursor = connection.cursor()
+ cursor.execute('PRAGMA foreign_keys = ON')
+ cursor.close()
+ finally:
+ connection.close()
- matched = self.assertRaises(
- exception.DBReferenceError,
- conn.execute,
- self.table_1.delete()
- )
+ with self.engine.connect() as conn:
+ with conn.begin():
+ conn.execute(self.table_1.insert().values(id=1234, foo=42))
+ conn.execute(
+ self.table_2.insert().values(id=4321, foo_id=1234))
+ matched = self.assertRaises(
+ exception.DBReferenceError,
+ conn.execute,
+ self.table_1.delete()
+ )
self.assertInnerException(
matched,
@@ -577,13 +591,17 @@ class TestReferenceErrorPostgreSQL(
def test_raise_delete(self):
with self.engine.connect() as conn:
- conn.execute(self.table_1.insert().values(id=1234, foo=42))
- conn.execute(self.table_2.insert().values(id=4321, foo_id=1234))
- matched = self.assertRaises(
- exception.DBReferenceError,
- conn.execute,
- self.table_1.delete()
- )
+ with conn.begin():
+ conn.execute(self.table_1.insert().values(id=1234, foo=42))
+ conn.execute(
+ self.table_2.insert().values(id=4321, foo_id=1234))
+
+ with conn.begin():
+ matched = self.assertRaises(
+ exception.DBReferenceError,
+ conn.execute,
+ self.table_1.delete()
+ )
self.assertInnerException(
matched,
@@ -648,7 +666,7 @@ class TestReferenceErrorMySQL(
self.assertEqual("resource_foo", matched.key_table)
def test_raise_delete(self):
- with self.engine.connect() as conn:
+ with self.engine.connect() as conn, conn.begin():
conn.execute(self.table_1.insert().values(id=1234, foo=42))
conn.execute(self.table_2.insert().values(id=4321, foo_id=1234))
matched = self.assertRaises(