summaryrefslogtreecommitdiff
path: root/test/engine
diff options
context:
space:
mode:
Diffstat (limited to 'test/engine')
-rw-r--r--test/engine/test_execute.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py
index 6bdbf4227..610f5e42b 100644
--- a/test/engine/test_execute.py
+++ b/test/engine/test_execute.py
@@ -358,6 +358,23 @@ class ConvenienceExecuteTest(fixtures.TablesTest):
testing.run_as_contextmanager(ctx, fn, 5, value=8)
self._assert_fn(5, value=8)
+ def test_transaction_engine_ctx_begin_fails(self):
+ engine = engines.testing_engine()
+ class MockConnection(Connection):
+ closed = False
+ def begin(self):
+ raise Exception("boom")
+
+ def close(self):
+ MockConnection.closed = True
+ engine._connection_cls = MockConnection
+ fn = self._trans_fn()
+ assert_raises(
+ Exception,
+ engine.begin
+ )
+ assert MockConnection.closed
+
def test_transaction_engine_ctx_rollback(self):
fn = self._trans_rollback_fn()
ctx = testing.db.begin()