Skip to content

Commit 6215cb3

Browse files
Fix async tests
1 parent 0d9ec29 commit 6215cb3

File tree

6 files changed

+22
-142
lines changed

6 files changed

+22
-142
lines changed

test/integ/aio/test_autocommit_async.py

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
from __future__ import annotations
77

8-
import snowflake.connector.aio
9-
108

119
async def exe0(cnx, sql):
1210
return await cnx.cursor().execute(sql)
@@ -164,7 +162,7 @@ async def exe(cnx, sql):
164162
)
165163

166164

167-
async def test_autocommit_parameters(db_parameters):
165+
async def test_autocommit_parameters(db_parameters, conn_cnx):
168166
"""Tests autocommit parameter.
169167
170168
Args:
@@ -174,17 +172,7 @@ async def test_autocommit_parameters(db_parameters):
174172
async def exe(cnx, sql):
175173
return await cnx.cursor().execute(sql.format(name=db_parameters["name"]))
176174

177-
async with snowflake.connector.aio.SnowflakeConnection(
178-
user=db_parameters["user"],
179-
password=db_parameters["password"],
180-
host=db_parameters["host"],
181-
port=db_parameters["port"],
182-
account=db_parameters["account"],
183-
protocol=db_parameters["protocol"],
184-
schema=db_parameters["schema"],
185-
database=db_parameters["database"],
186-
autocommit=False,
187-
) as cnx:
175+
async with conn_cnx(autocommit=False) as cnx:
188176
await exe(
189177
cnx,
190178
"""
@@ -193,17 +181,7 @@ async def exe(cnx, sql):
193181
)
194182
await _run_autocommit_off(cnx, db_parameters)
195183

