Skip to content

Commit 741bd1f

Browse files
fix: RDS integration test failures (#2675)
1 parent a6ab07d commit 741bd1f

File tree

1 file changed

+17
-12
lines changed

1 file changed

+17
-12
lines changed

tests/unit/test_sqlserver.py

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
from __future__ import annotations
2+
13
import logging
24
from decimal import Decimal
5+
from typing import Any
36

47
import boto3
58
import pyarrow as pa
@@ -8,6 +11,7 @@
811

912
import awswrangler as wr
1013
import awswrangler.pandas as pd
14+
from awswrangler import _databases as _db_utils
1115

1216
from .._utils import ensure_data_types, get_df, pandas_equals
1317

@@ -17,26 +21,27 @@
1721

1822

1923
@pytest.fixture(scope="module", autouse=True)
20-
def create_sql_server_database(databases_parameters):
24+
def create_sql_server_database(databases_parameters: dict[str, Any]) -> None:
25+
attrs = _db_utils.get_connection_attributes(connection="aws-sdk-pandas-sqlserver")
2126
connection_str = (
2227
f"DRIVER={{ODBC Driver 17 for SQL Server}};"
23-
f"SERVER={databases_parameters['sqlserver']['host']},{databases_parameters['sqlserver']['port']};"
24-
f"UID={databases_parameters['user']};"
25-
f"PWD={databases_parameters['password']}"
28+
f"SERVER={attrs.host},{attrs.port};"
29+
f"UID={attrs.user};"
30+
f"PWD={attrs.password}"
2631
)
27-
con = pyodbc.connect(connection_str, autocommit=True)
32+
33+
database_name = databases_parameters["sqlserver"]["database"]
2834
sql_create_db = (
29-
f"IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = '{databases_parameters['sqlserver']['database']}') "
35+
f"IF NOT EXISTS(SELECT * FROM sys.databases WHERE name = '{database_name}') "
3036
"BEGIN "
31-
f"CREATE DATABASE {databases_parameters['sqlserver']['database']} "
37+
f"CREATE DATABASE {database_name} "
3238
"END"
3339
)
34-
with con.cursor() as cursor:
35-
cursor.execute(sql_create_db)
36-
con.commit()
37-
con.close()
3840

39-
yield
41+
with pyodbc.connect(connection_str, autocommit=True) as con:
42+
with con.cursor() as cursor:
43+
cursor.execute(sql_create_db)
44+
con.commit()
4045

4146

4247
@pytest.fixture(scope="function")

0 commit comments

Comments
 (0)