summaryrefslogtreecommitdiff
path: root/test/engine/test_execute.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/engine/test_execute.py')
-rw-r--r--test/engine/test_execute.py24
1 files changed, 14 insertions, 10 deletions
diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py
index 1c577730b..9795e4c10 100644
--- a/test/engine/test_execute.py
+++ b/test/engine/test_execute.py
@@ -19,6 +19,8 @@ from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam
from sqlalchemy.engine import result as _result, default
from sqlalchemy.engine.base import Connection, Engine
from sqlalchemy.testing import fixtures
+from sqlalchemy.testing.mock import Mock, call
+
users, metadata, users_autoinc = None, None, None
class ExecuteTest(fixtures.TestBase):
@@ -455,20 +457,22 @@ class ConvenienceExecuteTest(fixtures.TablesTest):
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()
+
+ mock_connection = Mock(
+ return_value=Mock(
+ begin=Mock(side_effect=Exception("boom"))
+ )
+ )
+ engine._connection_cls = mock_connection
assert_raises(
Exception,
engine.begin
)
- assert MockConnection.closed
+
+ eq_(
+ mock_connection.return_value.close.mock_calls,
+ [call()]
+ )
def test_transaction_engine_ctx_rollback(self):
fn = self._trans_rollback_fn()