|
9 | 9 | class TestReturning: |
10 | 10 | def test_insert_returning(self, cluster_address: str) -> None: |
11 | 11 | """INSERT ... RETURNING should return rows via query path.""" |
12 | | - conn = connect(cluster_address, database="test_returning") |
13 | | - cursor = conn.cursor() |
14 | | - |
15 | | - cursor.execute("CREATE TABLE ret_test (id INTEGER PRIMARY KEY, name TEXT)") |
16 | | - cursor.execute("INSERT INTO ret_test (id, name) VALUES (1, 'alice') RETURNING id, name") |
17 | | - row = cursor.fetchone() |
18 | | - assert row == (1, "alice") |
19 | | - |
20 | | - cursor.execute("DROP TABLE ret_test") |
21 | | - conn.close() |
| 12 | + with connect(cluster_address, database="test_returning") as conn: |
| 13 | + cursor = conn.cursor() |
| 14 | + cursor.execute("CREATE TABLE ret_test (id INTEGER PRIMARY KEY, name TEXT)") |
| 15 | + cursor.execute("INSERT INTO ret_test (id, name) VALUES (1, 'alice') RETURNING id, name") |
| 16 | + row = cursor.fetchone() |
| 17 | + assert row == (1, "alice") |
| 18 | + cursor.execute("DROP TABLE ret_test") |
22 | 19 |
|
23 | 20 | def test_insert_returning_multiple(self, cluster_address: str) -> None: |
24 | 21 | """INSERT ... RETURNING should support fetching all returned rows.""" |
25 | | - conn = connect(cluster_address, database="test_returning_multi") |
26 | | - cursor = conn.cursor() |
27 | | - |
28 | | - cursor.execute("CREATE TABLE ret_multi (id INTEGER PRIMARY KEY, val TEXT)") |
29 | | - cursor.execute("INSERT INTO ret_multi (id, val) VALUES (1, 'a') RETURNING id, val") |
30 | | - assert cursor.fetchone() == (1, "a") |
31 | | - |
32 | | - cursor.execute("INSERT INTO ret_multi (id, val) VALUES (2, 'b') RETURNING val") |
33 | | - assert cursor.fetchone() == ("b",) |
34 | | - |
35 | | - cursor.execute("DROP TABLE ret_multi") |
36 | | - conn.close() |
| 22 | + with connect(cluster_address, database="test_returning_multi") as conn: |
| 23 | + cursor = conn.cursor() |
| 24 | + cursor.execute("CREATE TABLE ret_multi (id INTEGER PRIMARY KEY, val TEXT)") |
| 25 | + cursor.execute("INSERT INTO ret_multi (id, val) VALUES (1, 'a') RETURNING id, val") |
| 26 | + assert cursor.fetchone() == (1, "a") |
| 27 | + cursor.execute("INSERT INTO ret_multi (id, val) VALUES (2, 'b') RETURNING val") |
| 28 | + assert cursor.fetchone() == ("b",) |
| 29 | + cursor.execute("DROP TABLE ret_multi") |
37 | 30 |
|
38 | 31 | def test_delete_returning(self, cluster_address: str) -> None: |
39 | 32 | """DELETE ... RETURNING should return deleted rows.""" |
40 | | - conn = connect(cluster_address, database="test_del_returning") |
41 | | - cursor = conn.cursor() |
42 | | - |
43 | | - cursor.execute("CREATE TABLE del_ret (id INTEGER PRIMARY KEY, name TEXT)") |
44 | | - cursor.execute("INSERT INTO del_ret (id, name) VALUES (1, 'alice')") |
45 | | - cursor.execute("DELETE FROM del_ret WHERE id = 1 RETURNING id, name") |
46 | | - row = cursor.fetchone() |
47 | | - assert row == (1, "alice") |
48 | | - |
49 | | - cursor.execute("DROP TABLE del_ret") |
50 | | - conn.close() |
| 33 | + with connect(cluster_address, database="test_del_returning") as conn: |
| 34 | + cursor = conn.cursor() |
| 35 | + cursor.execute("CREATE TABLE del_ret (id INTEGER PRIMARY KEY, name TEXT)") |
| 36 | + cursor.execute("INSERT INTO del_ret (id, name) VALUES (1, 'alice')") |
| 37 | + cursor.execute("DELETE FROM del_ret WHERE id = 1 RETURNING id, name") |
| 38 | + row = cursor.fetchone() |
| 39 | + assert row == (1, "alice") |
| 40 | + cursor.execute("DROP TABLE del_ret") |
51 | 41 |
|
52 | 42 | def test_update_returning(self, cluster_address: str) -> None: |
53 | 43 | """UPDATE ... RETURNING should return updated rows.""" |
54 | | - conn = connect(cluster_address, database="test_upd_returning") |
55 | | - cursor = conn.cursor() |
56 | | - |
57 | | - cursor.execute("CREATE TABLE upd_ret (id INTEGER PRIMARY KEY, name TEXT)") |
58 | | - cursor.execute("INSERT INTO upd_ret (id, name) VALUES (1, 'alice')") |
59 | | - cursor.execute("UPDATE upd_ret SET name = 'bob' WHERE id = 1 RETURNING id, name") |
60 | | - row = cursor.fetchone() |
61 | | - assert row == (1, "bob") |
62 | | - |
63 | | - cursor.execute("DROP TABLE upd_ret") |
64 | | - conn.close() |
| 44 | + with connect(cluster_address, database="test_upd_returning") as conn: |
| 45 | + cursor = conn.cursor() |
| 46 | + cursor.execute("CREATE TABLE upd_ret (id INTEGER PRIMARY KEY, name TEXT)") |
| 47 | + cursor.execute("INSERT INTO upd_ret (id, name) VALUES (1, 'alice')") |
| 48 | + cursor.execute("UPDATE upd_ret SET name = 'bob' WHERE id = 1 RETURNING id, name") |
| 49 | + row = cursor.fetchone() |
| 50 | + assert row == (1, "bob") |
| 51 | + cursor.execute("DROP TABLE upd_ret") |
0 commit comments