3
3
from unittest import mock
4
4
5
5
import pytest
6
- from sqlalchemy import MetaData , Table , Column , Integer , String
6
+ from sqlalchemy import MetaData , Table , Column , Integer , String , func , select
7
7
8
8
from aiomysql import sa
9
9
@@ -61,12 +61,12 @@ async def test_without_transactions(sa_connect):
61
61
await start (conn1 )
62
62
63
63
conn2 = await sa_connect ()
64
- res1 = await conn1 .scalar (tbl .count ())
64
+ res1 = await conn1 .scalar (select ([ func .count ()]). select_from ( tbl ))
65
65
assert 1 == res1
66
66
67
67
await conn2 .execute (tbl .delete ())
68
68
69
- res2 = await conn1 .scalar (tbl .count ())
69
+ res2 = await conn1 .scalar (select ([ func .count ()]). select_from ( tbl ))
70
70
assert 0 == res2
71
71
await conn1 .close ()
72
72
await conn2 .close ()
@@ -91,14 +91,14 @@ async def test_root_transaction(sa_connect):
91
91
assert tr .is_active
92
92
await conn1 .execute (tbl .delete ())
93
93
94
- res1 = await conn2 .scalar (tbl .count ())
94
+ res1 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
95
95
assert 1 == res1
96
96
97
97
await tr .commit ()
98
98
99
99
assert not tr .is_active
100
100
assert not conn1 .in_transaction
101
- res2 = await conn2 .scalar (tbl .count ())
101
+ res2 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
102
102
assert 0 == res2
103
103
await conn1 .close ()
104
104
await conn2 .close ()
@@ -114,13 +114,13 @@ async def test_root_transaction_rollback(sa_connect):
114
114
assert tr .is_active
115
115
await conn1 .execute (tbl .delete ())
116
116
117
- res1 = await conn2 .scalar (tbl .count ())
117
+ res1 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
118
118
assert 1 == res1
119
119
120
120
await tr .rollback ()
121
121
122
122
assert not tr .is_active
123
- res2 = await conn2 .scalar (tbl .count ())
123
+ res2 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
124
124
assert 1 == res2
125
125
await conn1 .close ()
126
126
await conn2 .close ()
@@ -136,13 +136,13 @@ async def test_root_transaction_close(sa_connect):
136
136
assert tr .is_active
137
137
await conn1 .execute (tbl .delete ())
138
138
139
- res1 = await conn2 .scalar (tbl .count ())
139
+ res1 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
140
140
assert 1 == res1
141
141
142
142
await tr .close ()
143
143
144
144
assert not tr .is_active
145
- res2 = await conn2 .scalar (tbl .count ())
145
+ res2 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
146
146
assert 1 == res2
147
147
await conn1 .close ()
148
148
await conn2 .close ()
@@ -157,12 +157,12 @@ async def test_rollback_on_connection_close(sa_connect):
157
157
tr = await conn1 .begin ()
158
158
await conn1 .execute (tbl .delete ())
159
159
160
- res1 = await conn2 .scalar (tbl .count ())
160
+ res1 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
161
161
assert 1 == res1
162
162
163
163
await conn1 .close ()
164
164
165
- res2 = await conn2 .scalar (tbl .count ())
165
+ res2 = await conn2 .scalar (select ([ func .count ()]). select_from ( tbl ))
166
166
assert 1 == res2
167
167
del tr
168
168
await conn1 .close ()
@@ -239,7 +239,7 @@ async def test_inner_transaction_rollback(sa_connect):
239
239
assert not tr2 .is_active
240
240
assert not tr1 .is_active
241
241
242
- res = await conn .scalar (tbl .count ())
242
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
243
243
assert 1 == res
244
244
await conn .close ()
245
245
@@ -258,7 +258,7 @@ async def test_inner_transaction_close(sa_connect):
258
258
assert tr1 .is_active
259
259
await tr1 .commit ()
260
260
261
- res = await conn .scalar (tbl .count ())
261
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
262
262
assert 2 == res
263
263
await conn .close ()
264
264
@@ -277,14 +277,14 @@ async def test_nested_transaction_commit(sa_connect):
277
277
assert not tr2 .is_active
278
278
assert tr1 .is_active
279
279
280
- res = await conn .scalar (tbl .count ())
280
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
281
281
assert 2 == res
282
282
283
283
await tr1 .commit ()
284
284
assert not tr2 .is_active
285
285
assert not tr1 .is_active
286
286
287
- res = await conn .scalar (tbl .count ())
287
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
288
288
assert 2 == res
289
289
await conn .close ()
290
290
@@ -305,7 +305,7 @@ async def test_nested_transaction_commit_twice(sa_connect):
305
305
assert not tr2 .is_active
306
306
assert tr1 .is_active
307
307
308
- res = await conn .scalar (tbl .count ())
308
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
309
309
assert 2 == res
310
310
311
311
await tr1 .close ()
@@ -326,14 +326,14 @@ async def test_nested_transaction_rollback(sa_connect):
326
326
assert not tr2 .is_active
327
327
assert tr1 .is_active
328
328
329
- res = await conn .scalar (tbl .count ())
329
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
330
330
assert 1 == res
331
331
332
332
await tr1 .commit ()
333
333
assert not tr2 .is_active
334
334
assert not tr1 .is_active
335
335
336
- res = await conn .scalar (tbl .count ())
336
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
337
337
assert 1 == res
338
338
await conn .close ()
339
339
@@ -355,7 +355,7 @@ async def test_nested_transaction_rollback_twice(sa_connect):
355
355
assert tr1 .is_active
356
356
357
357
await tr1 .commit ()
358
- res = await conn .scalar (tbl .count ())
358
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
359
359
assert 1 == res
360
360
await conn .close ()
361
361
@@ -374,7 +374,7 @@ async def test_twophase_transaction_commit(sa_connect):
374
374
await tr .commit ()
375
375
assert not tr .is_active
376
376
377
- res = await conn .scalar (tbl .count ())
377
+ res = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
378
378
assert 2 == res
379
379
await conn .close ()
380
380
@@ -405,7 +405,7 @@ async def test_transactions_sequence(sa_connect):
405
405
tr1 = await conn .begin ()
406
406
assert tr1 is conn ._transaction
407
407
await conn .execute (tbl .insert ().values (name = 'a' ))
408
- res1 = await conn .scalar (tbl .count ())
408
+ res1 = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
409
409
assert 1 == res1
410
410
411
411
await tr1 .commit ()
@@ -414,15 +414,15 @@ async def test_transactions_sequence(sa_connect):
414
414
tr2 = await conn .begin ()
415
415
assert tr2 is conn ._transaction
416
416
await conn .execute (tbl .insert ().values (name = 'b' ))
417
- res2 = await conn .scalar (tbl .count ())
417
+ res2 = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
418
418
assert 2 == res2
419
419
await tr2 .rollback ()
420
420
assert conn ._transaction is None
421
421
422
422
tr3 = await conn .begin ()
423
423
assert tr3 is conn ._transaction
424
424
await conn .execute (tbl .insert ().values (name = 'b' ))
425
- res3 = await conn .scalar (tbl .count ())
425
+ res3 = await conn .scalar (select ([ func .count ()]). select_from ( tbl ))
426
426
assert 2 == res3
427
427
await tr3 .commit ()
428
428
assert conn ._transaction is None
0 commit comments