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.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py
index d3bd3c2cd..6efcdcb89 100644
--- a/test/engine/test_execute.py
+++ b/test/engine/test_execute.py
@@ -1235,6 +1235,48 @@ class EngineEventsTest(fixtures.TestBase):
canary.be1.assert_call_count(2)
canary.be2.assert_call_count(2)
+ def test_cursor_events_ctx_execute_scalar(self):
+ canary = Mock()
+ e1 = testing_engine(config.db_url)
+
+ event.listen(e1, "before_cursor_execute", canary.bce)
+ event.listen(e1, "after_cursor_execute", canary.ace)
+
+ stmt = str(select([1]).compile(dialect=e1.dialect))
+
+ with e1.connect() as conn:
+ dialect = conn.dialect
+
+ ctx = dialect.execution_ctx_cls._init_statement(
+ dialect, conn, conn.connection, stmt, {})
+
+ ctx._execute_scalar(stmt, Integer())
+
+ eq_(canary.bce.mock_calls,
+ [call(conn, ctx.cursor, stmt, ctx.parameters[0], ctx, False)])
+ eq_(canary.ace.mock_calls,
+ [call(conn, ctx.cursor, stmt, ctx.parameters[0], ctx, False)])
+
+ def test_cursor_events_execute(self):
+ canary = Mock()
+ e1 = testing_engine(config.db_url)
+
+ event.listen(e1, "before_cursor_execute", canary.bce)
+ event.listen(e1, "after_cursor_execute", canary.ace)
+
+ stmt = str(select([1]).compile(dialect=e1.dialect))
+
+ with e1.connect() as conn:
+
+ result = conn.execute(stmt)
+
+ ctx = result.context
+ eq_(canary.bce.mock_calls,
+ [call(conn, ctx.cursor, stmt, ctx.parameters[0], ctx, False)])
+ eq_(canary.ace.mock_calls,
+ [call(conn, ctx.cursor, stmt, ctx.parameters[0], ctx, False)])
+
+
def test_argument_format_execute(self):
def before_execute(conn, clauseelement, multiparams, params):
assert isinstance(multiparams, (list, tuple))