summaryrefslogtreecommitdiff
path: root/Lib/test/test_sqlite3/test_dbapi.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_sqlite3/test_dbapi.py')
-rw-r--r--Lib/test/test_sqlite3/test_dbapi.py18
1 files changed, 16 insertions, 2 deletions
diff --git a/Lib/test/test_sqlite3/test_dbapi.py b/Lib/test/test_sqlite3/test_dbapi.py
index a5ec66fe22..802a691937 100644
--- a/Lib/test/test_sqlite3/test_dbapi.py
+++ b/Lib/test/test_sqlite3/test_dbapi.py
@@ -48,8 +48,8 @@ def managed_connect(*args, in_mem=False, **kwargs):
# Helper for temporary memory databases
-def memory_database():
- cx = sqlite.connect(":memory:")
+def memory_database(*args, **kwargs):
+ cx = sqlite.connect(":memory:", *args, **kwargs)
return contextlib.closing(cx)
@@ -509,6 +509,20 @@ class ConnectionTests(unittest.TestCase):
self.assertRaisesRegex(sqlite.ProgrammingError, msg,
self.cx.setlimit, cat, 0)
+ def test_connection_init_bad_isolation_level(self):
+ msg = (
+ "isolation_level string must be '', 'DEFERRED', 'IMMEDIATE', or "
+ "'EXCLUSIVE'"
+ )
+ with self.assertRaisesRegex(ValueError, msg):
+ memory_database(isolation_level="BOGUS")
+
+ def test_connection_init_good_isolation_levels(self):
+ for level in ("", "DEFERRED", "IMMEDIATE", "EXCLUSIVE", None):
+ with self.subTest(level=level):
+ with memory_database(isolation_level=level) as cx:
+ cx.execute("select 'ok'")
+
class UninitialisedConnectionTests(unittest.TestCase):
def setUp(self):