196-
async with snowflake.connector.aio.SnowflakeConnection(
197-
user=db_parameters["user"],
198-
password=db_parameters["password"],
199-
host=db_parameters["host"],
200-
port=db_parameters["port"],
201-
account=db_parameters["account"],
202-
protocol=db_parameters["protocol"],
203-
schema=db_parameters["schema"],
204-
database=db_parameters["database"],
205-
autocommit=True,
206-
) as cnx:
184+
async with conn_cnx(autocommit=True) as cnx:
207185
await _run_autocommit_on(cnx, db_parameters)
208186
await exe(
209187
cnx,

test/integ/aio/test_converter_null_async.py

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,25 +8,16 @@
88
from datetime import datetime, timedelta, timezone
99
from test.integ.test_converter_null import NUMERIC_VALUES
1010

11-
import snowflake.connector.aio
1211
from snowflake.connector.converter import ZERO_EPOCH
1312
from snowflake.connector.converter_null import SnowflakeNoConverterToPython
1413

1514

16-
async def test_converter_no_converter_to_python(db_parameters):
15+
async def test_converter_no_converter_to_python(conn_cnx):
1716
"""Tests no converter.
1817
1918
This should not translate the Snowflake internal data representation to the Python native types.
2019
"""
21-
async with snowflake.connector.aio.SnowflakeConnection(
22-
user=db_parameters["user"],
23-
password=db_parameters["password"],
24-
host=db_parameters["host"],
25-
port=db_parameters["port"],
26-
account=db_parameters["account"],
27-
database=db_parameters["database"],
28-
schema=db_parameters["schema"],
29-
protocol=db_parameters["protocol"],
20+
async with conn_cnx(
3021
timezone="UTC",
3122
converter_class=SnowflakeNoConverterToPython,
3223
) as con:

test/integ/aio/test_cursor_async.py

Lines changed: 10 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,9 @@ async def test_insert_select(conn, db_parameters, caplog):
188188
assert "Number of results in first chunk: 3" in caplog.text
189189

190190

191-
async def test_insert_and_select_by_separate_connection(conn, db_parameters, caplog):
191+
async def test_insert_and_select_by_separate_connection(
192+
conn, conn_cnx, db_parameters, caplog
193+
):
192194
"""Inserts a record and select it by a separate connection."""
193195
caplog.set_level(logging.DEBUG)
194196
async with conn() as cnx:
@@ -202,20 +204,7 @@ async def test_insert_and_select_by_separate_connection(conn, db_parameters, cap
202204
cnt += int(rec[0])
203205
assert cnt == 1, "wrong number of records were inserted"
204206
assert result.rowcount == 1, "wrong number of records were inserted"
205-
206-
cnx2 = snowflake.connector.aio.SnowflakeConnection(
207-
user=db_parameters["user"],
208-
password=db_parameters["password"],
209-
host=db_parameters["host"],
210-
port=db_parameters["port"],
211-
account=db_parameters["account"],
212-
database=db_parameters["database"],
213-
schema=db_parameters["schema"],
214-
protocol=db_parameters["protocol"],
215-
timezone="UTC",
216-
)
217-
await cnx2.connect()
218-
try:
207+
async with conn_cnx(timezone="UTC") as cnx2:
219208
c = cnx2.cursor()
220209
await c.execute("select aa from {name}".format(name=db_parameters["name"]))
221210
results = []
@@ -225,8 +214,6 @@ async def test_insert_and_select_by_separate_connection(conn, db_parameters, cap
225214
assert results[0] == 1234, "the first result was wrong"
226215
assert result.rowcount == 1, "wrong number of records were selected"
227216
assert "Number of results in first chunk: 1" in caplog.text
228-
finally:
229-
await cnx2.close()
230217

231218

232219
def _total_milliseconds_from_timedelta(td):
@@ -239,7 +226,7 @@ def _total_seconds_from_timedelta(td):
239226
return _total_milliseconds_from_timedelta(td) // 10**3
240227

241228

242-
async def test_insert_timestamp_select(conn, db_parameters):
229+
async def test_insert_timestamp_select(conn, conn_cnx, db_parameters):
243230
"""Inserts and gets timestamp, timestamp with tz, date, and time.
244231
245232
Notes:
@@ -282,19 +269,7 @@ async def test_insert_timestamp_select(conn, db_parameters):
282269
finally:
283270
await c.close()
284271

285-
cnx2 = snowflake.connector.aio.SnowflakeConnection(
286-
user=db_parameters["user"],
287-
password=db_parameters["password"],
288-
host=db_parameters["host"],
289-
port=db_parameters["port"],
290-
account=db_parameters["account"],
291-
database=db_parameters["database"],
292-
schema=db_parameters["schema"],
293-
protocol=db_parameters["protocol"],
294-
timezone="UTC",
295-
)
296-
await cnx2.connect()
297-
try:
272+
async with conn_cnx(timezone="UTC") as cnx2:
298273
c = cnx2.cursor()
299274
await c.execute(
300275
"select aa, tsltz, tstz, tsntz, dt, tm from {name}".format(
@@ -374,8 +349,6 @@ async def test_insert_timestamp_select(conn, db_parameters):
374349
assert (
375350
constants.FIELD_ID_TO_NAME[type_code(desc[5])] == "TIME"
376351
), "invalid column name"
377-
finally:
378-
await cnx2.close()
379352

380353

381354
async def test_insert_timestamp_ltz(conn, db_parameters):
@@ -475,7 +448,7 @@ async def test_struct_time(conn, db_parameters):
475448
time.tzset()
476449

477450

478-
async def test_insert_binary_select(conn, db_parameters):
451+
async def test_insert_binary_select(conn, conn_cnx, db_parameters):
479452
"""Inserts and get a binary value."""
480453
value = b"\x00\xFF\xA1\xB2\xC3"
481454

@@ -490,18 +463,7 @@ async def test_insert_binary_select(conn, db_parameters):
490463
finally:
491464
await c.close()
492465

493-
cnx2 = snowflake.connector.aio.SnowflakeConnection(
494-
user=db_parameters["user"],
495-
password=db_parameters["password"],
496-
host=db_parameters["host"],
497-
port=db_parameters["port"],
498-
account=db_parameters["account"],
499-
database=db_parameters["database"],
500-
schema=db_parameters["schema"],
501-
protocol=db_parameters["protocol"],
502-
)
503-
await cnx2.connect()
504-
try:
466+
async with conn_cnx() as cnx2:
505467
c = cnx2.cursor()
506468
await c.execute("select b from {name}".format(name=db_parameters["name"]))
507469

@@ -524,11 +486,9 @@ async def test_insert_binary_select(conn, db_parameters):
524486
assert (
525487
constants.FIELD_ID_TO_NAME[type_code(desc[0])] == "BINARY"
526488
), "invalid column name"
527-
finally:
528-
await cnx2.close()
529489

530490

531-
async def test_insert_binary_select_with_bytearray(conn, db_parameters):
491+
async def test_insert_binary_select_with_bytearray(conn, conn_cnx, db_parameters):
532492
"""Inserts and get a binary value using the bytearray type."""
533493
value = bytearray(b"\x00\xFF\xA1\xB2\xC3")
534494

@@ -543,18 +503,7 @@ async def test_insert_binary_select_with_bytearray(conn, db_parameters):
543503
finally:
544504
await c.close()
545505

546-
cnx2 = snowflake.connector.aio.SnowflakeConnection(
547-
user=db_parameters["user"],
548-
password=db_parameters["password"],
549-
host=db_parameters["host"],
550-
port=db_parameters["port"],
551-
account=db_parameters["account"],
552-
database=db_parameters["database"],
553-
schema=db_parameters["schema"],
554-
protocol=db_parameters["protocol"],
555-
)
556-
await cnx2.connect()
557-
try:
506+
async with conn_cnx() as cnx2:
558507
c = cnx2.cursor()
559508
await c.execute("select b from {name}".format(name=db_parameters["name"]))
560509

@@ -577,8 +526,6 @@ async def test_insert_binary_select_with_bytearray(conn, db_parameters):
577526
assert (
578527
constants.FIELD_ID_TO_NAME[type_code(desc[0])] == "BINARY"
579528
), "invalid column name"
580-
finally:
581-
await cnx2.close()
582529

583530

584531
async def test_variant(conn, db_parameters):

test/integ/aio/test_dbapi_async.py

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -133,21 +133,10 @@ async def test_exceptions_as_connection_attributes(conn_cnx):
133133
assert con.NotSupportedError == errors.NotSupportedError
134134

135135

136-
async def test_commit(db_parameters):
137-
con = snowflake.connector.aio.SnowflakeConnection(
138-
account=db_parameters["account"],
139-
user=db_parameters["user"],
140-
password=db_parameters["password"],
141-
host=db_parameters["host"],
142-
port=db_parameters["port"],
143-
protocol=db_parameters["protocol"],
144-
)
145-
await con.connect()
146-
try:
136+
async def test_commit(conn_cnx):
137+
async with conn_cnx() as con:
147138
# Commit must work, even if it doesn't do anything
148139
await con.commit()
149-
finally:
150-
await con.close()
151140

152141

153142
async def test_rollback(conn_cnx, db_parameters):
@@ -247,20 +236,9 @@ async def test_rowcount(conn_local):
247236
assert cur.rowcount == 1, "cursor.rowcount should the number of rows returned"
248237

249238

250-
async def test_close(db_parameters):
251-
con = snowflake.connector.aio.SnowflakeConnection(
252-
account=db_parameters["account"],
253-
user=db_parameters["user"],
254-
password=db_parameters["password"],
255-
host=db_parameters["host"],
256-
port=db_parameters["port"],
257-
protocol=db_parameters["protocol"],
258-
)
259-
await con.connect()
260-
try:
239+
async def test_close(conn_cnx):
240+
async with conn_cnx() as con:
261241
cur = con.cursor()
262-
finally:
263-
await con.close()
264242

265243
# commit is currently a nop; disabling for now
266244
# connection.commit should raise an Error if called after connection is

test/integ/aio/test_put_windows_path_async.py

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,7 @@ async def test_abc(conn_cnx, tmpdir, db_parameters):
2121
fileURI = pathlib.Path(test_data).as_uri()
2222

2323
subdir = db_parameters["name"]
24-
async with conn_cnx(
25-
user=db_parameters["user"],
26-
account=db_parameters["account"],
27-
password=db_parameters["password"],
28-
) as con:
24+
async with conn_cnx() as con:
2925
rec = await (
3026
await con.cursor().execute(f"put {fileURI} @~/{subdir}0/")
3127
).fetchall()

test/integ/aio/test_session_parameters_async.py

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,9 @@
1616
CONNECTION_PARAMETERS_ADMIN = {}
1717

1818

19-
async def test_session_parameters(db_parameters):
19+
async def test_session_parameters(conn_cnx):
2020
"""Sets the session parameters in connection time."""
21-
async with snowflake.connector.aio.SnowflakeConnection(
22-
protocol=db_parameters["protocol"],
23-
account=db_parameters["account"],
24-
user=db_parameters["user"],
25-
password=db_parameters["password"],
26-
host=db_parameters["host"],
27-
port=db_parameters["port"],
28-
database=db_parameters["database"],
29-
schema=db_parameters["schema"],
30-
session_parameters={"TIMEZONE": "UTC"},
31-
) as connection:
21+
async with conn_cnx(session_parameters={"TIMEZONE": "UTC"}) as connection:
3222
ret = await (
3323
await connection.cursor().execute("show parameters like 'TIMEZONE'")
3424
).fetchone()

0 commit comments

Comments
 (0)