diff options
Diffstat (limited to 'test/engine/test_execute.py')
-rw-r--r-- | test/engine/test_execute.py | 24 |
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() |